From 3609a5d81a981289ad8f42e4f476996ee8cb2faf Mon Sep 17 00:00:00 2001 From: Phil Feairheller Date: Wed, 20 Oct 2021 13:59:50 -0400 Subject: [PATCH 001/463] Initial commit --- .github/workflows/main.yml | 32 + .github/workflows/size.yml | 12 + .gitignore | 8 + LICENSE | 21 + README.md | 94 + keri-skwa.iml | 9 + package.json | 63 + src/index.ts | 6 + src/keri/core/SigCounter.ts | 50 + src/keri/core/core.ts | 139 + src/keri/core/cryCounter.ts | 51 + src/keri/core/cryMat.ts | 238 + src/keri/core/derivationCodes.ts | 436 ++ src/keri/core/diger.ts | 64 + src/keri/core/nexter.ts | 146 + src/keri/core/prefixer.ts | 408 ++ src/keri/core/serder.ts | 347 ++ src/keri/core/siger.ts | 34 + src/keri/core/sigmat.ts | 222 + src/keri/core/signer.ts | 186 + src/keri/core/sigver.ts | 38 + src/keri/core/tsconfig.json | 100 + src/keri/core/utls.ts | 95 + src/keri/core/verfer.ts | 54 + src/keri/eventing/Kever.ts | 533 ++ src/keri/eventing/TraitCodex.ts | 349 ++ src/keri/eventing/index.ts | 10 + src/keri/eventing/kevery.ts | 567 ++ src/keri/eventing/tsconfig.json | 100 + src/keri/eventing/util.ts | 40 + src/keri/help/stringToBinary.js | 69 + src/keri/hold/tsconfig.json | 100 + test/core/diger.test.ts | 49 + test/core/prefixer.test.ts | 299 + test/core/serder.test.ts | 340 ++ test/core/verfer.test.ts | 35 + tsconfig.json | 35 + yarn.lock | 9047 ++++++++++++++++++++++++++++++ 38 files changed, 14426 insertions(+) create mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/size.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 keri-skwa.iml create mode 100644 package.json create mode 100644 src/index.ts create mode 100644 src/keri/core/SigCounter.ts create mode 100644 src/keri/core/core.ts create mode 100644 src/keri/core/cryCounter.ts create mode 100644 src/keri/core/cryMat.ts create mode 100644 src/keri/core/derivationCodes.ts create mode 100644 src/keri/core/diger.ts create mode 100644 src/keri/core/nexter.ts create mode 100644 src/keri/core/prefixer.ts create mode 100644 src/keri/core/serder.ts create mode 100644 src/keri/core/siger.ts create mode 100644 src/keri/core/sigmat.ts create mode 100644 src/keri/core/signer.ts create mode 100644 src/keri/core/sigver.ts create mode 100644 src/keri/core/tsconfig.json create mode 100644 src/keri/core/utls.ts create mode 100644 src/keri/core/verfer.ts create mode 100644 src/keri/eventing/Kever.ts create mode 100644 src/keri/eventing/TraitCodex.ts create mode 100644 src/keri/eventing/index.ts create mode 100644 src/keri/eventing/kevery.ts create mode 100644 src/keri/eventing/tsconfig.json create mode 100644 src/keri/eventing/util.ts create mode 100644 src/keri/help/stringToBinary.js create mode 100644 src/keri/hold/tsconfig.json create mode 100644 test/core/diger.test.ts create mode 100644 test/core/prefixer.test.ts create mode 100644 test/core/serder.test.ts create mode 100644 test/core/verfer.test.ts create mode 100644 tsconfig.json create mode 100644 yarn.lock diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..535e4b7c --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,32 @@ +name: CI +on: [push] +jobs: + build: + name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }} + + runs-on: ${{ matrix.os }} + strategy: + matrix: + node: ['10.x', '12.x', '14.x'] + os: [ubuntu-latest, windows-latest, macOS-latest] + + steps: + - name: Checkout repo + uses: actions/checkout@v2 + + - name: Use Node ${{ matrix.node }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node }} + + - name: Install deps and build (with cache) + uses: bahmutov/npm-install@v1 + + - name: Lint + run: yarn lint + + - name: Test + run: yarn test --ci --coverage --maxWorkers=2 + + - name: Build + run: yarn build diff --git a/.github/workflows/size.yml b/.github/workflows/size.yml new file mode 100644 index 00000000..6021cda3 --- /dev/null +++ b/.github/workflows/size.yml @@ -0,0 +1,12 @@ +name: size +on: [pull_request] +jobs: + size: + runs-on: ubuntu-latest + env: + CI_JOB_NUMBER: 1 + steps: + - uses: actions/checkout@v1 + - uses: andresz1/size-limit-action@v1 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5d839572 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.log +.DS_Store +node_modules +dist + + +# IntelliJ Project Files +.idea diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..fa8fb6b3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Phil Feairheller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..c0a91350 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# TSDX User Guide + +Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it. + +> This TSDX setup is meant for developing libraries (not apps!) that can be published to NPM. If you’re looking to build a Node app, you could use `ts-node-dev`, plain `ts-node`, or simple `tsc`. + +> If you’re new to TypeScript, checkout [this handy cheatsheet](https://devhints.io/typescript) + +## Commands + +TSDX scaffolds your new library inside `/src`. + +To run TSDX, use: + +```bash +npm start # or yarn start +``` + +This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`. + +To do a one-off build, use `npm run build` or `yarn build`. + +To run tests, use `npm test` or `yarn test`. + +## Configuration + +Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly. + +### Jest + +Jest tests are set up to run with `npm test` or `yarn test`. + +### Bundle Analysis + +[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`. + +#### Setup Files + +This is the folder structure we set up for you: + +```txt +/src + index.tsx # EDIT THIS +/test + blah.test.tsx # EDIT THIS +.gitignore +package.json +README.md # EDIT THIS +tsconfig.json +``` + +### Rollup + +TSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details. + +### TypeScript + +`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs. + +## Continuous Integration + +### GitHub Actions + +Two actions are added by default: + +- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix +- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit) + +## Optimizations + +Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations: + + +You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions. + +## Module Formats + +CJS, ESModules, and UMD module formats are supported. + +The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found. + +## Named Exports + +Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library. + +## Including Styles + +There are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like. + +For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader. + +## Publishing to NPM + +We recommend using [np](https://github.com/sindresorhus/np). diff --git a/keri-skwa.iml b/keri-skwa.iml new file mode 100644 index 00000000..8021953e --- /dev/null +++ b/keri-skwa.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 00000000..7bb18e24 --- /dev/null +++ b/package.json @@ -0,0 +1,63 @@ +{ + "version": "0.1.0", + "license": "MIT", + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "files": [ + "dist", + "src" + ], + "scripts": { + "start": "tsdx watch", + "build": "tsdx build", + "test": "tsdx test", + "lint": "tsdx lint", + "prepare": "tsdx build", + "size": "size-limit", + "analyze": "size-limit --why" + }, + "peerDependencies": {}, + "husky": { + "hooks": { + "pre-commit": "tsdx lint" + } + }, + "prettier": { + "printWidth": 80, + "semi": true, + "singleQuote": true, + "trailingComma": "es5" + }, + "name": "keri-skwa", + "author": "Phil Feairheller", + "module": "dist/keri-skwa.esm.js", + "size-limit": [ + { + "path": "dist/keri-skwa.cjs.production.min.js", + "limit": "10 KB" + }, + { + "path": "dist/keri-skwa.esm.js", + "limit": "10 KB" + } + ], + "devDependencies": { + "@size-limit/preset-small-lib": "^5.0.4", + "husky": "^7.0.2", + "size-limit": "^5.0.4", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.4.3" + }, + "dependencies": { + "blake3": "^2.1.4", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + } +} diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 00000000..b6e9b85d --- /dev/null +++ b/src/index.ts @@ -0,0 +1,6 @@ +export const sum = (a: number, b: number) => { + if ('development' === process.env.NODE_ENV) { + console.log('boop'); + } + return a + b; +}; diff --git a/src/keri/core/SigCounter.ts b/src/keri/core/SigCounter.ts new file mode 100644 index 00000000..169fcbbc --- /dev/null +++ b/src/keri/core/SigCounter.ts @@ -0,0 +1,50 @@ +export {}; +const codeAndLength = require('./derivationCodes'); +const { SigMat } = require('./sigmat'); +/** + * """ + SigCounter is subclass of SigMat, indexed signature material, + That provides count of following number of attached signatures. + Useful when parsing attached signatures from stream where SigCounter + instance qb64 is inserted after Serder of event and before attached signatures. + + Changes default initialization code = SigCntDex.Base64 + Raises error on init if code not in SigCntDex + + See SigMat for inherited attributes and properties: + + Attributes: + + Properties: + .count is int count of attached signatures (same as .index) + */ +class Sigcounter extends SigMat { + constructor(raw = null, qb64b = null, qb64 = null, qb2 = null, code = codeAndLength.SigCntCodex.Base64, index = null, count = null) { + if (raw) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + raw = Buffer.from('', 'binary'); + } + + if (raw == null && qb64b == null && qb64 == null && qb2 == null) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + raw = Buffer.from('', 'binary'); + } + // # accept either index or count to init index + + if (count) index = count; + // @ts-expect-error ts-migrate(2322) FIXME: Type '1' is not assignable to type 'null'. + if (!index) index = 1; + + super(raw, qb64, qb2, code, index, qb64b); + + if (!(Object.values(codeAndLength.SigCntCodex).includes(this.code()))) { + throw new Error(`Invalid code = ${this.code()} for SigCounter.`); + } + } + + count() { + return this.index(); + } +} + +module.exports = { Sigcounter }; diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts new file mode 100644 index 00000000..2bb14914 --- /dev/null +++ b/src/keri/core/core.ts @@ -0,0 +1,139 @@ +const util = require('./utls'); + +export const VERRAWSIZE = 6; +export const Versionage = {major: 1, minor: 0}; +export const Serialage = {json: '', mgpk: '', cbor: ''}; +export const Vstrings = Serialage; +export const Serials = {json: 'JSON', mgpk: 'MGPK', cbor: 'CBOR'}; + +// # element labels to exclude in digest or signature derivation from inception icp +const IcpExcludes = ['pre']; +// # element labels to exclude in digest or signature derivation from delegated inception dip +const DipExcludes = ['pre']; +const Ilks = { + icp: 'icp', + rot: 'rot', + ixn: 'ixn', + dip: 'dip', + drt: 'drt', + rct: 'rct', + vrc: 'vrc', +}; + +const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", + "bt", "b", "c", "a"]; + +const DipLabels = ["v", "i", "s", "t", "kt", "k", "n", + "bt", "b", "c", "a", "di"]; + +const RotLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", + "bt", "br", "ba", "a"] +const DrtLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", + "bt", "br", "ba", "a"] +const IxnLabels = ["v", "i", "s", "t", "p", "a"] + +const KsnLabels = ["v", "i", "s", "t", "p", "d", "f", "dt", "et", "kt", "k", "n", + "bt", "b", "c", "ee", "di", "r"] + +const RpyLabels = ["v", "t", "d", "dt", "r", "a"] + + +// let mimes = { +// json: "application/keri+json", +// mgpk: "application/keri+msgpack", +// cbor: "application/keri+cbor", +// }; +// let yourNumber = 899 +// let hexString = yourNumber.toString(16); +// let two = '29'.toString(16); +// let three = '39'.toString(16) +// let VERFMT = `KERI${hexString} ${two} ${three}_` /// version format string +const VERFULLSIZE = 17; +const MINSNIFFSIZE = 12 + VERFULLSIZE; +const MINSIGSIZE = 4; + +/** + * @description It will return version string + */ +function versify(version: { major: number, minor: number }, kind = Serials.json, size: number) { + if (!(Object.values(Serials).indexOf(kind) > -1)) { + throw new Error('Invalid serialization kind =' + kind); + } + + if (!version) { + version = Versionage; + } + + const hex1 = version.major.toString(16); + const hex2 = version.minor.toString(16); + const kindHex = kind; + const hex3 = util.pad(size.toString(16), VERRAWSIZE); + + return `KERI${hex1}${hex2}${kindHex}${hex3}_`; +} + +Vstrings.json = versify(Versionage, Serials.json, 0); +Vstrings.mgpk = versify(Versionage, Serials.mgpk, 0); +Vstrings.cbor = versify(Versionage, Serials.cbor, 0); + +// const version_pattern = 'KERI(?P[0-9a-f])(?P[0-9a-f]) +// (?P[A-Z]{4})(?P[0-9a-f]{6})' +// const version_pattern1 = `KERI\(\?P\[0\-9a\-f\]\)\(\?P\[0\-9a\-f\]\)\ +// (\?P\[A\-Z\]\{4\}\)\(\?P\[0\-9a\-f\]\{6\}\)_` + +const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})'; + +// Regex pattern matching + +/** + * @description This function is use to deversify the version + * Here we will use regex to to validate and extract serialization kind,size and version + * @param {string} vs version string + * @return {Object} contaning kind of serialization like cbor,json,mgpk + * version = version of object ,size = raw size integer + */ +function deversify(versionString: string) { + let kind; + let size; + const version = Versionage; + + // we need to identify how to match the buffers pattern ,like we do regex matching for strings + const re = new RegExp(VEREX); + + const match = re.exec(versionString); + + if (match) { + [version.major, version.minor, kind, size] = [ + +match[1], + +match[2], + match[3], + match[4], + ]; + if (!Object.values(Serials).includes(kind)) { + throw new Error(`Invalid serialization kind = ${kind}`); + } + return [kind, version, size]; + } + throw new Error(`Invalid version string = ${versionString}`); +} + +module.exports = { + deversify, + versify, + Versionage, + Ilks, + Serialage, + Serials, + IcpLabels, + DipLabels, + RotLabels, + DrtLabels, + IxnLabels, + KsnLabels, + RpyLabels, + Vstrings, + MINSNIFFSIZE, + MINSIGSIZE, + IcpExcludes, + DipExcludes, +}; diff --git a/src/keri/core/cryCounter.ts b/src/keri/core/cryCounter.ts new file mode 100644 index 00000000..4b444aa6 --- /dev/null +++ b/src/keri/core/cryCounter.ts @@ -0,0 +1,51 @@ +export {}; +const { Crymat } = require('./cryMat'); +const { CryCntCodex } = require('./derivationCode&Length'); + +/** + * @description : CryCounter is subclass of CryMat, cryptographic material, + CryCrount provides count of following number of attached cryptographic + material items in its .count property. + Useful when parsing attached receipt couplets from stream where CryCounter + instance qb64 is inserted after Serder of receipt statement and + before attached receipt couplets. + */ +class CryCounter extends Crymat { + constructor( + raw = null, + qb64b = null, + qb64 = null, + qb2 = null, + code = CryCntCodex.Base64, + index = null, + count = null, + ...kwf: any[] + ) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + if (raw != null) raw = Buffer.from('', 'binary'); + if (raw == null && qb64 == null && qb64b == null && qb2 == null) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + raw = Buffer.from('', 'binary'); + } + + if (count != null) index = count; + // @ts-expect-error ts-migrate(2322) FIXME: Type '1' is not assignable to type 'null'. + if (index == null) index = 1; + + super(raw, qb64, qb2, code, index, count, ...kwf); + if (!Object.values(CryCntCodex).includes(this.code())) { + throw new Error(`Invalid code = ${this.code()} for CryCounter.`); + } + } + + /** + * @description Property counter: + Returns .index as count + Assumes ._index is correctly assigned + */ + count() { + return this.index(); + } +} + +module.exports = { CryCounter }; diff --git a/src/keri/core/cryMat.ts b/src/keri/core/cryMat.ts new file mode 100644 index 00000000..4793a4ec --- /dev/null +++ b/src/keri/core/cryMat.ts @@ -0,0 +1,238 @@ +/* eslint-disable no-underscore-dangle */ +const Base64 = require('urlsafe-base64'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'codeAndLen... Remove this comment to see the full error message +const codeAndLength = require('./derivationCodes'); +const { b64ToInt, intToB64 } = require('../help/stringToBinary'); +// const util = require("util"); +// const encoder = new util.TextEncoder("utf-8"); +/** + * @description CRYPTOGRAPHC MATERIAL BASE CLASS + * @subclasses provides derivation codes and key event element context specific + * @Properties + * .code str derivation code to indicate cypher suite + .raw bytes crypto material only without code + .pad int number of pad chars given raw + .qb64 str in Base64 with derivation code and crypto material + .qb2 bytes in binary with derivation code and crypto material + */ +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Crymat'. +class Crymat { + getCode: any; + getIndex: any; + getRaw: any; + getqb64: any; + constructor( + raw = null, + qb64 = null, + qb2 = null, + code = codeAndLength.oneCharCode.Ed25519N, + index = 0 + ) { + /* + Validate as fully qualified + Parameters: + raw is bytes of unqualified crypto material usable for crypto operations + qb64 is str of fully qualified crypto material + qb2 is bytes of fully qualified crypto material + code is str of derivation code + + When raw provided then validate that code is correct for length of raw + and assign .raw + Else when qb64 or qb2 provided extract and assign .raw and .code + */ + if (raw) { + if (!(Buffer.isBuffer(raw) || Array.isArray(raw))) { + throw new Error(`Not a bytes or bytearray, raw= ${raw}.`); + } + + const pad = this._pad(raw); + if ( + !( + (pad === 1 && + Object.values(JSON.stringify(codeAndLength.CryOneSizes)).includes( + code + )) || + (pad === 2 && + Object.values( + JSON.stringify(codeAndLength.CryTwoSizes).includes(code) + )) || + (pad === 0 && + Object.values( + JSON.stringify(codeAndLength.CryFourSizes).includes(code) + )) + ) + ) { + throw new Error(`Wrong code= ${code} for raw= ${raw} .`); + } + if ( + (Object.values(codeAndLength.CryCntCodex).includes(code) && + index < 0) || + index > codeAndLength.CRYCNTMAX + ) { + throw new Error(`Invalid index=${index} for code=${code}.`); + } + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + raw = raw.slice(0, codeAndLength.cryAllRawSizes[code]); + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if (raw.length !== codeAndLength.cryAllRawSizes[code]) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + throw new Error(`Unexpected raw size= ${raw.length} for code= ${code}" + " not size= ${codeAndLength.cryAllRawSizes[code]}.`); + } + this.getCode = code; + this.getIndex = index; + this.getRaw = raw; // crypto ops require bytes not bytearray + } else if (qb64 != null) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + qb64 = qb64.toString('utf-8'); + this.exfil(qb64); + } else if (qb2 != null) { + this.exfil(Base64.encode(qb2)); + } else { + throw new Error('Improper initialization need raw or b64 or b2.'); + } + } + + // eslint-disable-next-line no-underscore-dangle + // eslint-disable-next-line class-methods-use-this + _pad(raw: any) { + const reminder = Buffer.byteLength(raw, 'binary') % 3; // length for bytes + if (reminder === 0) { + return 0; + } + return 3 - reminder; + } + + exfil(qb64: any) { + const base64Pad = '='; + let cs = 1; // code size + let codeSlice = qb64.slice(0, cs); + let index; + + if (Object.values(codeAndLength.oneCharCode).includes(codeSlice)) { + qb64 = qb64.slice(0, codeAndLength.CryOneSizes[codeSlice]); + } else if (codeSlice === codeAndLength.crySelectCodex.two) { + cs += 1; + codeSlice = qb64.slice(0, cs); + + if (!Object.values(codeAndLength.twoCharCode).includes(codeSlice)) { + throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); + } + + qb64 = qb64.slice(0, codeAndLength.CryTwoSizes[codeSlice]); + } else if (codeSlice === codeAndLength.crySelectCodex.four) { + cs += 3; + codeSlice = qb64.slice(0, cs); + + if (!Object.values(codeAndLength.fourCharCode).includes(codeSlice)) { + throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); + } + qb64 = qb64.slice(0, codeAndLength.CryFourSizes[codeSlice]); + } else if (codeSlice === codeAndLength.crySelectCodex.dash) { + cs += 1; + codeSlice = qb64.slice(0, cs); + + if (!Object.values(codeAndLength.CryCntCodex).includes(codeSlice)) { + throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); + } + + qb64 = qb64.slice(0, codeAndLength.CryCntSizes[codeSlice]); + cs += 2; // increase code size + index = b64ToInt(qb64.slice(cs - 2, cs)); + // index = Object.keys(codeAndLength.b64ChrByIdx).find(key => + // codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) // last two characters for index + } else { + throw new Error(`Improperly coded material = ${qb64}`); + } + + if (qb64.length !== codeAndLength.cryAllSizes[codeSlice]) { + throw new Error( + `Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${codeAndLength.cryAllSizes[codeSlice]}.` + ); + } + const derivedRaw = Base64.decode( + // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. + qb64.slice(cs, qb64.length) + base64Pad.repeat(cs % 4).toString('utf-8') + ); + + if (derivedRaw.length !== Math.floor(((qb64.length - cs) * 3) / 4)) { + throw new Error(`Improperly qualified material = ${qb64}`); + } + this.getCode = codeSlice; + this.getRaw = Buffer.from(derivedRaw, 'binary'); // encode + // eslint-disable-next-line radix + this.getIndex = parseInt(index); + this.getqb64 = qb64; + } + + infil() { + let l = null; + let full = this.getCode; + if (Object.values(codeAndLength.CryCntCodex).includes(this.getCode)) { + l = codeAndLength.CryCntIdxSizes[this.getCode]; + full = `${this.getCode}${intToB64(this.getIndex, l)}`; + } + + const pad = this.pad(); + // Validate pad for code length + if (full.length % 4 !== pad) { + throw new Error( + `Invalid code = ${this.getCode} for converted raw pad = ${this.pad()}.` + ); + } + return full + Base64.encode(this.getRaw); + } + + /** + * qb64 = Qualified Base64 version,this will return qualified base64 version assuming + self.raw and self.code are correctly populated + */ + qb64() { + return this.infil(); + } + + /** + * """ + Property qb64b: + Returns Fully Qualified Base64 Version encoded as bytes + Assumes self.raw and self.code are correctly populated + """ + */ + qb64b() { + return Buffer.from(this.qb64(), 'binary'); // encode + } + + qb2() { + /* Property qb2: + Returns Fully Qualified Binary Version Bytes + redo to use b64 to binary decode table since faster + """ + # rewrite to do direct binary infiltration by + # decode self.code as bits and prepend to self.raw + */ + + return Base64.decode(Buffer.from(this.infil(), 'binary')).toString(); + // check here + } + + raw() { + return this.getRaw; + } + + pad() { + // eslint-disable-next-line no-underscore-dangle + return this._pad(this.getRaw); + } + + code() { + return this.getCode; + } + + index() { + return this.getIndex; + } +} + +module.exports = { Crymat }; diff --git a/src/keri/core/derivationCodes.ts b/src/keri/core/derivationCodes.ts new file mode 100644 index 00000000..c0ae24de --- /dev/null +++ b/src/keri/core/derivationCodes.ts @@ -0,0 +1,436 @@ +'use strict'; +export {}; + +const oneCharCode = { + Ed25519_Seed: 'A', // Ed25519 256 bit random seed for private key + Ed25519N: 'B', // Ed25519 verification key non-transferable, basic derivation. + X25519: 'C', // X25519 public encryption key, converted from Ed25519. + Ed25519: 'D', // Ed25519 verification key basic derivation + Blake3_256: 'E', // Blake3 256 bit digest self-addressing derivation. + Blake2b_256: 'F', // Blake2b 256 bit digest self-addressing derivation. + Blake2s_256: 'G', // Blake2s 256 bit digest self-addressing derivation. + SHA3_256: 'H', // SHA3 256 bit digest self-addressing derivation. + SHA2_256: 'I', // SHA2 256 bit digest self-addressing derivation. + ECDSA_secp256k1_Seed: 'J', // ECDSA secp256k1 448 bit random Seed for private key + Ed448_Seed: 'K', // Ed448 448 bit random Seed for private key + X448: 'L', // X448 public encryption key, converted from Ed448 +}; + +const CryOneSizes = { + A: 44, + B: 44, + C: 44, + D: 44, + E: 44, + F: 44, + G: 44, + H: 44, + I: 44, + J: 44, + K: 76, + L: 76, +}; + +// Mapping of Code to Size +const CryOneRawSizes = { + A: 32, + B: 32, + C: 32, + D: 32, + E: 32, + F: 32, + G: 32, + H: 32, + I: 32, + J: 32, + K: 56, + L: 56, +}; + +const twoCharCode = { + Seed_128: '0A', // 128 bit random seed. + Ed25519: '0B', // Ed25519 signature. + ECDSA_256k1: '0C', // ECDSA secp256k1 signature. +}; + +const CryTwoSizes = { + '0A': 24, + '0B': 88, +}; + +const CryTwoRawSizes = { + '0A': 16, + '0B': 64, +}; + +const fourCharCode = { + ECDSA_256k1N: '1AAA', // ECDSA secp256k1 verification key non-transferable, basic derivation. + ECDSA_256k1: '1AAB', // Ed25519 public verification or encryption key, basic derivation +}; + +const CryFourSizes = { + '1AAA': 48, + '1AAB': 48, +}; + +const CryFourRawSizes = { + '1AAA': 33, + '1AAB': 33, +}; + +const crySelectCodex = { + two: '0', + four: '1', + dash: '-', +}; + +const cryAllSizes = { + A: 44, + B: 44, + C: 44, + D: 44, + E: 44, + F: 44, + G: 44, + H: 44, + I: 44, + J: 44, + K: 76, + L: 76, + '0A': 24, + '0B': 88, + '1AAA': 48, + '1AAB': 48, + '-A': 4, + '-B': 4, +}; + +const cryAllRawSizes = { + '-A': 0, + '-B': 0, + A: 32, + B: 32, + C: 32, + D: 32, + E: 32, + F: 32, + G: 32, + H: 32, + I: 32, + J: 32, + K: 56, + L: 56, + '0A': 16, + '0B': 64, + '1AAA': 33, + '1AAB': 33, +}; + +const CryCntSizes = { + '-A': 4, + '-B': 4, +}; + +// size of index portion of code qb64 +const CryCntIdxSizes = { + '-A': 2, + '-B': 2, +}; + +// total size of raw unqualified +const CryCntRawSizes = { + '-A': 0, + '-B': 0, +}; + +const CRYCNTMAX = 4095; // maximum count value given two base 64 digits + +/* + """ + CryCntCodex codex of four character length derivation codes that indicate + count (number) of attached receipt couplets following a receipt statement . + Only provide defined codes. + Undefined are left out so that inclusion(exclusion) via 'in' operator works. + .raw is empty + + Note binary length of everything in CryCntCodex results in 0 Base64 pad bytes. + + First two code characters select format of attached signatures + Next two code charaters select count total of attached signatures to an event + Only provide first two characters here + """ + */ + +const CryCntCodex = { + Base64: '-A', // Fully Qualified Base64 Format Receipt Couplets. + Base2: '-B', // Fully Qualified Base2 Format Receipt Couplets. +}; + +// = { +// '0': '52', '1': '53', '2': '54', '3': '55', '4': '56', '5': '57', +// '6': '58', '7': '59', '8': '60', '9': '61', +// A: '0', B: '1', C: '2', D: '3', E: '4', F: '5', G: '6', H: '7', I: '8', +// J: '9', K: '10', L: '11', M: '12', N: '13', O: '14', P: '15', Q: '16', R: '17', S: '18', +// T: '19', U: '20', V: '21', W: '22', X: '23', Y: '24', Z: '25', +// a: '26', b: '27', c: '28', d: '29', e: '30', f: '31', +// g: '32', h: '33', i: '34', j: '35', k: '36', l: '37', +// m: '38', n: '39', o: '40', p: '41', q: '42', r: '43', s: '44', +// t: '45', u: '46', v: '47', w: '48', x: '49', +// y: '50', z: '51', '-': '62', _: '63' +// } + +// =================================SIG Derivation codes started ============= + +const SigSelectCodex = { + four: '0', // # use four character table. + five: '1', // # use five character table. + six: '2', // # use six character table. + dash: '-', // # use signature count table +}; + +const SigTwoCodex = { + Ed25519: 'A', // Ed25519 signature. + ECDSA_256k1: 'B', //# ECDSA secp256k1 signature. +}; + +//# Mapping of Code to Size +const SigTwoSizes = { + A: 88, + B: 88, +}; + +//# size of index portion of code qb64 +const SigTwoIdxSizes = { + A: 1, + B: 1, +}; + +const SigTwoRawSizes = { + A: 64, + B: 64, +}; + +const SIGTWOMAX = 63; // # maximum index value given one base64 digit + +const SigFourCodex = { + /* + SigFourCodex codex of four character length derivation codes + Only provide defined codes. + Undefined are left out so that inclusion(exclusion) via 'in' operator works. + Note binary length of everything in SigFourCodex results in 0 Base64 pad bytes. + First two code characters select signature cipher suite + Next two code charaters select index into current signing key list + Only provide first two characters here + """ */ + Ed448: '0A', // # Ed448 signature. +}; + +const SigFourSizes = { + '0A': 156, +}; + +// # size of index portion of code qb64 +const SigFourIdxSizes = { + '0A': 2, +}; + +const SigFourRawSizes = { + '0A': 114, +}; + +const SigFiveCodex = { + /* +Five codex of five character length derivation codes +Only provide defined codes. Undefined are left out so that inclusion +exclusion via 'in' operator works. + +Note binary length of everything in Four results in 0 Base64 pad bytes. + +First three code characters select signature cipher suite +Next two code charaters select index into current signing key list +Only provide first three characters here +""" +*/ +}; + +const SigFiveSizes = {}; +const SigFiveIdxSizes = {}; +const SigFiveRawSizes = {}; + +const SIGFOURMAX = 4095; // # maximum index value given two base 64 digits +const SigCntCodex = { + /* + SigCntCodex codex of four character length derivation codes that indicate + count (number) of attached signatures following an event . + Only provide defined codes. + Undefined are left out so that inclusion(exclusion) via 'in' operator works. + .raw is empty + + Note binary length of everything in SigCntCodex results in 0 Base64 pad bytes. + + First two code characters select format of attached signatures + Next two code charaters select count total of attached signatures to an event + Only provide first two characters here + */ + Base64: '-A', // # Fully Qualified Base64 Format Signatures. + Base2: '-B', // # Fully Qualified Base2 Format Signatures. +}; + +// # Mapping of Code to Size +// # Total size qb64 +const SigCntSizes = { + '-A': 4, + '-B': 4, +}; + +// # size of index portion of code qb64 +const SigCntIdxSizes = { + '-A': 2, + '-B': 2, +}; + +// # total size of raw unqualified +const SigCntRawSizes = { + '-A': 0, + '-B': 0, +}; + +const SIGCNTMAX = 4095; // # maximum count value given two base 64 digits + +const SigIdxSizes = { + '-A': 2, + '-B': 2, + A: 1, + B: 1, + '0A': 2, +}; + +const SigSizes = { + '-A': 4, + '-B': 4, + A: 88, + B: 88, + '0A': 156, +}; + +const SigRawSizes = { + '-A': 0, + '-B': 0, + A: 64, + B: 64, + '0A': 114, +}; +const SIGFIVEMAX = 4095; +const b64ChrByIdx = { + 0: 'A', + 1: 'B', + 2: 'C', + 3: 'D', + 4: 'E', + 5: 'F', + 6: 'G', + 7: 'H', + 8: 'I', + 9: 'J', + 10: 'K', + 11: 'L', + 12: 'M', + 13: 'N', + 14: 'O', + 15: 'P', + 16: 'Q', + 17: 'R', + 18: 'S', + 19: 'T', + 20: 'U', + 21: 'V', + 22: 'W', + 23: 'X', + 24: 'Y', + 25: 'Z', + 26: 'a', + 27: 'b', + 28: 'c', + 29: 'd', + 30: 'e', + 31: 'f', + 32: 'g', + 33: 'h', + 34: 'i', + 35: 'j', + 36: 'k', + 37: 'l', + 38: 'm', + 39: 'n', + 40: 'o', + 41: 'p', + 42: 'q', + 43: 'r', + 44: 's', + 45: 't', + 46: 'u', + 47: 'v', + 48: 'w', + 49: 'x', + 50: 'y', + 51: 'z', + 52: '0', + 53: '1', + 54: '2', + 55: '3', + 56: '4', + 57: '5', + 58: '6', + 59: '7', + 60: '8', + 61: '9', + 62: '-', + 63: '_', +}; + + + +module.exports = { + oneCharCode, + CryOneSizes, + CryOneRawSizes, + twoCharCode, + CryTwoSizes, + CryTwoRawSizes, + fourCharCode, + CryFourSizes, + CryFourRawSizes, + crySelectCodex, + cryAllSizes, + CryCntSizes, + CryCntIdxSizes, + CryCntRawSizes, + CRYCNTMAX, + CryCntCodex, + cryAllRawSizes, + b64ChrByIdx, + SigTwoCodex, + SigSelectCodex, + SigTwoSizes, + SigTwoIdxSizes, + SigTwoRawSizes, + SIGTWOMAX, + SigFourCodex, + SIGFOURMAX, + SigCntCodex, + SigCntSizes, + SigCntIdxSizes, + SigCntRawSizes, + SIGCNTMAX, + SigIdxSizes, + SigSizes, + SigRawSizes, + SigFourSizes, + SigFiveSizes, + SigFiveIdxSizes, + SigFiveRawSizes, + SigFourIdxSizes, + SigFourRawSizes, + SigFiveCodex, + SIGFIVEMAX, +}; diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts new file mode 100644 index 00000000..5d99077f --- /dev/null +++ b/src/keri/core/diger.ts @@ -0,0 +1,64 @@ +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'blake3'. +const blake3 = require('blake3'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Crymat'. +const { Crymat } = require('./cryMat'); +const derivationCode = require('./derivationCodes'); + +/** + * @description : Diger is subset of Crymat and is used to verify the digest of serialization + * It uses .raw : as digest + * .code as digest algorithm + * + */ +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Diger'. +class Diger extends Crymat { + verifyFunc: any; + // This constructor will assign digest verification function to ._verify + constructor(raw = null, ser = null, code = derivationCode.oneCharCode.Blake3_256, qb64 = null) { + try { + super(raw, qb64, null, code, 0); + } catch (error:any) { + if (!ser) { + throw new Error(error); + } + if (code === derivationCode.oneCharCode.Blake3_256) { + const hasher = blake3.createHash(); + // let dig = blake3.hash(ser); + const dig = hasher.update(ser).digest(''); + super(dig , null , null, code,0); + } else { + throw new Error(`Unsupported code = ${code} for digester.`); + } + } + + if (code === derivationCode.oneCharCode.Blake3_256) { + this.verifyFunc = this.blake3_256; + } else { + throw new Error(`Unsupported code = ${code} for digester.`); + } + } + + + + /** + * + * @param {bytes} ser serialization bytes + * @description This method will return true if digest of bytes serialization ser matches .raw + * using .raw as reference digest for ._verify digest algorithm determined + by .code + */ + verify(ser: any) { + + return this.verifyFunc(ser, this.raw()); + } + + + blake3_256(ser: any, dig: any) { + + const hasher = blake3.createHash(); + // let dig = blake3.hash(ser); + let digest = hasher.update(ser).digest(''); + return (digest.toString() === dig.toString()); + } +} +module.exports = { Diger }; diff --git a/src/keri/core/nexter.ts b/src/keri/core/nexter.ts new file mode 100644 index 00000000..4de531a5 --- /dev/null +++ b/src/keri/core/nexter.ts @@ -0,0 +1,146 @@ +export {}; +const _ = require('lodash'); +const { Diger } = require('./diger'); +const codeAndLength = require('./derivationCodes'); + +let getSer; +let getSith: any; +let getKeys: any; +/** + * @description Nexter is Diger subclass with support to create itself from + next sith and next keys + */ + +class Nexter extends Diger { + /** + * + Assign digest verification function to ._verify + + See CryMat for inherited parameters + + Parameters: + ser is bytes serialization from which raw is computed if not raw + sith is int threshold or lowercase hex str no leading zeros + keys is list of keys each is qb64 public key str + + Raises error if not any of raw, ser, keys, ked + + if not raw and not ser + If keys not provided + get keys from ked + + If sith not provided + get sith from ked + but if not ked then compute sith as simple majority of keys + */ + constructor( + ser = null, + sith = null, + keys = null, + ked = null, + qb64 = null, + code = codeAndLength.oneCharCode.Blake3_256, + ) { + try { + super(null, ser, code, qb64); + } catch (error) { + if (!keys && !ked) { + throw error; + } + [getSer, getSith, getKeys] = deriveSer(sith, keys, ked); + + super(null, getSer); + } + if (getSith) { + this.getSith = _.cloneDeep(getSith); + } else this.getSith = null; + if (getKeys) this.getKeys = _.cloneDeep(getKeys); + else this.getKeys = null; + } + + /** + * """ Property ._sith getter """ + */ + sith() { + return this.getSith; + } + + /** + * """ Property ._keys getter """ + */ + keys() { + return this.getKeys; + } + + // eslint-disable-next-line class-methods-use-this + derive(sith = null, keys = null, ked = null) { + return deriveSer(sith, keys, ked); + } + + /** + * @description Returns True if digest of bytes serialization ser matches .raw + using .raw as reference digest for ._verify digest algorithm determined + by .code If ser not provided then extract ser from either (sith, keys) or ked + * @param {*} ser + * @param {*} sith + * @param {*} keys + * @param {*} ked + */ + verify( + ser = Buffer.from('', 'binary'), + sith = null, + keys = null, + ked = null, + ) { + let derivedSer; + // let derivedSith; + // let derivedKeys; + if (!ser) { + [derivedSer, , ] = this.derive(sith, keys, ked); + } + + return this.verifyFunc(derivedSer, this.raw()); + } +} + +/** +* +@description Returns serialization derived from sith, keys, or ked +*/ +function deriveSer(sith: any, keys: any, ked: any) { + let nxts = []; + if (!keys) { + try { + keys = ked.keys; + } catch (error) { + throw new Error(`Error extracting keys from ked = ${error}`); + } + } + if (!keys) throw new Error('"Keys not found"'); + if (!sith) { + try { + sith = ked.sith; + } catch (error) { + sith = Math.max(1, Math.ceil(keys.length / 2)); + } + } + if (sith instanceof Array) { + throw new Error(`List form of sith = ${sith} not yet supporte`); + } else { + try { + sith = parseInt(sith, 16); + } catch (error:any) { throw new Error(error); } + sith = Math.max(1, sith); + sith = sith.toString(16); + } + + nxts = [Buffer.from(sith, 'binary')]; // create list to concatenate for hashing sith.toString("utf-8") + keys.forEach((key: any) => { + nxts.push(Buffer.from(key, 'binary')); + }); + getSer = Buffer.from(nxts.join(''), 'binary'); + + return [getSer, sith, keys]; +} + +module.exports = { Nexter }; diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts new file mode 100644 index 00000000..6156dce1 --- /dev/null +++ b/src/keri/core/prefixer.ts @@ -0,0 +1,408 @@ +/* eslint-disable class-methods-use-this */ +/* eslint-disable no-underscore-dangle */ +export {}; +const blake3 = require('blake3'); +const libsodium = require('libsodium-wrappers-sumo'); +const { Crymat } = require('./cryMat'); +const { extractValues } = require('./utls'); +const derivationCodes = require('./derivationCodes'); +const { Verfer } = require('./verfer'); + +const { Sigver } = require('./sigver'); +const { Ilks, IcpLabels, DipLabels, IcpExcludes } = require('./core'); +const { Serder } = require('./serder'); +const { Signer } = require('./signer'); + +/** + * @description Prefixer is CryMat subclass for autonomic identifier prefix using basic derivation + from public key + inherited attributes and properties: + Attributes: + Properties: + Methods:verify(): Verifies derivation of aid + */ + +class Prefixer extends Crymat { + // elements in digest or signature derivation from inception icp + // IcpLabels ["sith", "keys", "nxt", "toad", "wits", "cnfg"] + + // elements in digest or signature derivation from delegated inception dip + // DipLabels ["sith", "keys", "nxt", "toad", "wits", "perm", "seal"] + + /** + * @description // This constructor will assign + * ._verify to verify derivation of aid = .qb64 + */ + constructor( + raw = null, + code = derivationCodes.oneCharCode.Ed25519N, + ked = null, + seed = null, + secret = null, + qb64 = null, + qb2 = null, + ) { + let deriveFunc = null; + + try { + super(raw, qb64, qb2, code); + } catch (error) { + if (!(ked || code)) throw error; // throw error if no ked found + + if (code === derivationCodes.oneCharCode.Ed25519N) { + deriveFunc = DeriveBasicEd25519N; + } else if (code === derivationCodes.oneCharCode.Ed25519) { + deriveFunc = DeriveBasicEd25519; + } else if (code === derivationCodes.oneCharCode.Blake3_256) { + deriveFunc = DeriveDigBlake3_256; + } else if (code === derivationCodes.twoCharCode.Ed25519) { + deriveFunc = DeriveSigEd25519; + } else throw new Error(`Unsupported code = ${code} for prefixer.`); + + const verfer = deriveFunc(ked, seed, secret); // else obtain AID using ked + super(verfer.raw, null, null, verfer.code, 0); + } + + if (this.getCode === derivationCodes.oneCharCode.Ed25519N) { + this.verifyDerivation = this.VerifyBasicEd25519N; + } else if (this.getCode === derivationCodes.oneCharCode.Ed25519) { + this.verifyDerivation = this.VerifyBasicEd25519; + } else if (this.getCode === derivationCodes.oneCharCode.Blake3_256) { + this.verifyDerivation = this.verifyDigBlake3_256; + } else if (this.getCode === derivationCodes.twoCharCode.Ed25519) { + this.verifyDerivation = this.VerifySigEd25519; + } else throw new Error(`Unsupported code = ${this.code()} for prefixer.`); + } + + static async initLibsodium() { + await libsodium.ready; + } + + /** + * @description Returns tuple (raw, code) of basic nontransferable + * Ed25519 prefix (qb64) as derived from key event dict ke + * @param {*} ked ked is inception key event dict + * @param {*} seed seed is only used for sig derivation it is the secret key/secret + * @param {*} secret secret or private key + */ + // @ts-expect-error ts-migrate(7023) FIXME: 'derive' implicitly has return type 'any' because ... Remove this comment to see the full error message + derive(ked: any, seed = null, secret = null) { + return this.derive(ked, seed, secret); + } + + /** + * @description This function will return TRUE if derivation from iked for .code matches .qb64 + * @param {*} ked inception key event dict + */ + verify(ked: any) { + return this.verifyDerivation(ked, this.qb64()); + } + + /** + * @description This will return True if verified raises exception otherwise + Verify derivation of fully qualified Base64 pre from inception iked dict + * @param {*} ked ked is inception key event dict + * @param {*} pre pre is Base64 fully qualified prefix + */ + // eslint-disable-next-line class-methods-use-this + VerifyBasicEd25519N(ked: any, pre: any) { + let keys = null; + + try { + keys = ked.keys; + if (keys.length !== 1) { + return false; + } + if (keys[0] !== pre) { return false; } + if (ked.nxt) { + return false; } + } catch (e) { + return false; + } + return true; + } + + /** + * @description Returns True if verified raises exception otherwise + Verify derivation of fully qualified Base64 prefix from + inception key event dict (ked) + * @param {*} ked ked is inception key event dict + * @param {*} pre pre is Base64 fully qualified prefix + */ + // eslint-disable-next-line class-methods-use-this + VerifyBasicEd25519(ked: any, pre: any) { + const { keys } = ked; + try { + if (keys.length !== 1) return false; + if (keys[0] !== pre) { + return false; + } + } catch (e) { + return false; + } + return true; + } + + /** + * @description : Verify derivation of fully qualified Base64 prefix from + inception key event dict (ked). returns TRUE if verified else raise exception + * @param {*} ked ked is inception key event dict + * @param {*} pre pre is Base64 fully qualified prefix + */ + // eslint-disable-next-line camelcase + verifyDigBlake3_256(ked: any, pre: any) { + // @ts-expect-error ts-migrate(2569) FIXME: Type 'string' is not an array type or a string typ... Remove this comment to see the full error message + let [raw, code, response, crymat] = ''; + try { + response = DeriveDigBlake3_256(ked); + raw = response.raw; + code = response.code; + + crymat = new Crymat(raw, null, null, code); + if (crymat.qb64() !== pre) return false; + } catch (error) { + return false; + } + return true; + } + + /** +* @description : Verify derivation of fully qualified Base64 prefix from + inception key event dict (ked). returns TRUE if verified else raise exception + * @param {*} ked ked is inception key event dict + * @param {*} pre pre is Base64 fully qualified prefix + */ + // eslint-disable-next-line no-underscore-dangle + // eslint-disable-next-line class-methods-use-this + VerifySigEd25519(ked: any, pre: any) { + let ilk = null; + let labels; + let values; + let ser; + const keys = ked.keys; + let verfer; + let sigver = null; + try { + ilk = ked.ilk; + if (ilk === Ilks.icp) labels = IcpLabels; + if (ilk === Ilks.icp) labels = DipLabels; + else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); + + for (const l in labels) { + if (!Object.values(ked).includes(l)) { + throw new Error(`Missing element = ${l} from ked.`); + } + } + + + values = extractValues(ked, labels); + ser = Buffer.from(''.concat(values), 'utf-8'); + try { + if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); + verfer = new Verfer(null, keys[0]); + } catch (e) { + throw new Error(`Error extracting public key = ${e}`); + } + if ( + !Object.values(derivationCodes.oneCharCode.Ed25519).includes( + verfer.code(), + ) + ) { + throw new Error(`Invalid derivation code = ${verfer.code()}`); + } + + sigver = new Sigver( + null, + derivationCodes.twoCharCode.Ed25519, + verfer, + 0, + pre, + ); + const result = sigver.verfer().verify(sigver.raw(), ser); + return result; + } catch (exception) { + return false; + } + } +} + +/** + * @description Returns tuple raw, code of basic Ed25519 prefix (qb64) + as derived from key event dict ked + * @param {*} ked + * @param {*} _seed + * @param {*} _secret + */ +function DeriveBasicEd25519( + ked: any, + _seed = null, + _secret = null, + _code = derivationCodes.oneCharCode.Ed25519, +) { + let verfer = null; + let keys; + try { + keys = ked.keys; + if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); + + verfer = new Verfer(null, keys[0]); + } catch (e) { + throw new Error(`Error extracting public key = ${e}`); + } + + if ( + !Object.values(derivationCodes.oneCharCode.Ed25519).includes(verfer.code()) + ) { + throw new Error(`Invalid derivation code = ${verfer.code()}.`); + } + + return { raw: verfer.raw(), code: verfer.code() }; +} + +/** + * @descriptionReturns return (raw, code) of basic nontransferable Ed25519 prefix (qb64) + * @param {*} ked ked is inception key event dict + * @param {*} seed seed is only used for sig derivation it is the secret key/secret + * @param {*} secret secret or private key + */ + +function DeriveBasicEd25519N(ked: any) { + let verfer = null; + let keys; + try { + keys = ked.keys; + if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); + verfer = new Verfer(null, keys[0]); + } catch (e) { + throw new Error(`Error extracting public key = ${e}`); + } + + if ( + !Object.values(derivationCodes.oneCharCode.Ed25519N).includes( + verfer.code(), + ) + ) { + throw new Error(`Invalid derivation code = ${verfer.code()}.`); + } + + try { + if ( + Object.values(derivationCodes.oneCharCode.Ed25519N).includes( + verfer.code(), + ) + && ked.nxt + ) { + throw new Error(`Non-empty nxt = ${ + ked.nxt + } for non-transferable code = ${verfer.code()}`); + } + } catch (e) { + throw new Error(`Error checking nxt = ${e}`); + } + + return { raw: verfer.raw(), code: verfer.code() }; +} + +/** +* @description Returns raw, code of basic Ed25519 pre (qb64) + as derived from key event dict ked +* @param {*} ked ked is inception key event dict +* @param {*} seed seed is only used for sig derivation it is the secret key/secret +* @param {*} secret secret or private key +*/ +function DeriveDigBlake3_256(ked: any) { + let labels = []; + let objKeys = []; + let values = null; + let ser = null; + let dig = null; + const { ilk } = ked; + + if (ilk === Ilks.icp) { + objKeys = Object.keys(ked); + for(let keys in objKeys){ + if(!(IcpExcludes.includes(objKeys[keys]))){ + labels.push(objKeys[keys]); + } + } + // labels = IcpLabels; + } + // if (ilk === Ilks.icp) labels = IcpLabels; + else if (ilk === Ilks.dip) labels = DipLabels; + else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); + + ked.pre = 'a'.repeat( + derivationCodes.CryOneSizes[derivationCodes.oneCharCode.Blake3_256], + ); + const serder = new Serder(null, ked); + // serder.set_raw(serder.getRaw); + ked = serder.ked(); + serder.set_ked(ked); + // serder.set_kind() +// serder.set_raw(serder.getRaw); + // # put in dummy pre to get size correct + for (let l in labels) { + if (Object.values(ked).includes(labels[l])) { + throw new Error(`Missing element = ${l} from ked.`); + } + } + + values = extractValues(ked, labels); + ser = Buffer.from(''.concat(values), 'utf-8'); + const hasher = blake3.createHash(); + dig = hasher.update(ser).digest({length: 64 }); + + return { raw: dig, code: derivationCodes.oneCharCode.Blake3_256 }; +} + +/** + * @description Returns raw, code of basic Ed25519 pre (qb64) + as derived from key event dict ked + * @param {*} ked ked is inception key event dict + * @param {*} seed seed is only used for sig derivation it is the secret key/secret + * @param {*} secret secret or private key + * + * + */ +function DeriveSigEd25519(ked: any, seed = null, secret = null) { + let labels = null; + let values = null; + let ser = null; + let keys = null; + let verfer = null; + let signer = null; + let sigver = null; + const { ilk } = ked; + if (ilk === Ilks.icp) { + labels = IcpLabels; + } else if (ilk === Ilks.dip) { + labels = DipLabels; + } else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); + + for (let l in labels) { + if (!Object.keys(ked).includes(labels[l])) { + throw new Error(`Missing element = ${labels[l]} from ked.`); + } + } + values = extractValues(ked, labels); + ser = Buffer.from(''.concat(values), 'utf-8'); + + try { + keys = ked.keys; + if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); + verfer = new Verfer(null, keys[0]); + } catch (exception) { + throw new Error(`extracting public key = ${exception}`); + } + + if (verfer.code() !== derivationCodes.oneCharCode.Ed25519) throw new Error(`Invalid derivation code = ${verfer.code()}`); + if (!(seed || secret)) throw new Error('Missing seed or secret.'); + + signer = new Signer(seed, derivationCodes.oneCharCode.Ed25519_Seed, true, libsodium, secret); + if (verfer.raw().toString() !== (signer.verfer().raw()).toString()) throw new Error('Key in ked not match seed.'); + + sigver = signer.sign(ser); + return { raw: sigver.raw(), code: derivationCodes.twoCharCode.Ed25519 }; +} + +module.exports = { Prefixer }; diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts new file mode 100644 index 00000000..c92950a0 --- /dev/null +++ b/src/keri/core/serder.ts @@ -0,0 +1,347 @@ +export {}; +/* eslint-disable class-methods-use-this */ +const _ = require('lodash'); +const msgpack = require('msgpack5')(); +// namespace our extensions +const { encode } = msgpack; +const { decode } = msgpack; +// const cbor = require('cbor'); +const blake3 = require('blake3'); +const XRegExp = require('xregexp'); +const { Diger } = require('./diger'); +const { Verfer } = require('./verfer'); +const { + Versionage, + Serials, + deversify, + versify, + MINSNIFFSIZE, +} = require('./core'); +const codeAndLength = require('./derivationCodes'); +/** + * @description Serder is KERI key event serializer-deserializer class + Only supports current version VERSION + + Has the following public properties: + + Properties: + .raw is bytes of serialized event only + .ked is key event dict + .kind is serialization kind string value (see namedtuple coring.Serials) + .version is Versionage instance of event version + .size is int of number of bytes in serialed event only + */ +class Serder { + getDiger: any; + getKed: any; + getKind: any; + getRaw: any; + getSize: any; + getVersion: any; + /** + * + *@description Deserialize if raw provided + Serialize if ked provided but not raw + When serilaizing if kind provided then use kind instead of field in ked + + Parameters: + raw is bytes of serialized event plus any attached signatures + ked is key event dict or None + if None its deserialized from raw + kind is serialization kind string value or None (see namedtuple coring.Serials) + supported kinds are 'json', 'cbor', 'msgpack', 'binary' + if kind is None then its extracted from ked or raw + size is int number of bytes in raw if any + + Attributes: + ._raw is bytes of serialized event only + ._ked is key event dict + ._kind is serialization kind string value (see namedtuple coring.Serials) + supported kinds are 'json', 'cbor', 'msgpack', 'binary' + ._version is Versionage instance of event version + ._size is int of number of bytes in serialed event only + ._diger is Diger instance of digest of .raw + + Properties: + .raw is bytes of serialized event only + .ked is key event dict + .kind is serialization kind string value (see namedtuple coring.Serials) + .version is Versionage instance of event version + .size is int of number of bytes in serialed event only + .diger is Diger instance of digest of .raw + .dig is qb64 digest from .diger + .digb is qb64b digest from .diger + + Note: + loads and jumps of json use str whereas cbor and msgpack use bytes + */ + constructor(raw = Buffer.from('', 'binary'), ked = null, kind = null) { + if (raw) this.getRaw = raw; + else if (ked) { + this.getKed = ked; + this.getKind = kind; + } else throw new Error('Improper initialization need raw or ked.'); + } + + /** + * @description Returns serialization kind, version and size from serialized event raw + by investigating leading bytes that contain version string + * @param {buffer bytes} raw + */ + + sniff(raw: any) { + // @ts-expect-error ts-migrate(2569) FIXME: Type 'string' is not an array type or a string typ... Remove this comment to see the full error message + let [major, minor, kind, size] = ''; + if (raw.length < MINSNIFFSIZE) {throw new Error('"Need more bytes."'); } + + const versionPattern = Buffer.from( + 'KERI(?[0-9a-f])(?[0-9a-f])(?[A-Z]{4})(?[0-9a-f]{6})_', + 'binary', + ); + const regex = XRegExp(versionPattern); + const response = XRegExp.exec(raw, regex); + if (!response || response.kind > 12) throw new Error(`Invalid version string in raw = ${raw}`); + major = response.groups.major; + minor = response.groups.minor; + kind = response.groups.kind; + size = response.groups.size; + // response.minor,response.kind,response.size + Versionage.major = parseInt(major, 16); + Versionage.minor = parseInt(minor, 16); + const version = Versionage; + + + + if (!Object.values(Serials).includes(kind)) { + throw new Error(`Invalid serialization kind = ${kind}`); + } + + size = parseInt(size, 16); + return [kind, version, size]; + + // let match = re.exec(raw) + // let match = version_pattern.exec(raw) + // let t = Buffer.from(raw,'binary') + // let match_string = raw.match(re) + } + + /** + * @description Parses serilized event ser of serialization kind and assigns to + instance attributes. + @NOTE : + loads and jumps of json use str whereas cbor and msgpack use bytes + + * @param {*} raw raw is bytes of serialized event + * @param {} kind kind is str of raw serialization kind (see namedtuple Serials) + * @param {} size size is int size of raw to be deserialized + */ + inhale(raw: any) { + const [kind, version, size] = this.sniff(raw); + let ked = null; + if (!_.isEqual(version, Versionage)) { + throw new Error( + `Unsupported version = ${Versionage.major}.${Versionage.minor}`, + ); + } + + if (raw.length < size) throw new Error('Need more bytes'); + if (kind === Serials.json) { + try { + ked = JSON.parse(raw.slice(0, size)); + } catch (error:any) { + throw new Error(error); + } + } else if (kind === Serials.mgpk) { + try { + ked = decode(raw.slice(0, size)); + } catch (error:any) { + throw new Error(error); + } + // } else if (kind === Serials.cbor) { + // try { + // ked = cbor.decodeAllSync(raw.slice(0, size)); + // } catch (error) { + // throw new Error(error); + // } + } else {ked = null;} + return [ked, kind, version, size]; + } + + /** + * @description ked is key event dict + kind is serialization if given else use one given in ked + Returns tuple of (raw, kind, ked, version) where: + * @param {*} ked ked is key event Json + * @param {*} kind kind is serialzation kind + */ + exhale(ked: any, kind = null) { + let raw; + const versionPattern = Buffer.from( + 'KERI(?[0-9a-f])(?[0-9a-f])(?[A-Z]{4})(?[0-9a-f]{6})_', + 'binary', + ); + const regex = XRegExp(versionPattern); + let response; + if (Object.keys(JSON.stringify(ked)).includes('v')) { + throw new Error(`Missing or empty version string in key event dict =${ked}`); + } + + let [knd, version, size] = deversify(ked.v); + + if (!_.isEqual(version, Versionage)) throw new Error(`Unsupported version = ${Versionage.major}.${Versionage.minor}`); + + if (!kind) kind = knd; + + if (!Object.values(Serials).includes(kind)) { + throw new Error(`Invalid serialization kind = ${kind}`); + } + + if (kind === Serials.json) { + raw = JSON.stringify(ked); // replacer + } else if (kind === Serials.mgpk) raw = encode(ked).toString('hex'); + // else if (kind === Serials.cbor) { + // raw = cbor.encode(ked); + // response = XRegExp.exec(raw, regex); + // } + else { + throw new Error(`Invalid serialization kind = ${kind}`); + } + + console.log(raw) + console.log(raw.length) + size = raw.length; + + // let re = new RegExp(versionPattern) + // const regex = XRegExp(versionPattern); + + // let abc = XRegExp.matchRecursive(Buffer.from(raw),'\\(', '\\)', 'g'); + response = XRegExp.exec(Buffer.from(raw, 'binary'), regex); + // let match = re.exec(raw) + // let match = versionPattern.exec(raw) + // let t = Buffer.from(raw,'binary') + // let match_string = raw.match(re) + // let search = raw.search(versionPattern) + if (!response || response.kind > 12) { + throw new Error(`Invalid version string in raw = ${raw}`); + } + + // while (match = re.exec(raw)) { + // fore = match.index + // back = re.lastIndex + // match ++ + // } + + const vs = versify(version, kind, size); + raw = JSON.parse(raw); + raw.v = vs; + const traw = JSON.stringify(raw); + if (size !== traw.length) throw new Error(`Malformed version string size = ${vs}`); + + ked.v = vs; + + return [traw, kind, ked, version]; + } + + raw() { + return this.getRaw; + } + + set_raw(raw: any) { + const [ked, kind, version, size] = this.inhale(raw); + + this.getRaw = Buffer.from(raw.slice(0, size), 'binary'); // # crypto ops require bytes not bytearray + this.getKed = ked; + this.getKind = kind; + this.getVersion = version; + this.getSize = size; + const hasher = blake3.createHash(); + // const dig = blake3.hash(this.getRaw); + const digest = hasher.update(this.getRaw).digest(''); + this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); + } + + ked() { + return this.getKed; + } + + set_ked(ked: any) { + let [raw, kind, getKed, version] = this.exhale(ked, this.getKind); + + // raw = JSON.stringify(raw); + raw = Buffer.from(raw, 'binary'); + this.getRaw = raw; // # crypto ops require bytes not bytearray + + const size = raw.length; + this.getKed = getKed; + this.getKind = kind; + this.getVersion = version; + this.getSize = size; + + + const hasher = blake3.createHash(); + const digest = hasher.update(this.raw()).digest({length: 64 }); + this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); + } + + kind() { + return this.getKind; + } + + // eslint-disable-next-line camelcase + set_kind() { + let [raw, kind, ked, version] = this.exhale(this.getKed); + const size = raw.length; + raw = JSON.stringify(raw); + this.getRaw = raw.slice(0, size); + this.getKed = ked; + this.getKind = kind; + this.getSize = size; + this.getVersion = version; + } + + version() { + return this.getVersion; + } + + size() { + return this.getSize; + } + + diger() { + const hasher = blake3.createHash(); + console.log("hashing", this.getRaw) + const digest = hasher.update(this.getRaw).digest(''); + this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); + return this.getDiger; + } + + dig() { + return this.diger().qb64(); + } + + digb() { + return this.diger().qb64b(); + } + + /** + * Returns list of Verifier instances as converted from .ked.keys + verfers property getter + */ + verfers() { + let keys = null; + const val = []; + + if (Object.keys(this.ked()).includes('keys')) { + keys = this.ked().keys; + } else { + keys = []; + } + for (let key in keys) { + val.push(new Verfer(null, keys[key])); + } + + return val; + } +} + +module.exports = { Serder }; diff --git a/src/keri/core/siger.ts b/src/keri/core/siger.ts new file mode 100644 index 00000000..20641942 --- /dev/null +++ b/src/keri/core/siger.ts @@ -0,0 +1,34 @@ +export {}; +const { SigMat } = require('./sigmat'); + +/** + * Siger is subclass of SigMat, indexed signature material, + Adds .verfer property which is instance of Verfer that provides + associated signature verifier. + + See SigMat for inherited attributes and properties: + + Attributes: + + Properties: + .verfer is Verfer object instance + + Methods: + */ + +class Siger extends SigMat { + constructor(verfer = null, ...args: any[]) { + super(...args); + this.getVerfer = verfer; + } + + verfer() { + return this.getVerfer; + } + + setVerfer(verfer: any) { + this.getVerfer = verfer; + } +} + +module.exports = { Siger }; diff --git a/src/keri/core/sigmat.ts b/src/keri/core/sigmat.ts new file mode 100644 index 00000000..ce31d88d --- /dev/null +++ b/src/keri/core/sigmat.ts @@ -0,0 +1,222 @@ +/* eslint-disable max-len */ +export {}; +const Base64 = require('urlsafe-base64'); +const codeAndLength = require('./derivationCodes'); +const intToB64 = require('../help/stringToBinary'); +const { MINSIGSIZE } = require('./core'); + +/** + * SigMat is fully qualified attached signature crypto material base class + Sub classes are derivation code specific. + + Includes the following attributes and properites. + + Attributes: + + Properties: + .code str derivation code of cipher suite for signature + .index int zero based offset into signing key list + or if from SigCntDex then its count of attached signatures + .raw bytes crypto material only without code + .pad int number of pad chars given .raw + .qb64 str in Base64 with derivation code and signature crypto material + .qb2 bytes in binary with derivation code and signature crypto material + */ +class SigMat { + getCode: any; + getIndex: any; + getQb64: any; + getRaw: any; + // pad = "" + // BASE64_PAD = '=' + + constructor(raw = null, qb64 = null, qb2 = null, code = codeAndLength.SigTwoCodex.Ed25519, index = 0, qb64b = null) { + /* + Validate as fully qualified + Parameters: + raw is bytes of unqualified crypto material usable for crypto operations + qb64 is str of fully qualified crypto material + qb2 is bytes of fully qualified crypto material + code is str of derivation code cipher suite + index is int of offset index into current signing key list + or if from SigCntDex then its count of attached signatures + qb64b is bytes of fully qualified crypto material + + When raw provided then validate that code is correct for length of raw + and assign .raw .code and .index + Else when either qb64 or qb2 provided then extract and assign .raw and .code + + */ + + if (raw) { + if (!(Buffer.isBuffer(raw) || Array.isArray(raw))) { + throw new Error(`Not a bytes or bytearray, raw= ${raw}.`); + } + const pad = this.getPad(raw); + + if (!((pad === 2 && Object.values(JSON.stringify(codeAndLength.SigTwoCodex)).includes(code)) + || (pad === 0 && Object.values(JSON.stringify(codeAndLength.SigCntCodex).includes(code)) + || (pad === 0 && Object.values(JSON.stringify(codeAndLength.SigFourCodex).includes(code)) + || (pad === 1 && Object.values(JSON.stringify(codeAndLength.SigFiveCodex).includes(code))))))) { + throw new Error(`Wrong code= ${code} for raw= ${raw} .`); + } + if ((Object.values(codeAndLength.SigTwoCodex).includes(code) + && (index < 0) || (index > codeAndLength.SIGTWOMAX)) + || (Object.values(codeAndLength.SigCntCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFOURMAX))) + || (Object.values(codeAndLength.SigFourCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFOURMAX))) + || (Object.values(codeAndLength.SigFiveCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFIVEMAX)))) { + throw new Error(`Invalid index=${index} for code=${code}.`); + } + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + raw = raw.slice(0, codeAndLength.SigRawSizes[code]); + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if (raw.length !== codeAndLength.SigRawSizes[code]) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + throw new Error(`Unexpected raw size= ${raw.length} for code= ${code} + not size= ${codeAndLength.cryAllRawSizes[code]}.`); + } + this.getCode = code; + this.getIndex = index; + // @ts-expect-error ts-migrate(2769) FIXME: No overload matches this call. + this.getRaw = Buffer.from(raw, 'binary'); // crypto ops require bytes not bytearray + } else if (qb64b != null) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + qb64b = qb64b.toString('utf-8'); + this.exfil(qb64b); + } else if (qb64 != null) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + qb64 = qb64.toString('utf-8'); + this.exfil(qb64); + } else if (qb2 != null) { + // encodeB64(qb2).decode("utf-8") + this.exfil(Base64.encode(qb2)); + } else { + throw new Error('Improper initialization need raw or b64 or b2.'); + } + } + + // eslint-disable-next-line class-methods-use-this + getPad(raw: any) { + const reminder = Buffer.byteLength(raw, 'binary') % 3; + if (reminder === 0) return 0; + return 3 - reminder; + } + + exfil(qb64: any) { + const BASE64_PAD = '='; + if (qb64.length < MINSIGSIZE) // # Need more bytes + { throw new Error('Need more bytes.'); } + let cs = 1; // code size + let codeSlice = qb64.slice(0, cs); + codeSlice = codeSlice.toString(); + let index = 0; + + if (Object.values(codeAndLength.SigTwoCodex).includes(codeSlice)) { + qb64 = qb64.slice(0, codeAndLength.SigTwoSizes[codeSlice]); + cs += 1; + // @ts-expect-error ts-migrate(2322) FIXME: Type 'string | undefined' is not assignable to typ... Remove this comment to see the full error message + index = Object.keys(codeAndLength.b64ChrByIdx).find((key) => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 1, cs)); + } else if (codeSlice === codeAndLength.SigSelectCodex.four) { + cs += 1; + codeSlice = qb64.slice(0, cs); + if (!Object.values(codeAndLength.SigFourCodex).includes(codeSlice)) throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); + + qb64 = qb64.slice(0, codeAndLength.SigFourSizes[codeSlice]); + + cs += 2; + // @ts-expect-error ts-migrate(2322) FIXME: Type 'string | undefined' is not assignable to typ... Remove this comment to see the full error message + index = Object.keys(codeAndLength.b64ChrByIdx).find((key) => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)); + } else if (codeSlice === codeAndLength.SigSelectCodex.dash) { + cs += 1; + codeSlice = qb64.slice(0, cs); + if (!Object.values(codeAndLength.SigCntCodex).includes(codeSlice)) throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); + + qb64 = qb64.slice(0, codeAndLength.SigCntSizes[codeSlice]); + cs += 2; + index = intToB64.b64ToInt(qb64.slice(cs - 2, cs)); + // Object.keys(codeAndLength.b64ChrByIdx).find(key => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) + } else { + throw new Error(`Improperly coded material = ${qb64}`); + } + + if (qb64.length !== codeAndLength.SigSizes[codeSlice]) throw new Error(`Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${codeAndLength.cryAllSizes[codeSlice]}.`); + + const pad = cs % 4; + const base = qb64.slice(cs, qb64.length) + BASE64_PAD.repeat(pad); + // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. + const decodedBase = Base64.decode(base.toString('utf-8')); // Buffer.from(base, "utf-8") + if (decodedBase.length !== Math.floor(((qb64.length - cs) * 3) / 4)) { + throw new Error(`Improperly qualified material = ${qb64}`); + } + this.getCode = codeSlice; + this.getRaw = Buffer.from(decodedBase, 'binary'); + // @ts-expect-error ts-migrate(2345) FIXME: Argument of type 'number' is not assignable to par... Remove this comment to see the full error message + this.getIndex = parseInt(index); + this.getQb64 = qb64; // this.getQb64 + } + + infil() { + const l = codeAndLength.SigIdxSizes[this.getCode]; + const full = `${this.getCode}${intToB64.intToB64(this.getIndex, l)}`; + const pad = this.pad(); + // Validate pad for code length + if ((full).length % 4 !== pad) { + // Here pad is not the reminder of code length + throw new Error(`Invalid code = ${this.code()} for converted raw pad = ${this.pad()}.`); + } + // encodeURIComponent(Base64.encode(this._raw)) + + return (full + decodeURIComponent(Base64.encode(this.raw()))); + // .slice(0, -pad)) + } + + qb64() { + // qb64 = Qualified Base64 version,this will return qualified base64 version assuming + // self.raw and self.code are correctly populated + + return this.infil(); + } + + /** + * """ + Property qb64b: + Returns Fully Qualified Base64 Version encoded as bytes + Assumes self.raw and self.code are correctly populated + """ + */ + qb64b() { + return Buffer.from(this.qb64(), 'utf-8'); + } + + qb2() { + /* Property qb2: + Returns Fully Qualified Binary Version Bytes + redo to use b64 to binary decode table since faster + """ + # rewrite to do direct binary infiltration by + # decode self.code as bits and prepend to self.raw + */ + // Buffer.from(this.infil(), 'utf-8') + + return Base64.decode(Buffer.from(this.infil(), 'binary')).toString('utf-8'); + } + + raw() { + return this.getRaw; + } + + pad() { + return this.getPad(this.getRaw); + } + + code() { + return this.getCode; + } + + index() { + return this.getIndex; + } +} + +module.exports = { SigMat }; diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts new file mode 100644 index 00000000..f1e25f69 --- /dev/null +++ b/src/keri/core/signer.ts @@ -0,0 +1,186 @@ +export {}; +const libsodium = require('libsodium-wrappers-sumo'); +const { Crymat } = require('./cryMat'); +const derivationCodes = require('./derivationCodes'); +const { Verfer } = require('./verfer'); +const { Sigver } = require('./sigver'); +const { Siger } = require('./siger'); +const { range } = require('./utls'); + +/** + * @description Signer is CryMat subclass with method to create signature of serialization + * It will use .raw as signing (private) key seed + * .code as cipher suite for signing and new property .verfer whose property + * .raw is public key for signing. + * If not provided .verfer is generated from private key seed using .code + as cipher suite for creating key-pair. + */ + +class Signer extends Crymat { + constructor( + raw = null, + code = derivationCodes.oneCharCode.Ed25519_Seed, + transferable = true, + // lib = null, + qb64 = null, + ) { + let setVerfer; + let seedKeypair; + try { + + super(raw, qb64, null, code); + } catch (error) { + if (code === derivationCodes.oneCharCode.Ed25519_Seed) { + raw = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + raw = Buffer.from(raw, 'binary'); + super(raw, null, null, code); + } else { + throw new Error(`Unsupported signer code = ${code}.`); + } + } + if (code === derivationCodes.oneCharCode.Ed25519_Seed) { + this.getSign = this.ed25519; + if (raw == null) { + raw = this.raw(); + } + seedKeypair = libsodium.crypto_sign_seed_keypair(raw); + const verkey = Buffer.from(seedKeypair.publicKey, 'binary'); + + this.sigkey = Buffer.from(seedKeypair.privateKey, 'binary'); + if (transferable) { + setVerfer = new Verfer( + verkey, + null, + null, + derivationCodes.oneCharCode.Ed25519, + ); + } else { + setVerfer = new Verfer( + verkey, + null, + null, + derivationCodes.oneCharCode.Ed25519N, + ); + } + } else { + throw new Error( + `Unsupported signer code = ${derivationCodes.oneCharCode.Ed25519N}.`, + ); + } + this.getVerfer = setVerfer; + } + + static async initLibsodium() { + await libsodium.ready; + } + + /** + * @description Property verfer: + Returns Verfer instance + Assumes ._verfer is correctly assigned + */ + verfer() { + return this.getVerfer; + } + + /** + * @description Returns either Sigver or Siger (indexed) instance of cryptographic + signature material on bytes serialization ser + + If index is None + return Sigver instance + Else + return Siger instance + + ser is bytes serialization + index is int index of associated verifier key in event keys + * @param {*} ser + * @param {*} index + */ + sign(ser: any, index = null) { + return this.getSign(ser, this.raw(), this.verfer(), index); + } + + /** + * @description Returns signature + * @param {*} ser ser is bytes serialization + * @param {*} seed seed is bytes seed (private key) + * @param {*} verfer verfer is Verfer instance. verfer.raw is public key + * @param {*} index index is index of offset into signers list or None + */ + // eslint-disable-next-line class-methods-use-this + ed25519(ser: any, seed: any, verfer: any, index: any) { + let sig = libsodium.crypto_sign_detached( + ser, + Buffer.concat([seed, verfer.raw()]), + ); + sig = Buffer.from(sig, 'binary'); + if (index == null) { + const response = new Sigver( + sig, + derivationCodes.twoCharCode.Ed25519, + verfer, + ); + response.setVerfer(verfer); + return response; + } + const args = [sig, null, null, derivationCodes.SigTwoCodex.Ed25519]; + return new Siger(verfer, ...args); + } +} + +/** + * @description Returns list of Signers for Ed25519 + * @param {*} root root is bytes 16 byte long root key (salt/seed) from + * which seeds for Signers + in list are derived + random root created if not provided + * @param {*} count count is number of signers in list + * @param {*} transferable transferable is boolean true means signer.verfer code is transferable + non-transferable otherwise + */ +async function generateSigners(root = null, count = 8) { + await libsodium.ready; + if (!root) { + root = libsodium.randombytes_buf(libsodium.crypto_pwhash_SALTBYTES); + } + const signers = []; + // @ts-expect-error ts-migrate(2461) FIXME: Type 'null' is not an array type. + let [path, seed] = null; + for (const i in range(count)) { + // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. + path = i.toString(16); + seed = libsodium.crypto_pwhash( + 32, + path, + root, + libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, + libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, + // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'alg'. + (alg = libsodium.crypto_pwhash_ALG_DEFAULT), + ); + signers.push(new Signer(seed)); + } + return signers; +} + +/** + * @description Returns list of fully qualified Base64 secret seeds for Ed25519 private keys + * @param {*} root root is bytes 16 byte long root key (salt/seed) from which seeds for Signers + in list are derived + random root created if not provided + * @param {*} count count is number of signers in list + */ +function generateSecrets(root = null, count = 8) { + const signrs: any = []; + const signers = generateSigners(root, count); + + for (const signer in signers) { + signrs.push[(signer as any).qb64()]; + } + + return signrs; +} + +module.exports = { Signer, generateSigners, generateSecrets }; diff --git a/src/keri/core/sigver.ts b/src/keri/core/sigver.ts new file mode 100644 index 00000000..56893702 --- /dev/null +++ b/src/keri/core/sigver.ts @@ -0,0 +1,38 @@ +export {}; + +const { Crymat } = require('./cryMat'); +const derivationCode = require('./derivationCodes'); + + +/** + * @description A Crymat subclass holding signature with verfer property + * Verfer verify signature of serialization + * .raw is signature and .code is signature cipher suite + * .verfer property to hold Verfer instance of associated verifier public key + */ +class Sigver extends Crymat { + constructor( + raw = null, + code = derivationCode.twoCharCode.Ed25519, + verfer = null, + index = 0, + qb64 = null, + ) { + // Assign verfer to .verfer attribute + super(raw, qb64, null, code, index); + this.getVerfer = verfer; + } + + /** + * @description this will return verfer instance + */ + verfer() { + return this.getVerfer; + } + + setVerfer(verfer: any) { + this.getVerfer = verfer; + } +} + +module.exports = { Sigver }; diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json new file mode 100644 index 00000000..83b5f573 --- /dev/null +++ b/src/keri/core/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/src/keri/core/utls.ts b/src/keri/core/utls.ts new file mode 100644 index 00000000..e2f1a634 --- /dev/null +++ b/src/keri/core/utls.ts @@ -0,0 +1,95 @@ +const { isArray } = require("lodash"); + +function pad(n: any, width = 3, z = 0) { + return (String(z).repeat(width) + String(n)).slice(String(n).length); +} + +/** + * @description Returns list of depth first recursively extracted values from elements of + key event dict ked whose flabels are in lables list + + * @param {*} ked ked is key event dict + * @param {*} labels labels is list of element labels in ked from which to extract values + */ +function extractValues(ked: any, labels: any) { + let values = []; + for (let label of labels) { + values = extractElementValues(ked[label], values); + } + + return values; +} + + + + +/** + * @description Recusive depth first search that recursively extracts value(s) from element + and appends to values list + Assumes that extracted values are str + + * @param {*} element + * @param {*} values + */ + +function extractElementValues(element: any, values: any) { + let data = []; + + + try { + if((element instanceof Array) && !(typeof(element) == 'string')) { + for(let k in element) + extractElementValues(element[k], values); + } else if (typeof(element) == 'string') { + values.push(element); + } + data = values; + } catch (error:any) { + throw new Error(error); + } + + return data; +} + + + + +/** + * @description Returns True if obj is non-string iterable, False otherwise + + * @param {*} obj + */ + +// function nonStringIterable(obj) { +// obj instanceof (String) +// return instanceof(obj, (str, bytes)) && instanceof(obj, Iterable)) +// } + + + +function range(start: any, stop: any, step: any) { + if (typeof stop == 'undefined') { + // one param defined + stop = start; + start = 0; + } + + if (typeof step == 'undefined') { + step = 1; + } + + if ((step > 0 && start >= stop) || (step < 0 && start <= stop)) { + return []; + } + + let result = []; + for (let i = start; step > 0 ? i < stop : i > stop; i += step) { + result.push(i); + } + + return result; +} + +module.exports = { + pad, extractValues, range, +}; diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts new file mode 100644 index 00000000..8148413b --- /dev/null +++ b/src/keri/core/verfer.ts @@ -0,0 +1,54 @@ +export {}; +const libsodium = require('libsodium-wrappers-sumo'); +const { Crymat } = require('./cryMat'); +const codeAndLength = require('./derivationCodes'); + +/** + * @description Verfer :sublclass of crymat,helps to verify signature of serialization + * using .raw as verifier key and .code as signature cypher suite + */ +class Verfer extends Crymat { + verifySig: any; + // eslint-disable-next-line max-len + constructor(raw = null, qb64 = null, qb2 = null, qb64b = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0) { + super(raw, qb64, qb2, code, index); + this.qb64b = qb64b + if (Object.values(codeAndLength.oneCharCode.Ed25519N).includes(this.getCode) + || Object.values(codeAndLength.oneCharCode.Ed25519).includes(this.getCode)) { + this.verifySig = this.ed25519; + } else { + throw new Error(`Unsupported code = ${this.getCode} for verifier.`); + } + } + + /** + * + * @param {bytes} sig bytes signature + * @param {bytes} ser bytes serialization + */ + verify(sig: any, ser: any) { + return this.verifySig(sig, ser, this.raw()); + } + + /** + * @description This method will verify ed25519 signature on Serialization using public key + * @param {bytes} sig + * @param {bytes} ser + * @param {bytes} key + */ + + // eslint-disable-next-line class-methods-use-this + ed25519(sig: any, ser: any, key: any) { + try { + const result = libsodium.crypto_sign_verify_detached(sig, ser, key); + if (result) { + return true; + } + return false; + } catch (error:any) { + throw new Error(error); + } + } +} + +module.exports = { Verfer }; diff --git a/src/keri/eventing/Kever.ts b/src/keri/eventing/Kever.ts new file mode 100644 index 00000000..923ba13a --- /dev/null +++ b/src/keri/eventing/Kever.ts @@ -0,0 +1,533 @@ +// @ts-expect-error ts-migrate(6200) FIXME: Definitions of the following identifiers conflict ... Remove this comment to see the full error message +const { keys, times } = require('lodash'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Ilks'. +const { IcpLabels, IxnLabels, RotLabels, Ilks } = require('../core/core'); +const { snkey, Logger, dgkey } = require('../db/database'); +// const { LastEstLoc } = require('../../keri/eventing/util') +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Prefixer'. +const { Prefixer } = require('../core/prefixer'); +const { Nexter } = require('../core/nexter'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'isSorted'. +const { isSorted, hasDuplicates, TraitCodex } = require('./TraitCodex'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serder'. +const { Serder } = require('../core/serder'); +const verfer = require('../core/verfer'); + +const codeAndLength = require('../core/derivationCodes'); + +/** + * """ + Kever is KERI key event verifier class + Only supports current version VERSION + + Has the following public attributes and properties: + + Class Attributes: + .EstOnly is Boolean + True means allow only establishment events + False means allow all events + + Attributes: + .version is version of current event state + .prefixer is prefixer instance for current event state + .sn is sequence number int + .diger is Diger instance with digest of current event not prior event + .ilk is str of current event type + .sith is int or list of current signing threshold + .verfers is list of Verfer instances for current event state set of signing keys + .nexter is qualified qb64 of next sith and next signing keys + .toad is int threshold of accountable duplicity + .wits is list of qualified qb64 aids for witnesses + .cnfg is list of inception configuration data mappings + .estOnly is boolean + .nonTrans is boolean + .lastEst is LastEstLoc namedtuple of int .sn and qb64 .dig of last est event + + Properties: + + .nonTransferable .nonTrans + + """ + */ + +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Kever'. +class Kever { + EstOnly: any; + cnfg: any; + dig: any; + diger: any; + estOnly: any; + ilk: any; + lastEst: any; + logger: any; + nexter: any; + nonTrans: any; + prefixer: any; + sith: any; + sn: any; + toad: any; + verfers: any; + version: any; + wits: any; + constructor(serder: any, sigers: any, estOnly = null, logger = null, flag = false) { + // var logger_ = null + if (logger == null) { + logger = new Logger().next().value; + } + // dber_gen.next().value + this.logger = logger; + this.version = serder.version(); // # version dispatch ? + this.verfers = serder.verfers(); //# converts keys to verifiers + this.EstOnly = false; + + for (const siger in sigers) { + if (sigers[siger]._index >= (this.verfers).length) { + throw new Error(`Index = ${(siger as any).index} too large for keys.`); + } + + sigers[siger].setVerfer(this.verfers[sigers[siger].index()]); //# assign verfer + } + + const ked = serder.ked(); + serder.set_ked(ked); + + for (const k in IcpLabels) { + if (!Object.keys(ked).includes(IcpLabels[k])) { + throw new Error(`Missing element = ${IcpLabels[k]} from ${Ilks.icp} event.`); + } + } + + const ilk = ked['ilk']; + if (ilk != Ilks.icp) { + throw new Error(`Expected ilk = ${Ilks.icp} got ${ilk}.`); + } + this.ilk = ilk; + const { sith } = ked; + if (typeof (sith) == 'string') { + this.sith = parseInt(sith, 16); + + if ((this.sith).length < 1 || (this.sith).length > (this.verfers).length) { + throw new Error(`Invalid sith = ${sith} for keys = ${this.verfers.qb64()}`); + } + } else { + throw new Error(`Unsupported type for sith = ${sith}`); + } + this.prefixer = new Prefixer(null, codeAndLength.oneCharCode.Ed25519N, null, null, null, ked.pre); + if (!this.prefixer.verify(ked, ked['pre'])) { + throw new Error(`Invalid prefix = ${this.prefixer.qb64()} for inception ked = ${ked['keys']}.`); + } + + const sn = ked['sn']; + if (sn.length > 32) { + throw new Error(`Invalid sn = ${sn} too large.`); + } + + try { + parseInt(sith, 16); + } catch (error) { + throw new Error(`Invalid sn = ${sn}`); + } + if (sn != 0) { + throw new Error(`Nonzero sn = ${sn} for inception ked = ${ked}.`); + } + this.sn = sn; + this.diger = serder.diger(); + + const nxt = ked['nxt']; + if (nxt) { + // let args = [nxt]; + this.nexter = new Nexter(null, null, null, null, nxt); + } else this.nexter = new Nexter(); + + if (!this.nexter) { + this.nonTrans = true; + } else { + this.nonTrans = false; + } + + const wits = ked['wits']; + if (hasDuplicates(wits)) { + throw new Error(`Invalid wits = ${wits}, has duplicates.`); + } + this.wits = wits; + + const toad = parseInt(ked['toad'], 16); + + if (wits) { + if (toad < 1 || toad > wits.length) { + `Invalid toad = ${toad} for wits = ${wits}`; + } + } else { + if (toad != 0) + throw `Invalid toad = ${toad} for wits = ${wits}`; + } + + this.toad = toad; + this.cnfg = ked['cnfg']; + + if (estOnly) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'true' is not assignable to type 'null'. + this.estOnly = estOnly = true; + } else { + this.estOnly = this.EstOnly = false; + } + + const traitcodex = new TraitCodex(); + for (const d in this.cnfg) { + // @ts-expect-error ts-migrate(7015) FIXME: Element implicitly has an 'any' type because index... Remove this comment to see the full error message + if ((Object.keys(JSON.stringify(d)).includes('trait')) && d['trait'] == traitcodex.EstOnly()) { + this.estOnly = true; + } + } + // # other wise agar estonly self.Estonly hai to false hai + // # need this to recognize recovery events and transferable receipts + const LastEstLoc = { sn: '', dig: '' }; + LastEstLoc.sn = this.sn; + LastEstLoc.dig = this.diger.qb64(); + this.lastEst = LastEstLoc; + if (!this.verifySigs(sigers, serder)) { + this.escrowEvent(serder, sigers, this.prefixer.qb64b(), this.sn); + throw new Error(`Failure verifying sith = ${this.sith} on sigs for ${sigers}`); + } + + this.logEvent(serder, sigers, flag); // # update logs + } + + /** + * @description : Not original inception event. So verify event serder and + indexed signatures in sigers and update state + * @param {*} serder + * @param {*} sigers + */ + + update(serder: any, sigers: any) { + if (this.nonTrans) { + throw new Error(`Unexpected event = ${serder} in nontransferable state.`); + } + const ked = serder.ked(); + + serder.set_ked(ked); + const pre = ked['pre']; + let sn = ked['sn']; + + if (sn.length > 32) { + throw new Error(`Invalid sn = ${sn} too large.`); + } + + try { + sn = parseInt(sn, 16); + } catch (error) { + throw new Error(`Invalid sn = ${sn}`); + } + if (sn === 0) { + throw new Error(`Zero sn = ${sn} for non=inception ked = ${ked}.`); + } + + const dig = ked['dig']; + const ilk = ked['ilk']; + if (pre !== this.prefixer.qb64()) + throw new Error(`Mismatch event aid prefix = ${pre} expecting = ${this.prefixer.qb64()}.`); + + if (ilk === Ilks.rot) { + for (const k in RotLabels) { + if (!(RotLabels[k] in ked)) + throw new Error(`Missing element = ${k} from ${Ilks.rot} event.`); + } + + if (sn > this.sn + 1) // Out of order event + { + throw new Error(`Out of order event sn = ${sn} expecting= ${this.sn + 1}.`); + } else if (sn <= this.sn) { + // # stale or recovery + // # stale events could be duplicitous + // # duplicity detection should have happend before .update called + // # so raise exception if stale + + if (sn <= this.lastEst.sn) { + throw new Error(`Stale event sn = ${sn} expecting= ${this.sn + 1}.`); + } else { + + if (this.ilk !== Ilks.ixn) { + throw new Error(`Invalid recovery attempt: Recovery at ilk = ${this.ilk} not ilk = ${Ilks.ixn}.`); + } + + const psn = sn - 1; // sn of prior event + this.logger = new Logger(); + const pdig = this.logger.getKeLast(snkey(pre, psn)); + + if (!pdig) { + throw new Error(`Invalid recovery attempt: Recovery at ilk = ${this.ilk} not ilk = ${Ilks.ixn}. `); + } + + const praw = this.logger.getEvt(dgkey(pre, pdig)); + if (!praw) { + throw new Error(`Invalid recovery attempt: Bad dig = ${pdig}.`); + } + + const pserder = new Serder(Buffer.from(praw, 'binary')); + if (dig != pserder.dig()) { + throw new Error(`Invalid recovery attempt: + Mismatch recovery event prior dig= ${dig} with dig = ${pserder.dig()} of event sn = ${psn}.`); + } + } + } else { + if (dig != this.diger.qb64()) { + throw new Error(`Mismatch event dig = ${dig} with state dig = ${this.dig.qb64()}.`); + } + } + + if (!this.nexter) { + throw new Error(`Attempted rotation for nontransferable prefix = ${this.prefixer.qb64()}`); + } + let sith = ked['sith']; + if (typeof (sith) == 'string') { + sith = parseInt(sith, 16); + if (sith < 1 || sith > (this.verfers).length) { + throw new Error(`Invalid sith = ${sith} for keys = ${verfer}`); + } + } else { + throw new Error(`Unsupported type for sith = ${sith}`); + } + + let keys = ked['keys']; + + if (!(this.nexter.verify(null, sith, keys))) { + throw new Error(`Mismatch nxt digest = ${this.nexter.qb64()} with rotation sith = ${sith}, keys = ${keys}.`); + } + + // # verify nxt from prior + // # also check derivation code of pre for non-transferable + // # check and + + // if (!this.nexter) { + // throw `Attempted rotation for nontransferable prefix = ${this.prefixer.qb64()}` + // } + const verfers = serder.verfers(); //# only for establishment events + + // sith = ked['sith'] + // if (typeof(sith) == 'string') { + // sith = parseInt(sith, 16) + // if (sith < 1 || sith > (this.verfers).length) { + // throw `Invalid sith = ${sith} for keys = ${this.verfers}` + // } + // } else { + // throw `Unsupported type for sith = ${sith}` + // } + + // keys = ked['keys'] + // if (!(this.nexter.verify(null, sith, keys))) { + // throw `Mismatch nxt digest = ${this.nexter.qb64()} with rotation sith = ${sith}, keys = ${keys}.` + // } + + const witset = removeDuplicates(this.wits); + const cuts = ked['cuts']; + const cutset = removeDuplicates(cuts); + if (cutset.length != cuts.length) { + throw new Error(`Invalid cuts = ${cuts}, has duplicates.`); + } + + if (witset != cutset && cutset != cutset) { + throw new Error(`Invalid cuts = ${cuts}, not all members in wits.`); + } + + const adds = ked['adds']; + const addset = removeDuplicates(adds); + if (addset.length != adds.length) { + throw new Error(`Invalid adds = ${adds}, has duplicates.`); + } + + if (cutset.length != 0 && addset.length != 0) { + throw new Error(`Intersecting cuts = ${cuts} and adds = ${adds}.`); + } + if (witset.length != 0 && addset.length != 0) { + throw new Error(`Intersecting witset = ${this.wits} and adds = ${adds}.`); + } + + const wits = witset.filter((n: any) => !cutset.includes(n)) || addset; + + if (wits.length != ((this.wits).length - cuts.length + adds.length)) { + throw new Error(`Invalid member combination among wits = ${this.wits}, cuts = ${cuts}, " + "and adds = ${adds}.`); + } + const toad = parseInt(ked['toad'], 16); + if (wits.length > 0) { + if (toad < 1 || toad > wits.length) { + throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); + } + } else { + if (toad != 0) + throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); + } + + for (const siger in sigers) { + if (sigers[siger].index() >= verfers.length) { + throw new Error(`Index = ${sigers[siger].index()} to large for keys.`); + } + + + sigers[siger].setVerfer(verfers[sigers[siger].index()]); + } + if (!this.verifySigs(sigers, serder)) { + throw new Error(`Failure verifying signatures = ${sigers} for ${serder}`); + } + if (!this.verifySith(sigers, sith)) { + this.escrowEvent(serder, sigers, this.prefixer.qb64b(), sn); + throw new Error(`Failure verifying sith = ${sith} on sigs for ${sigers}`); + } + + this.sn = sn; + this.diger = serder.diger(); + this.ilk = ilk; + this.sith = sith; + this.verfers = verfers; + const nxt = ked['nxt']; + + if (nxt) { + this.nexter = new Nexter(null, null, null, null, nxt); + if (!this.nexter) { + this.nonTrans = true; + } + } + this.toad = toad; + this.wits = wits; + const LastEstLoc = { sn: '', dig: '' }; + LastEstLoc.sn = this.sn; + LastEstLoc.dig = this.diger.qb64(); + this.lastEst = LastEstLoc; + + // @ts-expect-error ts-migrate(2554) FIXME: Expected 3 arguments, but got 2. + this.logEvent(serder, sigers); // # update logs + } else if (ilk === Ilks.ixn) { + if (this.estOnly) { + throw new Error(`Unexpected non-establishment event = ${this.estOnly}.`); + } + for (const k in IxnLabels) { + if (!(IxnLabels[k] in ked)) + throw new Error(`Missing element = ${IxnLabels[k]} from ${Ilks.ixn} event.`); + } + + if (!(sn == this.sn + 1)) // Out of order event + { + throw new Error(`Invalid sn = ${sn} expecting = ${this.sn + 1}.`); + } + if (dig != this.diger.qb64()) { + throw new Error(`Mismatch event dig = ${dig} with state dig = ${this.dig.qb64()}.`); + } + + // # interaction event use keys from existing Kever + // # use prior .verfers + // # verify indexes of attached signatures against verifiers + + for (const siger in sigers) { + if (sigers[siger].index() >= this.verfers.length) { + throw new Error(`Index = ${sigers[siger].index()} too large for keys.`); + } + // sigers[siger].verfer = this.verfers[sigers[siger].index()] //assign verfer + sigers[siger].setVerfer(this.verfers[sigers[siger].index()]); + } + + if (!this.verifySigs(sigers, serder)) { + throw new Error(`Failure verifying signatures = ${sigers} for ${serder}`); + } + + if (!this.verifySith(sigers)) { + this.escrowEvent(serder, sigers, this.prefixer.qb64b(), sn); + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'siger'. Did you mean 'sigers'? + throw new Error(`Failure verifying sith = ${siger} on sigs for ${sigers}`); + } + + // # update state + this.sn = sn; + this.diger = serder.diger(); + this.ilk = ilk; + + // @ts-expect-error ts-migrate(2554) FIXME: Expected 3 arguments, but got 2. + this.logEvent(serder, sigers); // # update logs + } else { + throw new Error(`Unsupported ilk = ${ilk}.`); + } + } + + /** + * @description Use verfer in each siger to verify signature against serder + Assumes that sigers with verfer already extracted correctly wrt indexes + * @param {*} sigers sigers is list of Siger instances + * @param {*} serder serder is Serder instance + */ + verifySigs(sigers: any, serder: any) { + try{ + for (const siger in sigers) { + + if (!(sigers[siger].verfer().verify(sigers[siger].raw(), serder.raw()))) { + return false; + } + } + }catch(e) { + throw new Error(`ERROR = ${e}`); + } + + if (sigers.length < 1) + return false; + + return true; + } + + /** + * @description Assumes that all sigers signatures were already verified + If sith not provided then use .sith instead + * @param {*} sigers sigers is list of Siger instances + * @param {*} serder serder is Serder instance + */ + verifySith(sigers: any, sith = null) { + if (!sith) { + sith = this.sith; + } + if (!(typeof (sith) == 'number')) { + throw new Error(`Unsupported type for sith =${sith}`); + } + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if (sigers.length < sith.length) { + return false; + } + return true; + } + + /** + * @description Update associated logs for verified event + * @param {*} sigers sigers is list of Siger instances + * @param {*} serder serder is Serder instance + */ + logEvent(serder: any, sigers: any, flag: any) { + const dgKey = dgkey(this.prefixer.qb64b(), this.diger.qb64b()); + const date = new Date(); + this.logger.putDts(dgKey, Buffer.from(date.toISOString(), 'binary')); + for (const k in sigers) { + this.logger.putSigs(dgKey, [sigers[k].qb64b()]); + } + this.logger.putEvt(dgKey, serder.raw()); + this.logger.addKe(snkey(this.prefixer.qb64b(), this.sn), this.diger.qb64b(), flag); + } + + /** + * @description Update associated logs for escrow of partially signed event + * @param {*} serder serder is Serder instance of event + * @param {*} sigers sigers is list of Siger instance for event + * @param {*} pre pre is str qb64 ofidentifier prefix of event + * @param {*} sn sn is int sequence number of event + */ + escrowEvent(serder: any, sigers: any, pre: any, sn: any) { + const dgKey = dgkey(pre, serder.digb()); + var date = new Date(); + this.logger.putDts(dgKey, Buffer.from(date.toISOString(), 'binary')); + for (const k in sigers) { + this.logger.putSigs(dgKey, [sigers[k].qb64b()]); + } + this.logger.putEvt(dgKey, serder.raw()); + this.logger.addPses(snkey(pre, sn), serder.digb()); + } +} + +function removeDuplicates(data: any) { + return data.filter((value: any, index: any) => data.indexOf(value) !== index); +} +module.exports = { Kever }; diff --git a/src/keri/eventing/TraitCodex.ts b/src/keri/eventing/TraitCodex.ts new file mode 100644 index 00000000..e9d0274d --- /dev/null +++ b/src/keri/eventing/TraitCodex.ts @@ -0,0 +1,349 @@ +const { + // @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serials'. + Serials, versify, Ilks,Versionage +} = require('../core/core'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable '_'. +const _ = require('lodash'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Prefixer'. +const { Prefixer } = require('../core/prefixer'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serder'. +const { Serder } = require('../core/serder'); +const derivationCodeLength = require('../core/derivationCodes'); + +/** + * @description TraitCodex is codex of inception configuration trait code strings + Only provide defined codes. + Undefined are left out so that inclusion(exclusion) via 'in' operator works. + */ +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'TraitCodex... Remove this comment to see the full error message +class TraitCodex { + + static readonly EstOnly = 'EO' + constructor() { } + + /** + * @description Returns serder of inception event message. + Utility function to automate creation of inception events. + */ + incept(keys: any, + code = null, + version = Versionage, + kind = Serials.json, + sith: number = 0, + nxt = '', + toad: number = 0, + wits: string[] = [], + cnfg = null, + ) { + let vs = versify(version, kind, 0); + let sn = 0; + let ilk = Ilks.icp; + let prefixer = null; + if (sith == null) { + sith = Math.max(1, Math.ceil(keys.length / 2)); + } + if (sith < 1 || sith > keys.length) { + throw new Error(`Invalid sith = ${sith} for keys = ${keys}`); + } + + + if (wits.length === 0) { + toad = 0; + } else { + toad = Math.max(1, Math.ceil(wits.length / 2)); + } + + if (wits.length !== 0) { + if (toad < 1 || toad > wits.length) { + throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); + } + } else { + if (toad !== 0) { + throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); + } + } + + + if (!cnfg) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + cnfg = []; + } + + + let ked = { + vs: vs, // version string + pre: '', //# qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk: ilk, + sith: sith.toString(16), //# hex string no leading zeros lowercase + keys: keys, //# list of qb64 + nxt: nxt, //# hash qual Base64 + toad: toad.toString(16), // # hex string no leading zeros lowercase + wits: wits, // # list of qb64 may be empty + cnfg: cnfg, // # list of config ordered mappings may be empty + }; + if (code == null && keys.length === 1) { + prefixer = new Prefixer(null, derivationCodeLength.oneCharCode.Ed25519N, null, null, null, keys[0]); + } + else { + prefixer = new Prefixer(null, code, ked); + } + ked['pre'] = prefixer.qb64(); + return new Serder(null, ked); + } + + /** + * @description Returns serder of rotation event message. + Utility function to automate creation of rotation events. + */ + rotate(pre: any, + keys: any, + dig: any, sn = 1, + version = Versionage, + kind = Serials.json, + sith = null, + nxt = '', + toad = null, + wits = null, //# prior existing wits + cuts = null, + adds = null, + data = null, + ) { + let cutset: any; let addset = null; + let vs = versify(version, kind, 0); + let ilk = Ilks.rot; + + if (sn < 1) { + throw new Error(`Invalid sn = ${sn} for rot.`); + } + if (sith === null) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'number' is not assignable to type 'null'. + sith = Math.max(1, Math.ceil(keys.length / 2)); + } + if (typeof(sith) == 'number') { + if (sith < 1 || sith > keys.length) { + throw new Error(`Invalid sith = ${sith} for keys = ${keys}`); + } + } + else { + throw new Error(`invalid sith = ${sith}.`); + } + + + + if (!wits) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + wits = [];} + + let witset = wits; + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if ((witset).length !== wits.length) { + throw new Error(`Invalid wits = ${wits}, has duplicates.`); + } + + + + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + if (!cuts) cuts = []; + + cutset = cuts; + if(!(_.isEqual(witset,cutset))) { + throw new Error(`Invalid cuts = ${cuts}, not all members in wits.`); + } + + + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + if (!adds) adds = []; + + addset = adds; + + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if(addset.length !== adds.length ) { + throw new Error(`Invalid adds = ${adds}, has duplicates.`); + } + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if((cutset.length > 0) && (addset.length > 0)) { + throw new Error(`Intersecting cuts = ${cuts} and adds = ${adds}.`); + } + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if((witset.length > 0) && (addset.length > 0)) { + throw new Error(`Intersecting wits = ${wits} and adds = ${adds}.`); + } + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + let newitset = witset.filter((x: any) => !cutset.includes(x)); + + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if((newitset.length) !== (wits.length -cuts.length + adds.length) ) { + throw new Error( `Invalid member combination among wits = ${wits}, cuts = ${cuts},and adds = ${adds}.`); + } + + + + if(!toad) { + // @ts-expect-error ts-migrate(2322) FIXME: Type '0' is not assignable to type 'null'. + if(newitset.length === 0) {toad = 0;} + // @ts-expect-error ts-migrate(2322) FIXME: Type 'number' is not assignable to type 'null'. + else {toad = Math.max(1, Math.ceil(newitset.length / 2));} + } + if(newitset.length > 0) { + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if(toad <1 || toad > newitset.length) { + throw new Error(`Invalid toad = ${toad} for resultant wits = ${newitset}`); + } + }else { + if(toad !== 0) { + throw new Error(`Invalid toad = ${toad} for resultant wits = ${newitset}`); + } + } + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + if (!data) data = []; + + let ked = { + vs: vs, // version string + pre: pre, //# qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk: ilk, + dig :dig, + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + sith: sith.toString(16), //# hex string no leading zeros lowercase + keys: keys, //# list of qb64 + nxt: nxt, //# hash qual Base64 + // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + toad: toad.toString(16), // # hex string no leading zeros lowercase + cuts :cuts, // # list of qb64 may be empty + adds :adds, // # list of qb64 may be empty + data :data, // # list of seals // # list of config ordered mappings may be empty + }; + + return new Serder(null, ked); + } + + /** + * @description Returns serder of interaction event message. + Utility function to automate creation of interaction events. + */ + + interact(pre: any, + dig: any, + sn=1, + version=Versionage, + kind=Serials.json, + data=null, + ) { + let vs = versify(version, kind, 0); + //let sn = 0 + let ilk = Ilks.ixn; + + if (sn < 1) { + throw new Error(`Invalid sn = ${sn} for rot.`); + } + + + // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. + if (!data) data = []; + + + let ked = { + v: vs, // version string + i: pre, //# qb64 prefix + s: sn.toString(16), // # hex string no leading zeros lowercase + t: ilk, + d :dig, + a :data, // # list of seals // # list of config ordered mappings may be empty + }; + return new Serder(null, ked); + } + + /** + * @description Returns serder of event receipt message for non-transferable receipter prefix. + Utility function to automate creation of interaction events. + * @param {*} pre pre is qb64 str of prefix of event being receipted + * @param {*} sn sn is int sequence number of event being receipted + * @param {*} dig dig is qb64 of digest of event being receipted + * @param {*} version version is Version instance of receipt + * @param {*} kind kind is serialization kind of receipt + */ + receipt(pre: any, + sn: any, + dig: any, + version=Versionage, + kind=Serials.json + ) { + let vs = versify(version, kind, 0); + //let sn = 0 + let ilk = Ilks.rct; + + if (sn < 1) { + throw new Error(`Invalid sn = ${sn} for rct.`); + } + + let ked = { + vs:vs, //# version string + pre:pre, //# qb64 prefix + ilk:ilk, //# Ilks.rct + sn:sn.toString(16), //# hex string no leading zeros lowercase + dig:dig, //# qb64 digest of receipted event + }; + + return new Serder(null, ked); + } + + /** + * @description Returns serder of validator event receipt message for transferable receipter + prefix. + Utility function to automate creation of interaction events. + * @param {string} pre pre is qb64 str of prefix of event being receipted + * @param {*} sn sn is int sequence number of event being receipted + * @param {*} dig dig is qb64 of digest of event being receipted + * @param {*} seal seal is namedTuple of SealEvent of receipter's last Est event + * @param {*} version version is Version instance of receipt + * @param {*} kind kind is serialization kind of receipt + */ + + chit(pre: any, + sn: any, + dig: any, + seal: any, + version=Versionage, + kind=Serials.json + ) { + let vs_ = versify(version, kind, 0); + //let sn = 0 + let ilk = Ilks.vrc; + if (sn < 1) { + `Invalid sn = ${sn} for vrc.`; + } + + let ked = { + vs :vs_, // # version string + pre:pre, //# qb64 prefix + ilk:ilk, //# Ilks.vrc + sn:sn.toString(16), // # hex string no leading zeros lowercase + dig:dig, // # qb64 digest of receipted event + seal:seal // # event seal: pre, dig + }; + return new Serder(null, ked); + } +} + +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'isSorted'. +function isSorted(array: any) { + const limit = array.length - 1; + for (let i = 0; i < limit; i++) { + const current = array[i]; const next = array[i + 1]; + if (current > next) { return false; } + } + return true; +} + + +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'hasDuplica... Remove this comment to see the full error message +function hasDuplicates(array: any) { + return (new Set(array)).size !== array.length; +} + +module.exports = { isSorted, hasDuplicates, TraitCodex }; diff --git a/src/keri/eventing/index.ts b/src/keri/eventing/index.ts new file mode 100644 index 00000000..5d61a333 --- /dev/null +++ b/src/keri/eventing/index.ts @@ -0,0 +1,10 @@ +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Kever'. +const Kever = require('./Kever'); +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'TraitCodex... Remove this comment to see the full error message +const TraitCodex = require('./TraitCodex'); +const kevery = require('./kevery'); +const util = require('./util'); + +module.exports = { + Kever, TraitCodex, kevery, util, +}; diff --git a/src/keri/eventing/kevery.ts b/src/keri/eventing/kevery.ts new file mode 100644 index 00000000..dd9bc95c --- /dev/null +++ b/src/keri/eventing/kevery.ts @@ -0,0 +1,567 @@ + + + +// Kevery processes an incoming message stream and when appropriate generates +// an outgoing steam. When the incoming streams includes key event messages +// then Kevery acts putKes Kever (KERI key event verifier) factory. + +// @ts-expect-error ts-migrate(6200) FIXME: Definitions of the following identifiers conflict ... Remove this comment to see the full error message +const { Serder } = require('../core/serder') +const derivationCodes = require('../core/derivationCode&Length') +const { Prefixer } = require('../core/prefixer') +const { Kever } = require('../eventing/Kever') +const { CryCounter } = require('../core/cryCounter') +const {Sigcounter} = require('../core/SigCounter') +const {Sigver} = require('../core/sigver') +const {Siger} = require('../core/siger') +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serials'. +const { Serials, Versionage, IcpLabels, Ilks } = require('../core/core') +// const {SealEvent} = require('../eventing/util') +// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable '_'. +const _ = require('lodash'); +const { range } = require("lodash"); +const { Verfer } = require("../core/verfer"); +const { snkey, Logger, dgkey } = require('../db/index') +// Only supports current version VERSION + +// Has the following public attributes and properties: + +// Attributes: +// .ims is bytearray incoming message stream +// .oms is bytearray outgoing message stream +// .kevers is dict of existing kevers indexed by pre (qb64) of each Kever +// .logs is named tuple of logs +// .framed is Boolean stream is packet framed If True Else not framed +class Kevery { + framed: any; + ims: any; + kevers: any; + logger: any; + logger_: any; + oms: any; + + + constructor(ims = null, oms = null, kevers = null, logger = null, framed = true) { + + if (ims) { this.ims = ims } else { + this.ims = Buffer.alloc(256); + } + + if (oms) { this.oms = oms } else { + this.oms = Buffer.alloc(256); + } + + if (framed) { this.framed = true } else { + this.framed = false + } + + if (kevers) { this.kevers = kevers } else { + this.kevers = {} + } + + if (!logger) { + + this.logger_= new Logger().next().value + } + else { + this.logger = logger + } + + } + + + /** + * @description Process all messages from incoming message stream, ims, when provided +Otherwise process all messages from .ims + */ + processAll(ims = null) { + + if (ims) { + // @ts-expect-error ts-migrate(2358) FIXME: The left-hand side of an 'instanceof' expression m... Remove this comment to see the full error message + if (!(ims instanceof Buffer)) { + // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. + ims = Buffer.from(ims,'binary') + } + } + else { + ims = this.ims + } + let ims_ = [ims] + for (let i = 0 ; i < ims_.length ; i ++) { + try { + + this.processOne(ims_[i], this.framed,true) + } catch (error) { + console.log("\nERROR:",error) + throw error + } + } +} + + + /** + * @description Extract one msg with attached signatures from incoming message stream, ims + And dispatch processing of message + * @param {*} ims ims is bytearray of serialized incoming message stream. + May contain one or more sets each of a serialized message with + attached cryptographic material such as signatures or receipts. + + * @param {*} framed framed is Boolean, If True and no sig counter then extract signatures + until end-of-stream. This is useful for framed packets with + one event and one set of attached signatures per invocation. + */ + async processOne(ims: any, framed = true,flag = false) { + let serder, nsigs ,counter = null + let sigers = [] + + try { + serder = new Serder(ims) + let raw = serder.raw() + serder.set_raw(raw) + } catch (err) { + throw new Error(`Error while processing message stream = ${err}`); + } + + let version = serder.version() + + if (!_.isEqual(version, Versionage)) { + throw new Error(`Unsupported version = ${version}, expected ${Versionage}.`) + } + ims = ims.slice(serder.size(),ims.length) + let ilk = serder.ked()['ilk'] //# dispatch abased on ilk (Types of events) + let arr = [Ilks.icp, Ilks.rot, Ilks.ixn, Ilks.dip, Ilks.drt] + if (arr.includes(ilk)) { + + try { + counter = new Sigcounter(null, ims) + nsigs = counter.count() + ims = ims.slice((counter.qb64()).length, ims.length) + } catch (error) { + console.log("ERROR WHILE EXTRACTING SIGNATURES :",error) + nsigs = 0 + } + + // let sigers = [] + + if (nsigs) { + for (let i in range(nsigs)) { + // # check here for type of attached signatures qb64 or qb2 + let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] + var siger = new Siger(null,...args) + siger.setVerfer(siger.verfer()) + sigers.push(siger) + + ims = ims.slice(0, (siger.qb64()).length) + } + } + else { // iF THERE IS no info on attached sigs + if (framed) { //parse for signatures until end-of-stream + while (ims) { + let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] + siger = new Siger(null,...args) + sigers.push(siger) + ims = ims.slice(0, (siger.qb64()).length) + } + } + } + + if (!sigers) { + throw new Error(`Missing attached signature(s).`); + } + this.processEvent(serder, sigers,flag) + + } else if (ilk === Ilks.rct) { + try { + let counter = new CryCounter(null,ims) //# qb64 + let ncpts = counter.count() + ims = ims.slice(0, (counter.qb64()).length) + } catch (error) { + let ncpts = 0 + } + + // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'ncpts'. + if (ncpts) { + // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'ncpts'. + for (let i in range(ncpts)) { + let verfer = new Verfer(null,ims) + ims = ims.slice(0, (verfer.qb64()).length) + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'derivation_code'. Did you mean '... Remove this comment to see the full error message + let sigver = new Sigver(null,derivation_code.twoCharCode.Ed25519,verfer,0,) + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigver'? + sigvers.push(sigver) + ims = ims.slice(0, (verfer.qb64()).length) + } + } else { + if (framed) { + while (ims) { + let verfer = new Verfer(ims) + ims = ims.slice(0, (verfer.qb64()).length) + + let sigver = new Sigver(ims, verfer) + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigver'? + sigvers.push(sigver) + + ims = ims.slice(0, (sigver.qb64()).length) + } + } + } + + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigers'? + if (!sigvers) + throw new Error(`Missing attached receipt couplet(s).`); + + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigers'? + await this.processReceipt(serder, sigvers) + + + } else if (ilk === Ilks.vrc) { + let nsigs = null + try { + counter = new Sigcounter(null, ims,null,null,derivationCodes.SigCntCodex.Base64) //# qb64 + nsigs = counter.count() + + ims = ims.slice((counter.qb64()).length, ims.length) + } catch (error) { + console.log("Error :",error) + nsigs = 0 + } + + if (nsigs) { + + for (let i in range(nsigs)) { + let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] + let siger = new Siger(null,...args) + + siger.setVerfer(siger.verfer()) + sigers.push(siger) + ims = ims.slice(0, (siger.qb64()).length) + } + } else { + if (framed) { + while (ims) { + let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] + let siger = new Siger(null,...args) + sigers.push(siger) + ims = ims.slice(0, (siger.qb64()).length) + } + } + } + + if (!sigers) { + throw new Error(`Missing attached signature(s) to receipt.`) + } + this.processChit(serder, sigers) + } else { + throw new Error(`Unexpected message ilk = ${ilk}.`); + } + } + + + /** + * @description Process one event serder with attached indexd signatures sigers + * Receipt dict labels + vs # version string + pre # qb64 prefix + ilk # rct + dig # qb64 digest of receipted event + */ + async processEvent(serder: any, sigers: any,flag: any) { + let prefixer, dig, kever, dgkey_, sno = null + let signers: any = [] + let signers_icp: any = [] + let ked = serder.ked() + serder.set_ked(ked) + var date = new Date() + + try { + prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519N, null, null, null, ked["pre"]) + } catch (error) { + throw new Error(`Invalid pre = ${ked["pre"]}.`); + + } + + let pre = prefixer.qb64() + let ilk = ked["ilk"] + + let sn = ked['sn'] + if (sn.length > 32) { + throw new Error(`Invalid sn = ${sn} too large.`) + } + + try { + sn = parseInt(sn, 16) + } catch (error) { + throw new Error(`Invalid sn = ${sn}`); + } + + dig = serder.dig() + + + if (!(pre in this.kevers)) { + if (ilk == Ilks.icp) { + + kever = new Kever(serder,sigers, null,this.logger,flag) + + this.kevers[pre] = kever + } else { + dgkey_ = dgkey(pre, dig) + this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) + for(let siger in sigers){ + signers[siger] = sigers[siger].qb64b() + } + + + this.logger.putSigs(dgkey_,signers) + this.logger.putEvt(dgkey_, serder.raw()) + this.logger.addOoe(snkey(pre, sn), dig) + } + } + else { + if (ilk == Ilks.icp) { + dgkey_ = dgkey(pre, dig) + this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) + for(let siger in sigers){ + signers_icp[siger] = sigers[siger].qb64b() + } + this.logger.putSigs(dgkey_, signers_icp) + this.logger.putEvt(dgkey_, serder.raw()) + this.logger.addLde(snkey(pre, sn), dig) + } else { + kever = this.kevers[pre] // # get existing kever for pre + sno = kever.sn + 1 //# proper sn of new inorder event + if (sn > sno) // # sn later than sno so out of order escrow + { + dgkey_ = dgkey(pre, dig) + this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) + + for(let siger in sigers){ + signers[siger] = sigers[siger].qb64b() + } + this.logger.putSigs(dgkey_, signers) + this.logger.putEvt(dgkey_, serder.raw()) + this.logger.addOoe(snkey(pre, sn), dig) + } else if ((sn == sno) || + (ilk == Ilks.rot && kever.lastEst.sn < sn <= sno)) { + kever.update(serder, sigers,null,null,flag) + + } else { + dgkey_= dgkey(pre, dig) + this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) + + for(let siger in sigers){ + signers[siger] = sigers[siger].qb64b() + } + this.logger.putSigs(dgkey_,signers) + this.logger.putEvt(dgkey_, serder.raw()) + this.logger.addLde(snkey(pre, sn), dig) + } + } + + + } + + } + + + + /** + * @description Process one receipt serder with attached sigvers + * @param {*} serder + * @param {*} sigvers + */ + async processReceipt(serder: any, sigvers: any){ + + let ked = serder.ked() + let pre = ked["pre"] + let sn = ked["sn"] + let dig,snkey,ldig,eserder,couplet = null + if(sn.length > 32){ + throw new Error(`Invalid sn = ${sn} too large.`) + } + try{ + sn = parseInt(sn,16) + }catch(error){ + throw new Error(`Invalid sn = ${sn}`) + } + + dig = ked["dig"] + // # Only accept receipt if for last seen version of event at sn + // @ts-expect-error ts-migrate(2722) FIXME: Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message + snkey = await snkey(pre, sn) + ldig = await this.logger.getKeLast(snkey) // retrieve dig of last event at sn. + + + // # retrieve event by dig + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'dgKey'. Did you mean 'dgkey_'? + let dgkey_ = dgKey(pre, dig) + let raw = (self as any).logger.getEvt(dgkey_); //# retrieve receipted event at dig + //# retrieve receipted event at dig + + if(ldig){ + + ldig = ldig.toString('utf-8') + if(ldig !== dig){ + throw new Error(`Stale receipt at sn = ${ked["sn"]}`) + } + + eserder = new Serder(Buffer.from(raw,'binary')) + + for(let sigver of sigvers) { + if(!sigver.verfer.nontrans){ + {} + } + if(sigver.verfer.verify(sigver.raw(), eserder.raw())){ + couplet = sigver.verfer.qb64b() + sigver.qb64b() + this.logger.addRct(dgkey, couplet) + } + + } + }else { + if(raw){ + + throw new Error(`Bad receipt for sn = ${ked["sn"]} and dig = ${dig }.`) + } + + for(let sigver of sigvers){ + if(!sigver.verfer.nontrans){ + {} + } + // @ts-expect-error ts-migrate(2532) FIXME: Object is possibly 'undefined'. + if(sigver.verfer.verify(sigver.raw(), eserder.raw())){ + + couplet = sigver.verfer.qb64b() + sigver.qb64b() + this.logger.addUre(dgkey, couplet) + } + + } + } + } + + + + /** + * @description Process one transferable validator receipt (chit) serder with attached sigers + * @param {} serder serder is chit serder (transferable validator receipt message) + * @param {*} sigers sigers is list of Siger instances that contain signature + + */ + processChit(serder: any, sigers: any){ + let SealEvent = {pre:"" ,dig: ""} + let dig,seal,sealet,snKey_,dgKey_,ldig,raw,rekever,triplet = null + let ked = serder.ked() + serder.set_ked(ked) + + // serder.set_raw(serder.raw()) + let pre = ked["pre"] + let sn = ked["sn"] + + if(sn.length > 32){ + throw new Error(`Invalid sn = ${sn} too large.`); + } + + try{ + sn = parseInt(sn,16) + }catch(error){ + throw new Error(`Invalid sn = ${sn}`) + } + dig = ked["dig"] + SealEvent.pre = ked["seal"].pre + SealEvent.dig = ked["seal"].dig + // seal = SealEvent + sealet = [Buffer.from(SealEvent.pre,'binary'), Buffer.from(SealEvent.dig,'binary')] + sealet = Buffer.concat(sealet) + + snKey_ = snkey(pre,sn) + ldig = this.logger.getKeLast(snKey_) // # retrieve dig of last event at sn + dgKey_ = dgkey(pre,dig) + raw = this.logger.getEvt(dgKey_) // # retrieve receipted event at dig + if(ldig != null && ldig !== false ){ + + ldig = ldig.toString() + if((ldig !== dig)){ + throw new Error(`Stale receipt at sn = ${dig}, ${ldig} ${ked["seal"].dig}`) + } + } + else { + if(raw !=null){ + throw new Error(`Bad receipt for sn = ${ked["sn"]} and dig = ${dig}.`) + } + + } + + + + if (ldig != null && raw !=null && SealEvent.pre in this.kevers){ + rekever = this.kevers[SealEvent.pre] + + if (rekever.lastEst.dig !== SealEvent.dig) + throw new Error(`Stale receipt for pre = ${SealEvent.pre} dig = ${SealEvent.dig} from validator = ${SealEvent.pre}.`); + + + for (let siger in sigers ){ + if(sigers[siger].index() >=(rekever.verfers).length){ + throw new Error(`Index = ${sigers[siger].index} to large for keys.`) + } + sigers[siger].setVerfer(rekever.verfers[sigers[siger].index()] ) + if(sigers[siger].verfer().verify(sigers[siger].raw(), raw)){ + triplet = [sealet , sigers[siger].qb64b()] + triplet = Buffer.concat(triplet) + this.logger.addVrc(dgKey_,triplet) + } + } + }else { + for (let siger in sigers ){ + triplet = sealet + sigers[siger].qb64b() + this.logger.addVre(dgKey_, triplet) + } + } + + } + + + + + /** + * @description Processes potential duplicitous events in PDELs + + Handles duplicity detection and logging if duplicitous + + * @param {*} serder + * @param {*} sigers + */ + duplicity(serder: any, sigers: any){ + + // @ts-expect-error ts-migrate(2461) FIXME: Type 'null' is not an array type. + let [prefixer,pre,ked,ilk,sn,dig] = null + let ked1 = serder.ked + + try{ + prefixer = new Prefixer(null,null,null,null,null,ked["pre"]) + }catch(err){ +throw new Error(`Invalid pre = ${ked["pre"]}.`); + } + + pre = prefixer.qb64 + ked = serder.ked + ilk = ked["ilk"] + + try{ + sn = parseInt(ked["sn"], 16) + }catch(err){ + throw new Error(`Invalid sn = ${ked["sn"]}`) + } + dig = serder.dig + + + + if (ilk === Ilks.icp){ + // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'siger'. Did you mean 'sigers'? + let kever = new Kever(serder, siger, (self as any).logger); + }else { + {} + } + + } +} + +module.exports = {Kevery} \ No newline at end of file diff --git a/src/keri/eventing/tsconfig.json b/src/keri/eventing/tsconfig.json new file mode 100644 index 00000000..83b5f573 --- /dev/null +++ b/src/keri/eventing/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/src/keri/eventing/util.ts b/src/keri/eventing/util.ts new file mode 100644 index 00000000..9cd7709d --- /dev/null +++ b/src/keri/eventing/util.ts @@ -0,0 +1,40 @@ +// # Location of last establishment key event: sn is int, dig is qb64 digest + +const LastEstLoc = { + sn: '', + dig: '', +}; +// # for the following Seal namedtuples use the ._asdict() method to convert to dict +// # when using in events + +// # Digest Seal: dig is qb64 digest of data + +const SealDigest = { + + dig: '', +}; +// # Root Seal: root is qb64 digest that is merkle tree root of data tree + +const SealRoot = { + root: '', +}; +// # Event Seal: pre is qb64 of identifier prefix of KEL, dig is qb64 digest of event + +const SealEvent = { + pre: '', + dig: '', +}; + +// # Event Location Seal: pre is qb64 of identifier prefix of KEL, +// # sn is hex string, ilk is str, dig is qb64 of prior event digest + +const SealLocation = { + pre: '', + dig: '', + sn: '', + +}; + +module.exports = { + LastEstLoc, SealDigest, SealRoot, SealEvent, SealLocation, +}; diff --git a/src/keri/help/stringToBinary.js b/src/keri/help/stringToBinary.js new file mode 100644 index 00000000..23205ad2 --- /dev/null +++ b/src/keri/help/stringToBinary.js @@ -0,0 +1,69 @@ +const Deque = require('collections/deque'); +const derivationCodeLength = require('../core/derivationCodes'); +function string2Bin(s) { + var b = new Array(); + var last = s.length; + + for (var i = 0; i < last; i++) { + var d = s.charCodeAt(i); + if (d < 128) + b[i] = dec2Bin(d); + else { + let c = s.charAt(i); + b[i] = -1; + } + } + return b; +} + +function dec2Bin(d) { + var b = ''; + + for (var i = 0; i < 8; i++) { + b = (d % 2) + b; + d = Math.floor(d / 2); + } + + return b; +} + +function intToB64(i, l = 1) { + const queue = []; + queue.unshift(derivationCodeLength.b64ChrByIdx[i % 64]); + i = Math.floor(i / 64); + if (i > 0) { + for (let k = 0; k <= i; k++) { + queue.unshift(derivationCodeLength.b64ChrByIdx[i % 64]); + i = Math.floor(i / 64); + } + } + + const {length} = queue; + + for (let j = 0; j < l - length; j++) { + queue.unshift(derivationCodeLength.b64ChrByIdx[j % 64]); + } + return queue.join(''); +} +/** + * @description Returns conversion of Base64 str cs to int + * @param {} cs + */ +function b64ToInt(cs) { + let i = 0; + + const splitString = cs.split(''); + const reverseArray = splitString.reverse(); + + for (const [index, element] of reverseArray.entries()) { + const keyOfValue = Object.keys(derivationCodeLength.b64ChrByIdx).find(key => derivationCodeLength.b64ChrByIdx[key] === element); + i += keyOfValue * 64 ** index; + } + + return i; +} +module.exports = { + string2Bin, + intToB64, + b64ToInt, +}; diff --git a/src/keri/hold/tsconfig.json b/src/keri/hold/tsconfig.json new file mode 100644 index 00000000..83b5f573 --- /dev/null +++ b/src/keri/hold/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/test/core/diger.test.ts b/test/core/diger.test.ts new file mode 100644 index 00000000..63cc3275 --- /dev/null +++ b/test/core/diger.test.ts @@ -0,0 +1,49 @@ +const Base64 = require('urlsafe-base64'); +const blake3 = require('blake3'); +import {strict as assert} from "assert"; + +const { Diger } = require('../../src/keri/core/diger'); +const derivationCodes = require('../../src/keri/core/derivationCodes'); + + +describe('Diger', () => { + it('should generate digests', () => { + // Create something to digest and verify + const ser = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789', 'binary'); + const hasher = blake3.createHash(); + const dig = blake3.hash(ser); + console.log(Base64.encode(dig)) + const digest = hasher.update(ser).digest(''); + + let diger = new Diger(digest); + assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + assert.deepStrictEqual( + diger.raw().length, + derivationCodes.CryOneRawSizes[diger.code()], + ); + let result = diger.verify(ser); + assert.equal(result, true); + + result = diger.verify( + Buffer.concat([ser, Buffer.from('2j2idjpwjfepjtgi', 'binary')]), + ); + assert.equal(result, false); + diger = new Diger(digest, null, derivationCodes.oneCharCode.Blake3_256); + assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + assert.deepStrictEqual( + diger.raw().length, + derivationCodes.CryOneRawSizes[diger.getCode], + ); + result = diger.verify(ser); + assert.equal(result, true); + + diger = new Diger(null, ser); + assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + assert.deepStrictEqual( + diger.raw().length, + derivationCodes.CryOneRawSizes[diger.code()], + ); + result = diger.verify(ser); + assert.equal(result, true); + }); +}); diff --git a/test/core/prefixer.test.ts b/test/core/prefixer.test.ts new file mode 100644 index 00000000..41857957 --- /dev/null +++ b/test/core/prefixer.test.ts @@ -0,0 +1,299 @@ +import {strict as assert} from "assert"; +const libsodium = require('libsodium-wrappers-sumo'); +const derivationCodes = require('../../src/keri/core/derivationCodes'); +const { Crymat } = require('../../src/keri/core/cryMat'); +const { Verfer } = require('../../src/keri/core/verfer'); +const { Prefixer } = require('../../src/keri/core/prefixer'); +const { Nexter } = require('../../src/keri/core/nexter'); +const { Signer } = require('../../src/keri/core/signer'); +const { + versify, + Serials, + Versionage, + Ilks, +} = require('../../src/keri/core/core'); +// namespace our extensions + + + +describe('Prefixer', () => { + it('should generate prefixes', async () => { + // raw = null, qb64 = null, qb2 = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0 + await libsodium.ready; + let vk = '\xacr\xda\xc83~\x99r\xaf\xeb`\xc0\x8cR\xd7\xd7\xf69\xc8E\x1e\xd2\xf0=`\xf7\xbf\x8a\x18\x8a`q'; + let verkey = Buffer.from(vk, 'binary'); + let verfer = new Verfer(verkey); + console.log(verfer.qb64()) + assert.deepStrictEqual( + verfer.qb64(), + 'BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE', + ); + + let nk = "\xa6_\x894J\xf25T\xc1\x83#\x06\x98L\xa6\xef\x1a\xb3h\xeaA:x'\xda\x04\x88\xb2\xc4_\xf6\x00"; + let nxtkey = Buffer.from(nk, 'binary'); + const nxtfer = new Verfer( + nxtkey, + null, + null, + derivationCodes.oneCharCode.Ed25519, + ); + console.log(nxtfer.qb64()) + assert.deepStrictEqual( + nxtfer.qb64(), + 'Dpl-JNEryNVTBgyMGmEym7xqzaOpBOngn2gSIssRf9gA', + ); + + // test creation given raw and code no derivation + + let prefixer = new Prefixer(verkey); + + assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519N); + assert.deepStrictEqual( + prefixer.raw().length, + derivationCodes.CryOneRawSizes[prefixer.code()], + ); + assert.deepStrictEqual( + prefixer.qb64().length, + derivationCodes.CryOneSizes[prefixer.code()], + ); + + + let ked = { keys: [prefixer.qb64()], nxt: '' }; + assert.deepEqual(prefixer.verify(ked), true); + + ked = { keys: [prefixer.qb64()], nxt: 'ABC' }; + assert.deepEqual(prefixer.verify(ked), false); + + // (raw = null), + // (code = derivationCodes.oneCharCode.Ed25519N), + // (ked = null), + // (seed = null), // secret = null, ...kwa + prefixer = new Prefixer( + verkey, + derivationCodes.oneCharCode.Ed25519, + null, + null, + null, + ); // # defaults provide Ed25519N prefixer + assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519); + assert.deepStrictEqual( + prefixer.raw().length, + derivationCodes.CryOneRawSizes[prefixer.code()], + ); + assert.deepStrictEqual( + prefixer.qb64().length, + derivationCodes.CryOneSizes[prefixer.code()], + ); + + + ked = { keys: [prefixer.qb64()], nxt: '' }; + assert.deepStrictEqual(prefixer.verify(ked), true); + + // raw = null, qb64 = null, qb2 = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0 + verfer = new Verfer( + verkey, + null, + null, + derivationCodes.oneCharCode.Ed25519, + 0, + ); + prefixer = new Prefixer(verfer.raw()); + assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519N); + assert.deepStrictEqual(prefixer.verify(ked), false); + + // // # # Test basic derivation from ked + // + ked = { keys: [verfer.qb64()], nxt: '' }; + + // raw = null, code = derivation_code.oneCharCode.Ed25519N, ked = null, seed = null, secret = null, ...kwa + prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519, ked); + assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); + assert.deepStrictEqual(prefixer.verify(ked), true); + + verfer = new Verfer( + verkey, + null, + null, + derivationCodes.oneCharCode.Ed25519N, + 0, + ); + ked = { keys: [verfer.qb64()], nxt: '' }; + prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519N, ked); + + assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); + assert.deepStrictEqual(prefixer.verify(ked), true); + // + // // # # Test digest derivation from inception ked + let vs = versify(Versionage, Serials.json, 0); + let sn = 0; + let ilk = Ilks.icp; + let sith = 1; + prefixer = new Crymat( + verkey, + null, + null, + derivationCodes.oneCharCode.Ed25519, + ); + + let keys = [prefixer.qb64()]; + let nxt = ''; + let toad = 0; + // @ts-ignore + let wits: string[] = []; + // @ts-ignore + let cnfg: string[] = []; + console.log('key is --------->', vs); + let ked1 = { + vs: vs.toString(), // version string + pre: '', // # qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk, + sith: sith.toString(16), // # hex string no leading zeros lowercase + keys, // # list of qb64 + nxt, // # hash qual Base64 + toad: toad.toString(16), // # hex string no leading zeros lowercase + wits, // # list of qb64 may be empty + cnfg, // # list of config ordered mappings may be empty + }; + // util.pad(size.toString(16), VERRAWSIZE); + // console.log("key is --------->", keys); + let prefixer1 = new Prefixer( + null, + derivationCodes.oneCharCode.Blake3_256, + ked1, + ); + + assert.deepStrictEqual( + prefixer1.qb64(), + 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', + ); + assert.deepStrictEqual(prefixer1.verify(ked1, null), true); + console.log(prefixer1.qb64()) + + + // # # Test digest derivation from inception ked + const nexter = new Nexter(null, 1, [nxtfer.qb64()]); + + let ked2 = { + vs: vs.toString(), // version string + pre: '', // # qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk, + sith: sith.toString(16), // # hex string no leading zeros lowercase + keys, // # list of qb64 + nxt, // # hash qual Base64 + toad: toad.toString(16), // # hex string no leading zeros lowercase + wits, // # list of qb64 may be empty + cnfg, // # list of config ordered mappings may be empty + }; + + prefixer1 = new Prefixer( + null, + derivationCodes.oneCharCode.Blake3_256, + ked2, + ); + assert.deepStrictEqual( + prefixer1.qb64(), + 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', + ); + assert.deepStrictEqual(prefixer1.verify(ked2, null), true); + + // const perm = []; + const seal = { + pre: 'EkbeB57LYWRYNqg4xarckyfd_LsaH0J350WmOdvMwU_Q', + sn: '2', + ilk: Ilks.ixn, + dig: 'E03rxRmMcP2-I2Gd0sUhlYwjk8KEz5gNGxPwPg-sGJds', + }; + + let ked3 = { + vs: vs.toString(), // version string + pre: '', // # qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk: Ilks.dip, + sith: sith.toString(16), // # hex string no leading zeros lowercase + keys, // # list of qb64 + nxt: nexter.qb64(), // # hash qual Base64 + toad: toad.toString(16), // # hex string no leading zeros lowercase + wits, // # list of qb64 may be empty + perm: cnfg, + seal, // # list of config ordered mappings may be empty + }; + + prefixer1 = new Prefixer( + null, + derivationCodes.oneCharCode.Blake3_256, + ked3, + ); + assert.deepStrictEqual( + prefixer1.qb64(), + 'E_k7oVnOUQ_rVWhhuGwwkiHR-7LOfhtXybs7HMj5xLlY', + ); + assert.deepStrictEqual(prefixer1.verify(ked3, null), true); + + + // # # Test signature derivation + // + let seed = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); + const seed1 = '\xdf\x95\xf9\xbcK@s="\xee\x95w\xbf>F&\xbb\x82\x8f)\x95\xb9\xc0\x1eS\x1b{Lt\xcfH\xa6'; + seed = Buffer.from(seed1, 'binary'); + const signer = new Signer(seed, derivationCodes.oneCharCode.Ed25519_Seed, true, libsodium); + + let secret = signer.qb64(); + assert.deepStrictEqual( + secret, + 'A35X5vEtAcz0i7pV3vz5GJruCjymVucAeUxt7THTPSKY', + ); + + vs = versify(Versionage, Serials.json, 0); + sn = 0; + ilk = Ilks.icp; + sith = 1; + keys = [signer.verfer().qb64()]; + nxt = ''; + toad = 0; + wits = []; + cnfg = []; + + const nexter1 = new Nexter(null, 1, [nxtfer.qb64()]); + const t = keys[0]; + console.log( + 'Keys are ******************************************************', + t.toString(), + ); + let ked4 = { + vs: vs.toString(), // version string + pre: '', // # qb64 prefix + sn: sn.toString(16), // # hex string no leading zeros lowercase + ilk, + sith: sith.toString(16), // # hex string no leading zeros lowercase + keys, // # list of qb64 + nxt: nexter1.qb64(), // # hash qual Base64 + toad: toad.toString(16), // # hex string no leading zeros lowercase + wits, // # list of qb64 may be empty + cnfg, + // # list of config ordered mappings may be empty + }; + + prefixer1 = new Prefixer( + null, + derivationCodes.twoCharCode.Ed25519, + ked4, + seed, + ); + assert.deepStrictEqual( + prefixer1.qb64(), + '0Bs5Yv4vvIBcaq43bsF2s1kiSso0PYrxOILFCT-G1jsFJw2jfxnjcNFYA5pu7okeBfDev_CrA_DtP5MDXp51-AAA', + ); + // TODO: why not? + // assert.deepStrictEqual(prefixer1.verify(ked4), true); + assert.deepStrictEqual(prefixer1.qb64(), '0Bs5Yv4vvIBcaq43bsF2s1kiSso0PYrxOILFCT-G1jsFJw2jfxnjcNFYA5pu7okeBfDev_CrA_DtP5MDXp51-AAA'); + // + // # assert + // # assert prefixer.verify(ked=ked) == True + + // # prefixer = Prefixer(ked=ked, code=CryTwoDex.Ed25519, secret=secret) + // # assert prefixer.qb64 == '0B0uVeeaCtXTAj04_27g5pSKjXouQaC1mHcWswzkL7Jk0XC0yTyNnIvhaXnSxGbzY8WaPv63iAfWhJ81MKACRuAQ' + // # assert prefixer.verify(ked=ked) == True + }); +}); \ No newline at end of file diff --git a/test/core/serder.test.ts b/test/core/serder.test.ts new file mode 100644 index 00000000..8f51d63e --- /dev/null +++ b/test/core/serder.test.ts @@ -0,0 +1,340 @@ +export {}; +const assert = require('assert').strict; + +const {Serder} = require('../../src/keri/core/serder'); +const { + versify, + Serials, + Versionage, + Ilks, +} = require('../../src/keri/core/core'); + +const {TraitCodex} = require("../../src/keri/eventing/TraitCodex") + +// const msgpack = require('msgpack5')(); +// const {encode} = msgpack; +// const {decode} = msgpack; + +describe('Serder', () => { + // it('should create Serder objects', async () => { + // const e1 = { + // v: versify(null, Serials.json, 0), + // i: 'ABCDEFG', + // s: '0001', + // t: 'rot', + // }; + // console.log('e1 is --------------------->', e1); + // const Version = Versionage; + // + // const serder = new Serder(null, e1); + // serder.set_kind(); + // + // serder.set_raw(Buffer.from(JSON.stringify(e1), 'binary')); + // + // assert.deepStrictEqual(serder.getKed, e1); + // assert.deepStrictEqual(serder.getKind, Serials.json); + // assert.deepStrictEqual(serder.version(), Version); + // + // assert.deepStrictEqual( + // serder.dig(), + // 'EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY', + // ); + // assert.deepStrictEqual( + // serder.digb(), + // Buffer.from('EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY', 'binary'), + // ); + // assert.deepStrictEqual(serder.size(), 66); + // assert.deepStrictEqual( + // serder.raw(), + // Buffer.from( + // '{"vs":"KERI10JSON000042_","pre":"ABCDEFG","sn":"0001","ilk":"rot"}', + // 'binary', + // ), + // ); + // + // // ------------------------- SERDER VERFER IS PENDING ----------------------- + // assert.deepStrictEqual(serder.verfers(), []); + // + // const e1s = Buffer.from(JSON.stringify(e1), 'binary'); + // console.log('Els length is ------>', e1s.length); + // let vs = versify(null, Serials.json, e1s.length); + // assert.equal(vs, 'KERI10JSON000042_'); + // + // // // let [kind1, vers1, size1] = serder._sniff(e1s.slice(0,VERFULLSIZE)) + // // // console.log("e1s[:MINSNIFFSIZE] =========================>",e1s.slice(0,VERFULLSIZE)) + // // let [kind1, vers1, size1] = serder._sniff(e1s.slice(0,MINSNIFFSIZE )) + // // // assert.deepStrictEqual(kind1,Serials.json) + // // // assert.deepStrictEqual(size1,66) + // + // const [kind1, vers1, size1] = serder.sniff(e1s); + // // assert.deepStrictEqual(kind1,Serials.json) + // // assert.deepStrictEqual(size1,66) + // // const e1ss = e1s + Buffer.from('extra attached at the end.', 'binary'); + // const e1ss = e1s; + // const [ked1, knd1, vrs1, siz1] = serder.inhale(e1ss); + // assert.deepStrictEqual(ked1, e1); + // assert.deepStrictEqual(knd1, kind1); + // assert.deepStrictEqual(vrs1, vers1); + // assert.deepStrictEqual(siz1, size1); + // + // const [raw1, knd2, ked2, ver1] = serder.exhale(e1); + // assert.deepStrictEqual(Buffer.from(raw1, 'binary'), e1s); + // assert.deepStrictEqual(knd2, kind1); + // assert.deepStrictEqual(ked2, e1); + // assert.deepStrictEqual(vrs1, vers1); + // console.log(ver1) + // + // const e2 = { + // vs: versify(null, Serials.json, 0), + // pre: 'ABCDEFG', + // sn: '0001', + // ilk: 'rot', + // }; + // e2.vs = versify(null, Serials.mgpk, 0); + // console.log('==========================>', e2.vs); + // const e2s = encode(e2); + // const e2s1 = e2s; + // const msgBuffer = Buffer.from( + // '\x84\xa2vs\xb1KERI10MGPK000000_\xa3pre\xa7ABCDEFG\xa2sn\xa40001\xa3ilk\xa3rot', + // 'binary', + // ); + // assert.deepStrictEqual(e2s, msgBuffer); + // + // vs = versify(null, Serials.mgpk, e2s.length); // # use real length + // assert.deepStrictEqual(vs, 'KERI10MGPK000032_'); + // e2s1.vs = versify(null, Serials.mgpk, e2s.length); + // assert.deepStrictEqual(e2s1, e2s); + // // console.log("e2s ==========+>",decode(e2s)) + // // console.log("e2 ==========+>",encode(e2)) + // // console.log("if true or false ",(e2s == encode(e2))) + // assert.deepStrictEqual(decode(e2s), e2); + // + // const e3 = { + // vs: versify(null, Serials.json, 0), + // pre: 'ABCDEFG', + // sn: '0001', + // ilk: 'rot', + // }; + // e3.vs = versify(null, Serials.cbor, 0); + // // let e3s = cbor.encode(e3); + // // assert.deepEqual( + // // e3s, + // // Buffer.from( + // // '\xa4bvsqKERI10CBOR000000_cpregABCDEFGbsnd0001cilkcrot', + // // 'binary', + // // ), + // // ); + // // vs = versify(null, Serials.cbor, e3s.length); // # use real length + // // assert.equal(vs, 'KERI10CBOR000032_'); + // // e3.vs = vs; // # has real length + // + // // const e5 = { + // // vs: versify(null, Serials.cbor, 0), + // // pre: 'ABCDEFG', + // // sn: '0001', + // // ilk: 'rot', + // // }; + // // e3s = cbor.encode(e3); + // // console.log('e3s =============>', cbor.decode(e3s)); + // // const [kind3, vers3, size3] = serder.sniff(e3s.slice(0, MINSNIFFSIZE)); + // // assert.deepStrictEqual(kind3, Serials.cbor); + // // assert.equal(size3, 50); + // + // // const [kind3a, vers3a, size3a] = serder.sniff(e3s); + // // console.log(vers3a) + // // assert.deepStrictEqual(kind3a, Serials.cbor); + // // assert.deepStrictEqual(size3a, 50); + // // let e3ss = cbor.encode(e3) + + // // const encodedText = cbor.encode('extra attached at the end.'); + // // const encodedE3 = cbor.encode(e3); + // // const e3ss = Buffer.concat([encodedE3, encodedText]); + // // console.log('DECODING CBROR', e3ss); + // + // // const [ked3b, knd3b, vrs3b, siz3b] = serder.inhale(e3ss); + // // + // // // --------------------- This case is getting failed --------------------- + // // assert.deepStrictEqual(ked3b[0], e3); + // // // ---------------------------- + // // assert.deepStrictEqual(knd3b, kind3); + // // assert.deepStrictEqual(vrs3b, vers3); + // // assert.deepStrictEqual(siz3b, size3); + // // + // // // # with pytest.raises(ShortageError): # test too short + // // // # ked3, knd3, vrs3, siz3 = serder._inhale(e3ss[:size3-1]) + // // console.log('e3 is- --------->', e5); + // // let [raw3c, knd3c, ked3c, ver3c] = serder.exhale(e5); + // // assert.deepStrictEqual(raw3c, e3s); + // // assert.deepStrictEqual(knd3c, kind3); + // // assert.deepStrictEqual(ked3c, e3); + // // assert.deepStrictEqual(vrs3b, vers3a); + // + // // console.log( + // // "versify(null,Serials.json,0) =================>", + // // versify(null, Serials.json, 0) + // // ); + // // let e7 = { + // // vs: versify(null, Serials.json, e1s.length), + // // pre: "ABCDEFG", + // // sn: "0001", + // // ilk: "rot", + // // }; + // // let t = + // // Buffer.from(JSON.stringify(e7), "binary") + + // // Buffer.from("extra attached at the end.", "binary"); + // // console.log("vaue of t is --->", t); + // // let evt1 = new Serder(t); + // // evt1.set_raw(t); + // // console.log("e3ss =============>", t); + // // assert.deepStrictEqual(evt1.kind(), kind1); + // // assert.deepStrictEqual(evt1.raw(), e1s); + // // assert.deepStrictEqual(evt1.ked(), ked1); + // // assert.deepStrictEqual(evt1.size(), size1); + // // assert.deepStrictEqual(evt1.raw().toString(), t.slice(0, size1)); + // // assert.deepStrictEqual(evt1.version(), vers1); + // + // // # # test digest properties .diger and .dig + // // # assert evt1.diger.qb64 == evt1.dig + // // # assert evt1.diger.code == CryOneDex.Blake3_256 + // // # assert len(evt1.diger.raw) == 32 + // // # assert len(evt1.dig) == 44 + // // # assert len(evt1.dig) == CryOneSizes[CryOneDex.Blake3_256] + // // # assert evt1.dig == 'EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY' + // // # assert evt1.diger.verify(evt1.raw) + // + // // console.log( + // // "versify(null,Serials.json,0) =================>", + // // versify(null, Serials.json, 0) + // // ); + // // e7 = { + // // vs: versify(null, Serials.json, e1s.length), + // // pre: "ABCDEFG", + // // sn: "0001", + // // ilk: "rot", + // // }; + // // t = + // // Buffer.from(JSON.stringify(e7), "binary") + + // // Buffer.from("extra attached at the end.", "binary"); + // // console.log("vaue of t is --->", t); + // // evt1 = new Serder(null, ked1); + // // evt1.set_raw(t); + // // assert.deepStrictEqual(evt1.kind(), kind1); + // // assert.deepStrictEqual(evt1.raw(), e1s); + // // assert.deepStrictEqual(evt1.ked(), ked1); + // // assert.deepStrictEqual(evt1.size(), size1); + // // assert.deepStrictEqual(evt1.raw().toString(), t.slice(0, size1)); + // // assert.deepStrictEqual(evt1.version(), vers1); + // + // // let evt2 = new Serder(e2ss) + // // # assert evt2.kind == kind2 + // // # assert evt2.raw == e2s + // // # assert evt2.ked == ked2 + // // # assert evt2.version == vers2 + // + // // # evt2 = Serder(ked=ked2) + // // # assert evt2.kind == kind2 + // // # assert evt2.raw == e2s + // // # assert evt2.ked == ked2 + // // # assert evt2.size == size2 + // // # assert evt2.raw == e2ss[:size2] + // // # assert evt2.version == vers2 + // + // // # evt3 = Serder(raw=e3ss) + // // # assert evt3.kind == kind3 + // // # assert evt3.raw == e3s + // // # assert evt3.ked == ked3 + // // # assert evt3.version == vers3 + // + // // # evt3 = Serder(ked=ked3) + // // # assert evt3.kind == kind3 + // // # assert evt3.raw == e3s + // // # assert evt3.ked == ked3 + // // # assert evt3.size == size3 + // // # assert evt3.raw == e3ss[:size3] + // // # assert evt3.version == vers3 + // + // // # # round trip + // // # evt2 = Serder(ked=evt1.ked) + // // # assert evt2.kind == evt1.kind + // // # assert evt2.raw == evt1.raw + // // # assert evt2.ked == evt1.ked + // // # assert evt2.size == evt1.size + // // # assert evt2.version == vers2 + // + // // # # Test change in kind by Serder + // // # evt1 = Serder(ked=ked1, kind=Serials.mgpk) # ked is json but kind mgpk + // // # assert evt1.kind == kind2 + // // # assert evt1.raw == e2s + // // # assert evt1.ked == ked2 + // // # assert evt1.size == size2 + // // # assert evt1.raw == e2ss[:size2] + // // # assert evt1.version == vers1 + // + // // # # round trip + // // # evt2 = Serder(raw=evt1.raw) + // // # assert evt2.kind == evt1.kind + // // # assert evt2.raw == evt1.raw + // // # assert evt2.ked == evt1.ked + // // # assert evt2.size == evt1.size + // // # assert evt2.version == vers2 + // + // // # evt1 = Serder(ked=ked1, kind=Serials.cbor) # ked is json but kind mgpk + // // # assert evt1.kind == kind3 + // // # assert evt1.raw == e3s + // // # assert evt1.ked == ked3 + // // # assert evt1.size == size3 + // // # assert evt1.raw == e3ss[:size3] + // // # assert evt1.version == vers1 + // + // // # # round trip + // // # evt2 = Serder(raw=evt1.raw) + // // # assert evt2.kind == evt1.kind + // // # assert evt2.raw == evt1.raw + // // # assert evt2.ked == evt1.ked + // // # assert evt2.size == evt1.size + // // # assert evt2.version == vers2 + // + // // # # use kind setter property + // // # assert evt2.kind == Serials.cbor + // // # evt2.kind = Serials.json + // // # assert evt2.kind == Serials.json + // // # knd, version, size = Deversify(evt2.ked['vs']) + // // # assert knd == Serials.json + // // """Done Test """ + // }); +}); + + +describe('Serder', () => { + it('should create Serder objects', async () => { + const nxt = "E2k1CecxqNtJq8sNVJ0UisOwDgRW7n3MB1-mw3If8c2U" + const icp = { + v: versify(null, Serials.json, 0), + i: '', + s: '0', + t: Ilks.icp, + kt: "1", + k: [], // Add generated public keys here + n: nxt, + bt: "1", + b: [], + c: [TraitCodex.EstOnly], + a: [] + + }; + // console.log('icp is --------------------->', icp); + + const Version = Versionage; + + const serder = new Serder(null, icp); + serder.set_kind(); + assert.deepStrictEqual(serder.getKed, icp); + assert.deepStrictEqual(serder.getKind, Serials.json); + assert.deepStrictEqual(serder.version(), Version); + + console.log(serder.dig()) + assert.deepStrictEqual( + serder.dig(), + "ETzQBq0omlsr15K0gQcvHzhVLlK7UbF2gjLusXDrjusg", + ); + }); +}); \ No newline at end of file diff --git a/test/core/verfer.test.ts b/test/core/verfer.test.ts new file mode 100644 index 00000000..4b99b7ed --- /dev/null +++ b/test/core/verfer.test.ts @@ -0,0 +1,35 @@ +const libsodium = require('libsodium-wrappers-sumo'); +const Base64 = require('urlsafe-base64'); +const derivationCodes = require('../../src/keri/core/derivationCodes'); +const assert = require('assert').strict; + + +const { Verfer } = require('../../src/keri/core/verfer'); + +describe('Verfer', () => { + it('should verify digests', async () => { + await libsodium.ready; + let seed = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); + const keypair = libsodium.crypto_sign_seed_keypair(seed); + + let verkey = keypair.publicKey; + let sigkey = keypair.privateKey; + let pkey = String.fromCharCode.apply(null, sigkey); + let pkeyb = Buffer.from(pkey, 'binary'); + + console.log("sigkey----> ", Base64.encode(pkeyb)) + verkey = String.fromCharCode.apply(null, verkey); + verkey = Buffer.from(verkey, 'binary'); + console.log('verkey-------------->', Base64.encode(verkey)); + const verfer = new Verfer( + Buffer.from(verkey, 'binary'), + null, + null, + derivationCodes.oneCharCode.Ed25519N, + ); + assert.deepStrictEqual(verfer.raw(), verkey); + assert.deepStrictEqual(verfer.code(), derivationCodes.oneCharCode.Ed25519N); + }); +}); + + diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..2c85b2d9 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,35 @@ +{ + // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs + "include": ["src", "types"], + "compilerOptions": { + "module": "esnext", + "lib": ["dom", "esnext"], + "importHelpers": true, + // output .d.ts declaration files for consumers + "declaration": true, + // output .js.map sourcemap files for consumers + "sourceMap": true, + // match output dir to input dir. e.g. dist/index instead of dist/src/index + "rootDir": "./src", + // stricter type-checking for stronger correctness. Recommended by TS + "strict": true, + // linter checks for common issues + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + // noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative + "noUnusedLocals": true, + "noUnusedParameters": true, + // use Node's module resolution algorithm, instead of the legacy TS one + "moduleResolution": "node", + // transpile JSX to React.createElement + "jsx": "react", + // interop between ESM and CJS modules. Recommended by TS + "esModuleInterop": true, + // significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS + "skipLibCheck": true, + // error out if import and file system have a casing mismatch. Recommended by TS + "forceConsistentCasingInFileNames": true, + // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc` + "noEmit": true, + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 00000000..52ca3334 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,9047 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.13.16", "@babel/core@^7.4.4", "@babel/core@^7.7.5": + version "7.15.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" + integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" + integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== + dependencies: + "@babel/types" "^7.15.4" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz#21ad815f609b84ee0e3058676c33cf6d1670525f" + integrity sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" + integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz#df9da66285b884ce66417abdd0b6ca91198149bd" + integrity sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ== + dependencies: + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/traverse" "^7.11.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz#f9aec9d219f271eaf92b9f561598ca6b2682600c" + integrity sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== + dependencies: + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" + integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== + dependencies: + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" + +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" + integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-wrap-function" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5", "@babel/helper-skip-transparent-expression-wrappers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" + integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + +"@babel/helper-wrap-function@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" + integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== + dependencies: + "@babel/helper-function-name" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helpers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== + dependencies: + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.0": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" + integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz#dbdeabb1e80f622d9f0b583efb2999605e0a567e" + integrity sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + +"@babel/plugin-proposal-async-generator-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz#f82aabe96c135d2ceaa917feb9f5fca31635277e" + integrity sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.15.4" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" + integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz#3e7ca6128453c089e8b477a99f970c63fc1cb8d7" + integrity sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" + integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" + integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" + integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.15.6": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" + integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.15.4" + +"@babel/plugin-proposal-optional-catch-binding@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" + integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz#55c5e3b4d0261fd44fe637e3f624cfb0f484e3e5" + integrity sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-flow@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" + integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + +"@babel/plugin-transform-block-scoped-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" + integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.15.3": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" + integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.14.7": + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-flow-strip-types@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz#0dc9c1d11dcdc873417903d6df4bed019ef0f85e" + integrity sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-flow" "^7.14.5" + +"@babel/plugin-transform-for-of@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" + integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" + integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" + integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== + dependencies: + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.15.4" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz#b42890c7349a78c827719f1d2d0cd38c7d268132" + integrity sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw== + dependencies: + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.9" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" + integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + +"@babel/plugin-transform-new-target@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" + integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + +"@babel/plugin-transform-parameters@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" + integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" + integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-shorthand-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.14.6": + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + +"@babel/plugin-transform-sticky-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typescript@^7.15.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz#db7a062dcf8be5fc096bc0eeb40a13fbfa1fa251" + integrity sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" + integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.6.tgz#0f3898db9d63d320f21b17380d8462779de57659" + integrity sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw== + dependencies: + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" + "@babel/plugin-proposal-async-generator-functions" "^7.15.4" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.15.4" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.15.6" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.15.4" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@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-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-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.15.3" + "@babel/plugin-transform-classes" "^7.15.4" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.15.4" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.15.4" + "@babel/plugin-transform-modules-systemjs" "^7.15.4" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.15.4" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.15.6" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.16.0" + semver "^6.3.0" + +"@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.13.13": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.14.5.tgz#a1810b0780c8b48ab0bece8e7ab8d0d37712751c" + integrity sha512-pP5QEb4qRUSVGzzKx9xqRuHUrM/jEzMqdrZpdMA+oUCRgd5zM1qGr5y5+ZgAL/1tVv1H0dyk5t4SKJntqyiVtg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-transform-flow-strip-types" "^7.14.5" + +"@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + 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" + +"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.13.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz#e8fca638a1a0f64f14e1119f7fe4500277840945" + integrity sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-transform-typescript" "^7.15.0" + +"@babel/register@^7.0.0", "@babel/register@^7.13.16": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.15.3.tgz#6b40a549e06ec06c885b2ec42c3dd711f55fe752" + integrity sha512-mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + +"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.14.9": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz#403139af262b9a6e8f9ba04a6fdcebf8de692bf1" + integrity sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg== + dependencies: + core-js-pure "^3.16.0" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.15.4", "@babel/template@^7.3.3": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.0": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + 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" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-message-util "^25.5.0" + jest-util "^25.5.0" + slash "^3.0.0" + +"@jest/core@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== + dependencies: + "@jest/console" "^25.5.0" + "@jest/reporters" "^25.5.1" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^25.5.0" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-resolve-dependencies "^25.5.4" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + jest-watcher "^25.5.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" + realpath-native "^2.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== + dependencies: + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + +"@jest/fake-timers@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== + dependencies: + "@jest/types" "^25.5.0" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + lolex "^5.0.0" + +"@jest/globals@^25.5.2": + version "25.5.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/types" "^25.5.0" + expect "^25.5.0" + +"@jest/reporters@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^25.5.1" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-worker "^25.5.0" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.1.3" + optionalDependencies: + node-notifier "^6.0.0" + +"@jest/source-map@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/test-result@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== + dependencies: + "@jest/console" "^25.5.0" + "@jest/types" "^25.5.0" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^25.5.4": + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== + dependencies: + "@jest/test-result" "^25.5.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + +"@jest/transform@^25.5.1": + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^25.5.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-regex-util "^25.2.6" + jest-util "^25.5.0" + micromatch "^4.0.2" + pirates "^4.0.1" + realpath-native "^2.0.0" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/types@^25.5.0": + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^1.1.1" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.20" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.20.tgz#111b5db0f501aa89b05076fa31f0ea0e0c292cd3" + integrity sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q== + +"@rollup/plugin-babel@^5.1.0": + version "5.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" + integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + dependencies: + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" + +"@rollup/plugin-commonjs@^11.0.0": + version "11.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" + integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== + dependencies: + "@rollup/pluginutils" "^3.0.8" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" + +"@rollup/plugin-json@^4.0.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + dependencies: + "@rollup/pluginutils" "^3.0.8" + +"@rollup/plugin-node-resolve@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" + integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.17.0" + +"@rollup/plugin-replace@^2.2.1": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@sinonjs/commons@^1.7.0": + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + dependencies: + type-detect "4.0.8" + +"@size-limit/file@5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-5.0.4.tgz#d3bb30214218376db12c6fbc93498bcde1a65939" + integrity sha512-NXWk7fkI304TazIzG2d7co2X+XB52pHPr0CEXoj52Dx1olXcQqbx+6cg6im0FzhL91iCp1eAjhfeOq8h5D4B/Q== + dependencies: + semver "7.3.5" + +"@size-limit/preset-small-lib@^5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-5.0.4.tgz#5eb19889df8cd9a78a48369dfe2cc9b7e2dc8da6" + integrity sha512-2DRnZUte+WThsE/Lzu3uR7RkmzK/tJcgl2rCIsrfDQ4Kn23uesXVD2y19nWHzpEc4H62bxS13SmkTi84o5mBiQ== + dependencies: + "@size-limit/file" "5.0.4" + "@size-limit/webpack" "5.0.4" + +"@size-limit/webpack@5.0.4": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@size-limit/webpack/-/webpack-5.0.4.tgz#1d3d3d802064aa132b35fc4b55984ef694ff928b" + integrity sha512-wFJ90kwJ60AAZ3Ln4Egc6Tbpl7AcibGJKawHp41HpV2TeJT4IQOsgYXj/QOnVzz75+MKX/aZVa6OIlyWR7KORw== + dependencies: + css-loader "^5.2.6" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + mkdirp "^1.0.4" + nanoid "^3.1.25" + optimize-css-assets-webpack-plugin "^6.0.1" + pnp-webpack-plugin "^1.7.0" + style-loader "^2.0.0" + webpack "^4.44.1" + webpack-bundle-analyzer "^4.4.2" + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@ts-morph/bootstrap@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@ts-morph/bootstrap/-/bootstrap-0.9.1.tgz#4761cac8d9e5c7d2d7cdb120f6dda027c2b831cd" + integrity sha512-u3F2vhLm48e6lZUIf9Gj41OXCzAr62avbWdlMZ9K1JCH//XuAgr2u3c+2usGOOIXBaP83LshBTzDgw/tb9tSzg== + dependencies: + "@ts-morph/common" "~0.9.0" + +"@ts-morph/common@~0.9.0": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.9.2.tgz#fc63ed4f8d3a45e4ed6849fe20a57f4f2baecc5d" + integrity sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g== + dependencies: + fast-glob "^3.2.5" + minimatch "^3.0.4" + mkdirp "^1.0.4" + path-browserify "^1.0.1" + +"@types/babel__core@^7.1.7": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + dependencies: + "@babel/types" "^7.3.0" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/estree@*": + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + +"@types/graceful-fs@^4.1.2": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" + integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^1.1.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + dependencies: + "@types/istanbul-lib-coverage" "*" + "@types/istanbul-lib-report" "*" + +"@types/jest@^25.2.1": + version "25.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== + dependencies: + jest-diff "^25.2.1" + pretty-format "^25.2.1" + +"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + +"@types/node@*": + version "16.9.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" + integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/prettier@^1.19.0": + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/yargs-parser@*": + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + +"@types/yargs@^15.0.0": + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^2.12.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== + dependencies: + "@typescript-eslint/experimental-utils" "2.34.0" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^2.12.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" + integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== + +acorn-globals@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn-walk@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^6.0.1, acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.6.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + +array-includes@^3.1.1, array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + +array.prototype.flatmap@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" + integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + function-bind "^1.1.1" + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + +ast-types@0.11.7: + version "0.11.7" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" + integrity sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw== + +ast-types@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" + integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== + dependencies: + tslib "^2.0.1" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +asyncro@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axe-core@^4.0.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325" + integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA== + +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-eslint@^10.0.3: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-jest@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== + dependencies: + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-plugin-annotate-pure-calls@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" + integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== + +babel-plugin-dev-expression@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.2.tgz#c18de18a06150f9480edd151acbb01d2e65e999b" + integrity sha512-y32lfBif+c2FIh5dwGfcc/IfX5aw/Bru7Du7W2n17sJE/GJGAsmIk5DPW/8JOoeKpXW5evJfJOvRq5xkiS6vng== + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__traverse" "^7.0.6" + +babel-plugin-macros@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" + integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.16.2" + +babel-plugin-polyfill-regenerator@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz#588641af9a2cb4e299b1400c47672a4a104d2459" + integrity sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.0.3" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + +babel-plugin-transform-rename-import@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz#5d9d645f937b0ca5c26a24b2510a06277b6ffd9b" + integrity sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ== + +babel-preset-current-node-syntax@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@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-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== + dependencies: + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blake3@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/blake3/-/blake3-2.1.4.tgz#78117bc9e80941097fdf7d03e897a9ee595ecd62" + integrity sha512-70hmx0lPd6zmtNwxPT4/1P0pqaEUlTJ0noUBvCXPLfMpN0o8PPaK3q7ZlpRIyhrqcXxeMAJSowNm/L9oi/x1XA== + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.17.0: + version "4.17.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" + integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== + dependencies: + caniuse-lite "^1.0.30001259" + electron-to-chromium "^1.3.846" + escalade "^3.1.1" + nanocolors "^0.1.5" + node-releases "^1.1.76" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes-iec@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" + integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001259: + version "1.0.30001260" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz#e3be3f34ddad735ca4a2736fa9e768ef34316270" + integrity sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg== + dependencies: + nanocolors "^0.1.0" + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +cbor@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.0.0.tgz#51657d26a99a6a1866f8c3258e948576eb17d709" + integrity sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig== + dependencies: + nofilter "^3.0.2" + +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1, chokidar@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-job-number@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" + integrity sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== + +cli-spinners@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" + integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +collections@^5.1.12: + version "5.1.12" + resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.12.tgz#270f6c26ddc2930734ae6cc19ad4e8fb412af739" + integrity sha512-7WV0gdGlQFHjB//+/5JW4CdMnOlf7fWMMeM3EWvuao7RbK0MeFS01bZOgWmIH5DHDejSutf455QUZ56ZjjROXw== + dependencies: + weak-map "~1.0.x" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.0.1, colord@^2.6: + version "2.8.0" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.8.0.tgz#64fb7aa03de7652b5a39eee50271a104c2783b12" + integrity sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA== + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" + integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +core-js-compat@^3.16.0, core-js-compat@^3.16.2: + version "3.18.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.0.tgz#fb360652201e8ac8da812718c008cd0482ed9b42" + integrity sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg== + dependencies: + browserslist "^4.17.0" + semver "7.0.0" + +core-js-pure@^3.16.0: + version "3.18.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.0.tgz#e5187347bae66448c9e2d67c01c34c4df3261dc5" + integrity sha512-ZnK+9vyuMhKulIGqT/7RHGRok8RtkHMEX/BGPHkHx+ouDkq+MUvf9mfIgdqhpmPDu8+V5UtRn/CbCRc9I4lX4w== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-jest-runner@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/create-jest-runner/-/create-jest-runner-0.5.3.tgz#1387e2ce70b08e4c989ae55f677005b64f9ba97b" + integrity sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g== + dependencies: + chalk "^2.4.2" + jest-worker "^24.0.0" + throat "^4.1.0" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" + integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + +css-declaration-sorter@^6.0.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" + integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== + dependencies: + timsort "^0.3.0" + +css-loader@^5.2.6: + version "5.2.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" + integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz#359943bf00c5c8e05489f12dd25f3006f2c1cbd2" + integrity sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^2.0.1" + postcss-calc "^8.0.0" + postcss-colormin "^5.2.0" + postcss-convert-values "^5.0.1" + postcss-discard-comments "^5.0.1" + postcss-discard-duplicates "^5.0.1" + postcss-discard-empty "^5.0.1" + postcss-discard-overridden "^5.0.1" + postcss-merge-longhand "^5.0.2" + postcss-merge-rules "^5.0.2" + postcss-minify-font-values "^5.0.1" + postcss-minify-gradients "^5.0.2" + postcss-minify-params "^5.0.1" + postcss-minify-selectors "^5.1.0" + postcss-normalize-charset "^5.0.1" + postcss-normalize-display-values "^5.0.1" + postcss-normalize-positions "^5.0.1" + postcss-normalize-repeat-style "^5.0.1" + postcss-normalize-string "^5.0.1" + postcss-normalize-timing-functions "^5.0.1" + postcss-normalize-unicode "^5.0.1" + postcss-normalize-url "^5.0.2" + postcss-normalize-whitespace "^5.0.1" + postcss-ordered-values "^5.0.2" + postcss-reduce-initial "^5.0.1" + postcss-reduce-transforms "^5.0.1" + postcss-svgo "^5.0.2" + postcss-unique-selectors "^5.0.1" + +cssnano-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" + integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== + +cssnano@^5.0.2: + version "5.0.8" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz#39ad166256980fcc64faa08c9bb18bb5789ecfa9" + integrity sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg== + dependencies: + cssnano-preset-default "^5.1.4" + is-resolvable "^1.1.0" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +damerau-levenshtein@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.3.846: + version "1.3.849" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz#45a65a392565abc5b864624b9753393336426f4b" + integrity sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.0.0: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.4, enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.1, es-abstract@^1.18.2: + version "1.18.6" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" + integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-string "^1.0.7" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.11.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^6.0.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== + dependencies: + get-stdin "^6.0.0" + +eslint-config-react-app@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-flowtype@^3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@^2.18.2: + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + +eslint-plugin-jsx-a11y@^6.2.3: + version "6.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" + integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + dependencies: + "@babel/runtime" "^7.11.2" + aria-query "^4.2.2" + array-includes "^3.1.1" + ast-types-flow "^0.0.7" + axe-core "^4.0.2" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.6" + emoji-regex "^9.0.0" + has "^1.0.3" + jsx-ast-utils "^3.1.0" + language-tags "^1.0.5" + +eslint-plugin-prettier@^3.1.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" + integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== + +eslint-plugin-react@^7.14.3: + version "7.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.0.tgz#3ae019a35d542b98e5af9e2f96b89c232c74b55b" + integrity sha512-dceliS5itjk4EZdQYtLMz6GulcsasguIs+VTXuiC7Q5IPIdGTkyfXVdmsQOqEhlD9MciofH4cMcT1bw1WWNxCQ== + dependencies: + array-includes "^3.1.3" + array.prototype.flatmap "^1.2.4" + doctrine "^2.1.0" + estraverse "^5.2.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.4" + object.fromentries "^2.0.4" + object.hasown "^1.0.0" + object.values "^1.1.4" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.5" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^6.1.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +eslint@^7.14.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1, esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== + dependencies: + "@jest/types" "^25.5.0" + ansi-styles "^4.0.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.1.1, fast-glob@^3.2.5: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + +flatted@^3.1.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== + +flow-parser@0.*: + version "0.160.2" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.160.2.tgz#bf9f239a90c33d7472e6950041bae387b8c49421" + integrity sha512-4QGORQvAkuYZH02gY9YRvOoV/BqXUEtMjTem/jxtxfLDp8BNW/LfyJxgksYnQoPIAT01CydkcKG03MTIDbqaFg== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.1.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + 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" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== + dependencies: + type-fest "^0.20.2" + +globalyzer@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" + integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== + +globby@^11.0.4: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +humanize-duration@^3.15.3: + version "3.27.0" + resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.27.0.tgz#3f781b7cf8022ad587f76b9839b60bc2b29636b2" + integrity sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ== + +husky@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.2.tgz#21900da0f30199acca43a46c043c4ad84ae88dff" + integrity sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.2.0, is-core-module@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-reference@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +istanbul-lib-coverage@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz#e8900b3ed6069759229cf30f7067388d148aeb5e" + integrity sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ== + +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-changed-files@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== + dependencies: + "@jest/types" "^25.5.0" + execa "^3.2.0" + throat "^5.0.0" + +jest-cli@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== + dependencies: + "@jest/core" "^25.5.4" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^25.5.4" + jest-util "^25.5.0" + jest-validate "^25.5.0" + prompts "^2.0.1" + realpath-native "^2.0.0" + yargs "^15.3.1" + +jest-config@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^25.5.4" + "@jest/types" "^25.5.0" + babel-jest "^25.5.1" + chalk "^3.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^25.5.0" + jest-environment-node "^25.5.0" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.5.4" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + micromatch "^4.0.2" + pretty-format "^25.5.0" + realpath-native "^2.0.0" + +jest-diff@^25.2.1, jest-diff@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-docblock@^25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== + dependencies: + detect-newline "^3.0.0" + +jest-each@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" + integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" + jest-util "^25.5.0" + pretty-format "^25.5.0" + +jest-environment-jsdom@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + jsdom "^15.2.1" + +jest-environment-node@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== + dependencies: + "@jest/environment" "^25.5.0" + "@jest/fake-timers" "^25.5.0" + "@jest/types" "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + semver "^6.3.0" + +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== + +jest-haste-map@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== + dependencies: + "@jest/types" "^25.5.0" + "@types/graceful-fs" "^4.1.2" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-serializer "^25.5.0" + jest-util "^25.5.0" + jest-worker "^25.5.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + which "^2.0.2" + optionalDependencies: + fsevents "^2.1.2" + +jest-jasmine2@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^25.5.0" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + co "^4.6.0" + expect "^25.5.0" + is-generator-fn "^2.0.0" + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" + throat "^5.0.0" + +jest-leak-detector@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" + integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== + dependencies: + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-matcher-utils@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== + dependencies: + chalk "^3.0.0" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-message-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" + integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/stack-utils" "^1.0.1" + chalk "^3.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + slash "^3.0.0" + stack-utils "^1.0.1" + +jest-mock@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== + dependencies: + "@jest/types" "^25.5.0" + +jest-pnp-resolver@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + +jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== + +jest-resolve-dependencies@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== + dependencies: + "@jest/types" "^25.5.0" + jest-regex-util "^25.2.6" + jest-snapshot "^25.5.1" + +jest-resolve@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== + dependencies: + "@jest/types" "^25.5.0" + browser-resolve "^1.11.3" + chalk "^3.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.1" + read-pkg-up "^7.0.1" + realpath-native "^2.0.0" + resolve "^1.17.0" + slash "^3.0.0" + +jest-runner@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-docblock "^25.3.0" + jest-haste-map "^25.5.1" + jest-jasmine2 "^25.5.4" + jest-leak-detector "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + jest-runtime "^25.5.4" + jest-util "^25.5.0" + jest-worker "^25.5.0" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runtime@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== + dependencies: + "@jest/console" "^25.5.0" + "@jest/environment" "^25.5.0" + "@jest/globals" "^25.5.2" + "@jest/source-map" "^25.5.0" + "@jest/test-result" "^25.5.0" + "@jest/transform" "^25.5.1" + "@jest/types" "^25.5.0" + "@types/yargs" "^15.0.0" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + realpath-native "^2.0.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.3.1" + +jest-serializer@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== + dependencies: + graceful-fs "^4.2.4" + +jest-snapshot@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^25.5.0" + "@types/prettier" "^1.19.0" + chalk "^3.0.0" + expect "^25.5.0" + graceful-fs "^4.2.4" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + make-dir "^3.0.0" + natural-compare "^1.4.0" + pretty-format "^25.5.0" + semver "^6.3.0" + +jest-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== + dependencies: + "@jest/types" "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + make-dir "^3.0.0" + +jest-validate@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== + dependencies: + "@jest/types" "^25.5.0" + camelcase "^5.3.1" + chalk "^3.0.0" + jest-get-type "^25.2.6" + leven "^3.1.0" + pretty-format "^25.5.0" + +jest-watch-typeahead@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" + integrity sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-regex-util "^25.2.1" + jest-watcher "^25.2.4" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^6.0.0" + +jest-watcher@^25.2.4, jest-watcher@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== + dependencies: + "@jest/test-result" "^25.5.0" + "@jest/types" "^25.5.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.5.0" + string-length "^3.1.0" + +jest-worker@^24.0.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + dependencies: + merge-stream "^2.0.0" + supports-color "^6.1.0" + +jest-worker@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + dependencies: + merge-stream "^2.0.0" + supports-color "^7.0.0" + +jest@^25.3.0: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== + dependencies: + "@jest/core" "^25.5.4" + import-local "^3.0.2" + jest-cli "^25.5.4" + +jpjs@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" + integrity sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jscodeshift@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.0.tgz#4b3835c3755ea86bc4910ac80acd4acd230b53ee" + integrity sha512-FNHLuwh7TeI0F4EzNVIRwUSxSqsGWM5nTv596FK4NfBnEEKFpIcyFeG559DMFGHSTIYA5AY4Fqh2cBrJx0EAwg== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" + babel-core "^7.0.0-bridge.0" + colors "^1.1.2" + flow-parser "0.*" + graceful-fs "^4.2.4" + micromatch "^3.1.10" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.20.4" + temp "^0.8.4" + write-file-atomic "^2.3.0" + +jscodeshift@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.6.4.tgz#e19ab86214edac86a75c4557fc88b3937d558a8e" + integrity sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ== + dependencies: + "@babel/core" "^7.1.6" + "@babel/parser" "^7.1.6" + "@babel/plugin-proposal-class-properties" "^7.1.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/preset-env" "^7.1.6" + "@babel/preset-flow" "^7.0.0" + "@babel/preset-typescript" "^7.1.0" + "@babel/register" "^7.0.0" + babel-core "^7.0.0-bridge.0" + colors "^1.1.2" + flow-parser "0.*" + graceful-fs "^4.1.11" + micromatch "^3.1.10" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.16.1" + temp "^0.8.1" + write-file-atomic "^2.3.0" + +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-schema@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.3.0.tgz#90a9c5054bd065422c00241851ce8d59475b701b" + integrity sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json5-writer@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/json5-writer/-/json5-writer-0.1.8.tgz#98e1934ef6002f8ac12f36438e2b39c49af213fd" + integrity sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw== + dependencies: + jscodeshift "^0.6.3" + +json5@2.x, json5@^2.1.1, json5@^2.1.2: + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libsodium-sumo@^0.7.0: + version "0.7.9" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.9.tgz#dff3d6144849e30d9b9a7bf628d28243f1c49102" + integrity sha512-DcfJ57zlSlcmQU4s8KOX78pT0zKx5S9RLi0oyDuoIgm4K95+VNSaOidK/y9lUK4lxft14PtTPjoBy8tmLk1TDQ== + +libsodium-wrappers-sumo@^0.7.9: + version "0.7.9" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.9.tgz#d15a346870c8e339baf1518f06b0ddccfa1e1046" + integrity sha512-XLgLkqY973PngrRElbjOH0y7bJKYEfMWVpWPmW5iuhBjO6zXvHYQWtN52MVEeie/h98ZXN1Aw9BE+GzxQVAfLg== + dependencies: + libsodium-sumo "^0.7.0" + +lilconfig@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" + integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +log-update@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9" + integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg== + dependencies: + ansi-escapes "^3.2.0" + cli-cursor "^2.1.0" + wrap-ansi "^5.0.0" + +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + dependencies: + "@sinonjs/commons" "^1.7.0" + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.25.2, magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +mico-spinner@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/mico-spinner/-/mico-spinner-1.3.0.tgz#aa8611aceb551522f5bab7f2895a159ac0c29d6a" + integrity sha512-iwc0mhP+H/qorAKhDsDW40QOb3kKxAIwH1ImoIkFUWP3kT4gn6UZ2gdyT0uNRLrCx7fADY1F7OFBuFM1/wfflQ== + dependencies: + nanocolors "^0.1.1" + +micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== + dependencies: + mime-db "1.49.0" + +mime@^2.3.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.2, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +msgpack5@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-5.3.2.tgz#679a1f197465f2d446a1d467cf678e3e83bb56dc" + integrity sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A== + dependencies: + bl "^4.0.0" + inherits "^2.0.3" + readable-stream "^3.0.0" + safe-buffer "^5.1.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== + +nanocolors@^0.1.0, nanocolors@^0.1.1, nanocolors@^0.1.12, nanocolors@^0.1.5: + version "0.1.12" + resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" + integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== + +nanoid@^3.1.25: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-dir@^0.1.17: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= + dependencies: + minimatch "^3.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== + dependencies: + growly "^1.3.0" + is-wsl "^2.1.1" + semver "^6.3.0" + shellwords "^0.1.1" + which "^1.3.1" + +node-releases@^1.1.76: + version "1.1.76" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" + integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== + +nofilter@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.0.3.tgz#3ff3b142efdccb403434ccae4a0c2c835cb9b522" + integrity sha512-TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ== + +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.entries@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" + integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +object.fromentries@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" + integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + has "^1.0.3" + +object.hasown@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.0.0.tgz#bdbade33cfacfb25d7f26ae2b6cb870bf99905c2" + integrity sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.18.1" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimize-css-assets-webpack-plugin@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz#7719bceabba1f3891ec3ae04efb81a1cc99cd793" + integrity sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ== + dependencies: + cssnano "^5.0.2" + last-call-webpack-plugin "^3.0.0" + postcss "^8.2.1" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^4.0.3: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" + integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-ms@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" + integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +pascal-case@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" + integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + dependencies: + pify "^3.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.0, pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pnp-webpack-plugin@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" + integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== + dependencies: + ts-pnp "^1.1.6" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" + integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz#2b620b88c0ff19683f3349f4cf9e24ebdafb2c88" + integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-convert-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz#4ec19d6016534e30e3102fdf414e753398645232" + integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-discard-comments@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" + integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== + +postcss-discard-duplicates@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" + integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== + +postcss-discard-empty@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" + integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== + +postcss-discard-overridden@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" + integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== + +postcss-merge-longhand@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz#277ada51d9a7958e8ef8cf263103c9384b322a41" + integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== + dependencies: + css-color-names "^1.0.1" + postcss-value-parser "^4.1.0" + stylehacks "^5.0.1" + +postcss-merge-rules@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz#d6e4d65018badbdb7dcc789c4f39b941305d410a" + integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.1" + postcss-selector-parser "^6.0.5" + vendors "^1.0.3" + +postcss-minify-font-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" + integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-minify-gradients@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz#7c175c108f06a5629925d698b3c4cf7bd3864ee5" + integrity sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ== + dependencies: + colord "^2.6" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-minify-params@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz#371153ba164b9d8562842fdcd929c98abd9e5b6c" + integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.0" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" + integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" + integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== + +postcss-normalize-display-values@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" + integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-positions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" + integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-repeat-style@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" + integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-string@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" + integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-timing-functions@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" + integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-unicode@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" + integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + +postcss-normalize-url@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz#ddcdfb7cede1270740cf3e4dfc6008bd96abc763" + integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^6.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-whitespace@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" + integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-ordered-values@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" + integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-reduce-initial@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" + integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" + integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz#bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f" + integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== + dependencies: + postcss-value-parser "^4.1.0" + svgo "^2.3.0" + +postcss-unique-selectors@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz#3be5c1d7363352eff838bd62b0b07a0abad43bfc" + integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + uniqs "^2.0.0" + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss@^8.2.1, postcss@^8.2.15: + version "8.3.7" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.7.tgz#ec88563588c8da8e58e7226f7633b51ae221eeda" + integrity sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ== + dependencies: + nanocolors "^0.1.5" + nanoid "^3.1.25" + source-map-js "^0.6.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-ms@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" + integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== + dependencies: + parse-ms "^2.1.0" + +private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress-estimator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/progress-estimator/-/progress-estimator-0.2.2.tgz#1c3947a5782ea56e40c8fccc290ac7ceeb1b91cb" + integrity sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA== + dependencies: + chalk "^2.4.1" + cli-spinners "^1.3.1" + humanize-duration "^3.15.3" + log-update "^2.3.0" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +prompts@^2.0.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +react-is@^16.12.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +realpath-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" + integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== + +recast@^0.16.1: + version "0.16.2" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.2.tgz#3796ebad5fe49ed85473b479cd6df554ad725dc2" + integrity sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A== + dependencies: + ast-types "0.11.7" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +recast@^0.20.4: + version "0.20.5" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" + integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== + dependencies: + ast-types "0.14.2" + esprima "~4.0.0" + source-map "~0.6.1" + tslib "^2.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^4.7.1: + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" + +regjsgen@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@2.6.3, rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rollup-plugin-sourcemaps@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" + integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== + dependencies: + "@rollup/pluginutils" "^3.0.9" + source-map-resolve "^0.6.0" + +rollup-plugin-terser@^5.1.2: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + dependencies: + "@babel/code-frame" "^7.5.5" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" + +rollup-plugin-typescript2@^0.27.3: + version "0.27.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" + integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== + dependencies: + "@rollup/pluginutils" "^3.1.0" + find-cache-dir "^3.3.1" + fs-extra "8.1.0" + resolve "1.17.0" + tslib "2.0.1" + +rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + dependencies: + estree-walker "^0.6.1" + +rollup@^1.32.1: + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + dependencies: + "@types/estree" "*" + "@types/node" "*" + acorn "^7.1.0" + +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +sade@^1.4.2: + version "1.7.4" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" + integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== + dependencies: + mri "^1.1.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@7.3.5, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.3: + version "0.8.4" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7" + integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== + +sirv@^1.0.7: + version "1.0.17" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.17.tgz#86e2c63c612da5a1dace1c16c46f524aaa26ac45" + integrity sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw== + dependencies: + "@polka/url" "^1.0.0-next.20" + mime "^2.3.1" + totalist "^1.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +size-limit@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-5.0.4.tgz#8223efa9dbf0e3dae2dc9c60b1558b5d2a0f820a" + integrity sha512-xAe8sZ7MZe48glBetVFG3DlfMNXIS2V/PQsy9RPj8PRBCvIg5ESLFZQxJnxf7jsp47sKBUO+XVvablL3S4szog== + dependencies: + bytes-iec "^3.1.1" + chokidar "^3.5.2" + ci-job-number "^1.2.2" + globby "^11.0.4" + lilconfig "^2.0.3" + mico-spinner "^1.2.2" + nanocolors "^0.1.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.10" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" + integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" + integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +stylehacks@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" + integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-hyperlinks@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +svgo@^2.3.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.7.0.tgz#e164cded22f4408fe4978f082be80159caea1e2d" + integrity sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + nanocolors "^0.1.12" + stable "^0.1.8" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +table@^6.0.9: + version "6.7.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" + integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + dependencies: + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.0" + strip-ansi "^6.0.0" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +temp@^0.8.1, temp@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2, terser@^4.6.2: + version "4.8.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +throat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-glob@^0.2.6: + version "0.2.9" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" + integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== + dependencies: + globalyzer "0.1.0" + globrex "^0.1.2" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + dependencies: + punycode "^2.1.0" + +ts-jest@^25.3.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" + integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + micromatch "4.x" + mkdirp "0.x" + semver "6.x" + yargs-parser "18.x" + +ts-migrate-plugins@^0.1.23: + version "0.1.23" + resolved "https://registry.yarnpkg.com/ts-migrate-plugins/-/ts-migrate-plugins-0.1.23.tgz#cebbc8771d5bb475f93c94d5f0d1ab6ac4b0c8b8" + integrity sha512-xnExNdslzRVmMBo0wFJxWOxhcZHMD4dRj1Fc+1bj3nfC2x3OA21qhAZfOlTbyoCbHlh1WGLJiqAMQ0r0HOQWZA== + dependencies: + eslint "^7.14.0" + jscodeshift "^0.13.0" + json-schema "^0.3.0" + ts-migrate-server "^0.1.23" + typescript "4.2.4" + +ts-migrate-server@^0.1.23: + version "0.1.23" + resolved "https://registry.yarnpkg.com/ts-migrate-server/-/ts-migrate-server-0.1.23.tgz#57aee31365f00077465105f393b965c2d5f49599" + integrity sha512-q4wxqFqS3MI4DDtQ0sxfmeUjRfFdz2wZEF7em9uILs5V3n4ldrT6EAITwJKT61hRrRQvXrxmtp1sboo2XZlMyA== + dependencies: + "@ts-morph/bootstrap" "^0.9.1" + pretty-ms "^7.0.1" + typescript "4.2.4" + updatable-log "^0.2.0" + +ts-migrate@^0.1.23: + version "0.1.23" + resolved "https://registry.yarnpkg.com/ts-migrate/-/ts-migrate-0.1.23.tgz#4197b047b4bcc5b70061320527dec1b1c4ea78fc" + integrity sha512-YzMcoVQVOt1bQYMJgO1LtNPXrugzsgZ7vIWm39mrsvUh/PIwgmSE8hU6FI/MkF36j1JS2O303KzF3LDYB3YSgg== + dependencies: + create-jest-runner "^0.5.3" + json5 "^2.1.1" + json5-writer "^0.1.8" + ts-migrate-plugins "^0.1.23" + ts-migrate-server "^0.1.23" + typescript "4.2.4" + updatable-log "^0.2.0" + yargs "^15.0.2" + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + +tsdx@^0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/tsdx/-/tsdx-0.14.1.tgz#8771d509b6fc523ad971bae3a63ebe3a88355ab3" + integrity sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w== + dependencies: + "@babel/core" "^7.4.4" + "@babel/helper-module-imports" "^7.0.0" + "@babel/parser" "^7.11.5" + "@babel/plugin-proposal-class-properties" "^7.4.4" + "@babel/preset-env" "^7.11.0" + "@babel/traverse" "^7.11.5" + "@rollup/plugin-babel" "^5.1.0" + "@rollup/plugin-commonjs" "^11.0.0" + "@rollup/plugin-json" "^4.0.0" + "@rollup/plugin-node-resolve" "^9.0.0" + "@rollup/plugin-replace" "^2.2.1" + "@types/jest" "^25.2.1" + "@typescript-eslint/eslint-plugin" "^2.12.0" + "@typescript-eslint/parser" "^2.12.0" + ansi-escapes "^4.2.1" + asyncro "^3.0.0" + babel-eslint "^10.0.3" + babel-plugin-annotate-pure-calls "^0.4.0" + babel-plugin-dev-expression "^0.2.1" + babel-plugin-macros "^2.6.1" + babel-plugin-polyfill-regenerator "^0.0.4" + babel-plugin-transform-rename-import "^2.3.0" + camelcase "^6.0.0" + chalk "^4.0.0" + enquirer "^2.3.4" + eslint "^6.1.0" + eslint-config-prettier "^6.0.0" + eslint-config-react-app "^5.2.1" + eslint-plugin-flowtype "^3.13.0" + eslint-plugin-import "^2.18.2" + eslint-plugin-jsx-a11y "^6.2.3" + eslint-plugin-prettier "^3.1.0" + eslint-plugin-react "^7.14.3" + eslint-plugin-react-hooks "^2.2.0" + execa "^4.0.3" + fs-extra "^9.0.0" + jest "^25.3.0" + jest-watch-typeahead "^0.5.0" + jpjs "^1.2.1" + lodash.merge "^4.6.2" + ora "^4.0.3" + pascal-case "^3.1.1" + prettier "^1.19.1" + progress-estimator "^0.2.2" + regenerator-runtime "^0.13.7" + rollup "^1.32.1" + rollup-plugin-sourcemaps "^0.6.2" + rollup-plugin-terser "^5.1.2" + rollup-plugin-typescript2 "^0.27.3" + sade "^1.4.2" + semver "^7.1.1" + shelljs "^0.8.3" + tiny-glob "^0.2.6" + ts-jest "^25.3.1" + tslib "^1.9.3" + typescript "^3.7.3" + +tslib@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== + +tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.1, tslib@^2.0.3, tslib@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + +typescript@^3.7.3: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typescript@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" + integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +updatable-log@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/updatable-log/-/updatable-log-0.2.0.tgz#8adfe35dd744bd87e8bf217425e4e8bb81b6f3c6" + integrity sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ== + dependencies: + chalk "^2.4.2" + figures "^3.0.0" + log-update "^3.3.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +urlsafe-base64@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" + integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY= + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" + integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vendors@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + dependencies: + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" + +walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + dependencies: + chokidar "^2.1.8" + +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +weak-map@~1.0.x: + version "1.0.5" + resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb" + integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-bundle-analyzer@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" + integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.44.1: + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^2.3.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + +ws@^7.0.0, ws@^7.3.1: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xregexp@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-5.1.0.tgz#c87e7ae5ffa5fdc520f898a467dcba02b0d391e9" + integrity sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA== + dependencies: + "@babel/runtime-corejs3" "^7.14.9" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@18.x, yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^15.0.2, yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" From fbfba4df4ad76f02de798513cb5f70051d37e5f7 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Sun, 4 Dec 2022 19:28:52 -0800 Subject: [PATCH 002/463] Upgrade to Typscript --- package.json | 6 +- src/keri/core/core.ts | 53 +- src/keri/core/cryMat.ts | 88 +- src/keri/core/derivationCodes.ts | 155 +- src/keri/core/diger.ts | 16 +- src/keri/core/nexter.ts | 10 +- src/keri/core/prefixer.ts | 17 +- src/keri/core/signer.ts | 9 +- src/keri/core/utls.ts | 2 - src/keri/core/verfer.ts | 6 +- src/keri/eventing/TraitCodex.ts | 9 +- src/keri/eventing/kevery.ts | 5 +- .../{stringToBinary.js => stringToBinary.ts} | 30 +- test/core/prefixer.test.ts | 86 +- test/core/verfer.test.ts | 7 +- yarn.lock | 15799 ++++++++-------- 16 files changed, 8252 insertions(+), 8046 deletions(-) rename src/keri/help/{stringToBinary.js => stringToBinary.ts} (65%) diff --git a/package.json b/package.json index 7bb18e24..a010bcab 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,6 @@ "size": "size-limit", "analyze": "size-limit --why" }, - "peerDependencies": {}, "husky": { "hooks": { "pre-commit": "tsdx lint" @@ -43,6 +42,8 @@ ], "devDependencies": { "@size-limit/preset-small-lib": "^5.0.4", + "@types/lodash": "^4.14.185", + "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "size-limit": "^5.0.4", "ts-migrate": "^0.1.23", @@ -51,7 +52,8 @@ "typescript": "^4.4.3" }, "dependencies": { - "blake3": "^2.1.4", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "blake3": "^2.1.7", "cbor": "^8.0.0", "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 2bb14914..ecf2a2e0 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -7,10 +7,10 @@ export const Vstrings = Serialage; export const Serials = {json: 'JSON', mgpk: 'MGPK', cbor: 'CBOR'}; // # element labels to exclude in digest or signature derivation from inception icp -const IcpExcludes = ['pre']; +export const IcpExcludes = ['pre']; // # element labels to exclude in digest or signature derivation from delegated inception dip -const DipExcludes = ['pre']; -const Ilks = { +export const DipExcludes = ['pre']; +export const Ilks = { icp: 'icp', rot: 'rot', ixn: 'ixn', @@ -20,22 +20,22 @@ const Ilks = { vrc: 'vrc', }; -const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", +export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", "bt", "b", "c", "a"]; -const DipLabels = ["v", "i", "s", "t", "kt", "k", "n", +export const DipLabels = ["v", "i", "s", "t", "kt", "k", "n", "bt", "b", "c", "a", "di"]; -const RotLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", +export const RotLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", "bt", "br", "ba", "a"] -const DrtLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", +export const DrtLabels = ["v", "i", "s", "t", "p", "kt", "k", "n", "bt", "br", "ba", "a"] -const IxnLabels = ["v", "i", "s", "t", "p", "a"] +export const IxnLabels = ["v", "i", "s", "t", "p", "a"] -const KsnLabels = ["v", "i", "s", "t", "p", "d", "f", "dt", "et", "kt", "k", "n", +export const KsnLabels = ["v", "i", "s", "t", "p", "d", "f", "dt", "et", "kt", "k", "n", "bt", "b", "c", "ee", "di", "r"] -const RpyLabels = ["v", "t", "d", "dt", "r", "a"] +export const RpyLabels = ["v", "t", "d", "dt", "r", "a"] // let mimes = { @@ -48,14 +48,14 @@ const RpyLabels = ["v", "t", "d", "dt", "r", "a"] // let two = '29'.toString(16); // let three = '39'.toString(16) // let VERFMT = `KERI${hexString} ${two} ${three}_` /// version format string -const VERFULLSIZE = 17; -const MINSNIFFSIZE = 12 + VERFULLSIZE; -const MINSIGSIZE = 4; +export const VERFULLSIZE = 17; +export const MINSNIFFSIZE = 12 + VERFULLSIZE; +export const MINSIGSIZE = 4; /** * @description It will return version string */ -function versify(version: { major: number, minor: number }, kind = Serials.json, size: number) { +export function versify(version: { major: number, minor: number }, kind = Serials.json, size: number) { if (!(Object.values(Serials).indexOf(kind) > -1)) { throw new Error('Invalid serialization kind =' + kind); } @@ -81,7 +81,7 @@ Vstrings.cbor = versify(Versionage, Serials.cbor, 0); // const version_pattern1 = `KERI\(\?P\[0\-9a\-f\]\)\(\?P\[0\-9a\-f\]\)\ // (\?P\[A\-Z\]\{4\}\)\(\?P\[0\-9a\-f\]\{6\}\)_` -const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})'; +export const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})'; // Regex pattern matching @@ -92,7 +92,7 @@ const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})'; * @return {Object} contaning kind of serialization like cbor,json,mgpk * version = version of object ,size = raw size integer */ -function deversify(versionString: string) { +export function deversify(versionString: string) { let kind; let size; const version = Versionage; @@ -116,24 +116,3 @@ function deversify(versionString: string) { } throw new Error(`Invalid version string = ${versionString}`); } - -module.exports = { - deversify, - versify, - Versionage, - Ilks, - Serialage, - Serials, - IcpLabels, - DipLabels, - RotLabels, - DrtLabels, - IxnLabels, - KsnLabels, - RpyLabels, - Vstrings, - MINSNIFFSIZE, - MINSIGSIZE, - IcpExcludes, - DipExcludes, -}; diff --git a/src/keri/core/cryMat.ts b/src/keri/core/cryMat.ts index 4793a4ec..06fb1d66 100644 --- a/src/keri/core/cryMat.ts +++ b/src/keri/core/cryMat.ts @@ -1,10 +1,12 @@ /* eslint-disable no-underscore-dangle */ -const Base64 = require('urlsafe-base64'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'codeAndLen... Remove this comment to see the full error message -const codeAndLength = require('./derivationCodes'); -const { b64ToInt, intToB64 } = require('../help/stringToBinary'); -// const util = require("util"); -// const encoder = new util.TextEncoder("utf-8"); +import Base64 from "urlsafe-base64"; +import { + oneCharCode, CryOneSizes, CryTwoSizes, CryFourSizes, CryCntCodex, cryAllRawSizes, cryAllSizes, + CryCntSizes, crySelectCodex, CRYCNTMAX, fourCharCode, CryCntIdxSizes, twoCharCode +} from "./derivationCodes"; + +import { b64ToInt, intToB64 } from '../help/stringToBinary'; + /** * @description CRYPTOGRAPHC MATERIAL BASE CLASS * @subclasses provides derivation codes and key event element context specific @@ -15,17 +17,16 @@ const { b64ToInt, intToB64 } = require('../help/stringToBinary'); .qb64 str in Base64 with derivation code and crypto material .qb2 bytes in binary with derivation code and crypto material */ -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Crymat'. -class Crymat { +export class Crymat { getCode: any; getIndex: any; getRaw: any; getqb64: any; constructor( - raw = null, + raw: Buffer, qb64 = null, qb2 = null, - code = codeAndLength.oneCharCode.Ed25519N, + code = oneCharCode.Ed25519N, index = 0 ) { /* @@ -49,45 +50,42 @@ class Crymat { if ( !( (pad === 1 && - Object.values(JSON.stringify(codeAndLength.CryOneSizes)).includes( + Object.values(JSON.stringify(CryOneSizes)).includes( code )) || (pad === 2 && Object.values( - JSON.stringify(codeAndLength.CryTwoSizes).includes(code) + JSON.stringify(CryTwoSizes).includes(code) )) || (pad === 0 && Object.values( - JSON.stringify(codeAndLength.CryFourSizes).includes(code) + JSON.stringify(CryFourSizes).includes(code) )) ) ) { throw new Error(`Wrong code= ${code} for raw= ${raw} .`); } if ( - (Object.values(codeAndLength.CryCntCodex).includes(code) && + (Object.values(CryCntCodex).includes(code) && index < 0) || - index > codeAndLength.CRYCNTMAX + index > CRYCNTMAX ) { throw new Error(`Invalid index=${index} for code=${code}.`); } - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - raw = raw.slice(0, codeAndLength.cryAllRawSizes[code]); + raw = raw.slice(0, cryAllRawSizes[code]); - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if (raw.length !== codeAndLength.cryAllRawSizes[code]) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. + if (raw.length !== cryAllRawSizes[code]) { throw new Error(`Unexpected raw size= ${raw.length} for code= ${code}" - " not size= ${codeAndLength.cryAllRawSizes[code]}.`); + " not size= ${cryAllRawSizes[code]}.`); } this.getCode = code; this.getIndex = index; this.getRaw = raw; // crypto ops require bytes not bytearray } else if (qb64 != null) { // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - qb64 = qb64.toString('utf-8'); - this.exfil(qb64); + let x = qb64.toString('utf-8'); + this.exfil(x); } else if (qb2 != null) { this.exfil(Base64.encode(qb2)); } else { @@ -105,51 +103,51 @@ class Crymat { return 3 - reminder; } - exfil(qb64: any) { + exfil(qb64: string) { const base64Pad = '='; let cs = 1; // code size let codeSlice = qb64.slice(0, cs); let index; - if (Object.values(codeAndLength.oneCharCode).includes(codeSlice)) { - qb64 = qb64.slice(0, codeAndLength.CryOneSizes[codeSlice]); - } else if (codeSlice === codeAndLength.crySelectCodex.two) { + if (Object.values(oneCharCode).includes(codeSlice)) { + qb64 = qb64.slice(0, CryOneSizes[codeSlice]); + } else if (codeSlice === crySelectCodex.two) { cs += 1; codeSlice = qb64.slice(0, cs); - if (!Object.values(codeAndLength.twoCharCode).includes(codeSlice)) { + if (!Object.values(twoCharCode).includes(codeSlice)) { throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); } - qb64 = qb64.slice(0, codeAndLength.CryTwoSizes[codeSlice]); - } else if (codeSlice === codeAndLength.crySelectCodex.four) { + qb64 = qb64.slice(0, CryTwoSizes[codeSlice]); + } else if (codeSlice === crySelectCodex.four) { cs += 3; codeSlice = qb64.slice(0, cs); - if (!Object.values(codeAndLength.fourCharCode).includes(codeSlice)) { + if (!Object.values(fourCharCode).includes(codeSlice)) { throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); } - qb64 = qb64.slice(0, codeAndLength.CryFourSizes[codeSlice]); - } else if (codeSlice === codeAndLength.crySelectCodex.dash) { + qb64 = qb64.slice(0, CryFourSizes[codeSlice]); + } else if (codeSlice === crySelectCodex.dash) { cs += 1; codeSlice = qb64.slice(0, cs); - if (!Object.values(codeAndLength.CryCntCodex).includes(codeSlice)) { + if (!Object.values(CryCntCodex).includes(codeSlice)) { throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); } - qb64 = qb64.slice(0, codeAndLength.CryCntSizes[codeSlice]); + qb64 = qb64.slice(0, CryCntSizes[codeSlice]); cs += 2; // increase code size index = b64ToInt(qb64.slice(cs - 2, cs)); - // index = Object.keys(codeAndLength.b64ChrByIdx).find(key => - // codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) // last two characters for index + // index = Object.keys(b64ChrByIdx).find(key => + // b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) // last two characters for index } else { throw new Error(`Improperly coded material = ${qb64}`); } - if (qb64.length !== codeAndLength.cryAllSizes[codeSlice]) { + if (qb64.length !== cryAllSizes[codeSlice]) { throw new Error( - `Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${codeAndLength.cryAllSizes[codeSlice]}.` + `Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${cryAllSizes[codeSlice]}.` ); } const derivedRaw = Base64.decode( @@ -161,17 +159,17 @@ class Crymat { throw new Error(`Improperly qualified material = ${qb64}`); } this.getCode = codeSlice; - this.getRaw = Buffer.from(derivedRaw, 'binary'); // encode + this.getRaw = Buffer.from(derivedRaw); // encode // eslint-disable-next-line radix - this.getIndex = parseInt(index); + this.getIndex = index; this.getqb64 = qb64; } infil() { let l = null; let full = this.getCode; - if (Object.values(codeAndLength.CryCntCodex).includes(this.getCode)) { - l = codeAndLength.CryCntIdxSizes[this.getCode]; + if (Object.values(CryCntCodex).includes(this.getCode)) { + l = CryCntIdxSizes[this.getCode]; full = `${this.getCode}${intToB64(this.getIndex, l)}`; } @@ -213,7 +211,7 @@ class Crymat { # decode self.code as bits and prepend to self.raw */ - return Base64.decode(Buffer.from(this.infil(), 'binary')).toString(); + return Base64.decode(Buffer.from(this.infil()).toString()); // check here } @@ -234,5 +232,3 @@ class Crymat { return this.getIndex; } } - -module.exports = { Crymat }; diff --git a/src/keri/core/derivationCodes.ts b/src/keri/core/derivationCodes.ts index c0ae24de..c88b4e2b 100644 --- a/src/keri/core/derivationCodes.ts +++ b/src/keri/core/derivationCodes.ts @@ -1,7 +1,7 @@ 'use strict'; export {}; -const oneCharCode = { +export const oneCharCode: any = { Ed25519_Seed: 'A', // Ed25519 256 bit random seed for private key Ed25519N: 'B', // Ed25519 verification key non-transferable, basic derivation. X25519: 'C', // X25519 public encryption key, converted from Ed25519. @@ -16,7 +16,7 @@ const oneCharCode = { X448: 'L', // X448 public encryption key, converted from Ed448 }; -const CryOneSizes = { +export const CryOneSizes: any = { A: 44, B: 44, C: 44, @@ -32,7 +32,7 @@ const CryOneSizes = { }; // Mapping of Code to Size -const CryOneRawSizes = { +export const CryOneRawSizes: any = { A: 32, B: 32, C: 32, @@ -47,44 +47,44 @@ const CryOneRawSizes = { L: 56, }; -const twoCharCode = { +export const twoCharCode: any = { Seed_128: '0A', // 128 bit random seed. Ed25519: '0B', // Ed25519 signature. ECDSA_256k1: '0C', // ECDSA secp256k1 signature. }; -const CryTwoSizes = { +export const CryTwoSizes: any = { '0A': 24, '0B': 88, }; -const CryTwoRawSizes = { +export const CryTwoRawSizes: any = { '0A': 16, '0B': 64, }; -const fourCharCode = { +export const fourCharCode: any = { ECDSA_256k1N: '1AAA', // ECDSA secp256k1 verification key non-transferable, basic derivation. ECDSA_256k1: '1AAB', // Ed25519 public verification or encryption key, basic derivation }; -const CryFourSizes = { +export const CryFourSizes : any = { '1AAA': 48, '1AAB': 48, }; -const CryFourRawSizes = { +export const CryFourRawSizes: any = { '1AAA': 33, '1AAB': 33, }; -const crySelectCodex = { +export const crySelectCodex: any = { two: '0', four: '1', dash: '-', }; -const cryAllSizes = { +export const cryAllSizes: any = { A: 44, B: 44, C: 44, @@ -105,45 +105,45 @@ const cryAllSizes = { '-B': 4, }; -const cryAllRawSizes = { +export const cryAllRawSizes: any = { '-A': 0, '-B': 0, - A: 32, - B: 32, - C: 32, - D: 32, - E: 32, - F: 32, - G: 32, - H: 32, - I: 32, - J: 32, - K: 56, - L: 56, + 'A': 32, + 'B': 32, + 'C': 32, + 'D': 32, + 'E': 32, + 'F': 32, + 'G': 32, + 'H': 32, + 'I': 32, + 'J': 32, + 'K': 56, + 'L': 56, '0A': 16, '0B': 64, '1AAA': 33, '1AAB': 33, }; -const CryCntSizes = { +export const CryCntSizes: any = { '-A': 4, '-B': 4, }; // size of index portion of code qb64 -const CryCntIdxSizes = { +export const CryCntIdxSizes: any = { '-A': 2, '-B': 2, }; // total size of raw unqualified -const CryCntRawSizes = { +export const CryCntRawSizes: any = { '-A': 0, '-B': 0, }; -const CRYCNTMAX = 4095; // maximum count value given two base 64 digits +export const CRYCNTMAX = 4095; // maximum count value given two base 64 digits /* """ @@ -161,7 +161,7 @@ const CRYCNTMAX = 4095; // maximum count value given two base 64 digits """ */ -const CryCntCodex = { +export const CryCntCodex: any = { Base64: '-A', // Fully Qualified Base64 Format Receipt Couplets. Base2: '-B', // Fully Qualified Base2 Format Receipt Couplets. }; @@ -181,38 +181,38 @@ const CryCntCodex = { // =================================SIG Derivation codes started ============= -const SigSelectCodex = { +export const SigSelectCodex: any = { four: '0', // # use four character table. five: '1', // # use five character table. six: '2', // # use six character table. dash: '-', // # use signature count table }; -const SigTwoCodex = { +export const SigTwoCodex: any = { Ed25519: 'A', // Ed25519 signature. ECDSA_256k1: 'B', //# ECDSA secp256k1 signature. }; //# Mapping of Code to Size -const SigTwoSizes = { +export const SigTwoSizes: any = { A: 88, B: 88, }; //# size of index portion of code qb64 -const SigTwoIdxSizes = { +export const SigTwoIdxSizes: any = { A: 1, B: 1, }; -const SigTwoRawSizes = { +export const SigTwoRawSizes: any = { A: 64, B: 64, }; -const SIGTWOMAX = 63; // # maximum index value given one base64 digit +export const SIGTWOMAX = 63; // # maximum index value given one base64 digit -const SigFourCodex = { +export const SigFourCodex: any = { /* SigFourCodex codex of four character length derivation codes Only provide defined codes. @@ -225,20 +225,20 @@ const SigFourCodex = { Ed448: '0A', // # Ed448 signature. }; -const SigFourSizes = { +export const SigFourSizes: any = { '0A': 156, }; // # size of index portion of code qb64 -const SigFourIdxSizes = { +export const SigFourIdxSizes: any = { '0A': 2, }; -const SigFourRawSizes = { +export const SigFourRawSizes: any = { '0A': 114, }; -const SigFiveCodex = { +export const SigFiveCodex: any = { /* Five codex of five character length derivation codes Only provide defined codes. Undefined are left out so that inclusion @@ -253,12 +253,12 @@ Only provide first three characters here */ }; -const SigFiveSizes = {}; -const SigFiveIdxSizes = {}; -const SigFiveRawSizes = {}; +export const SigFiveSizes: any = {}; +export const SigFiveIdxSizes: any = {}; +export const SigFiveRawSizes: any = {}; -const SIGFOURMAX = 4095; // # maximum index value given two base 64 digits -const SigCntCodex = { +export const SIGFOURMAX = 4095; // # maximum index value given two base 64 digits +export const SigCntCodex: any = { /* SigCntCodex codex of four character length derivation codes that indicate count (number) of attached signatures following an event . @@ -278,26 +278,26 @@ const SigCntCodex = { // # Mapping of Code to Size // # Total size qb64 -const SigCntSizes = { +export const SigCntSizes: any = { '-A': 4, '-B': 4, }; // # size of index portion of code qb64 -const SigCntIdxSizes = { +export const SigCntIdxSizes: any = { '-A': 2, '-B': 2, }; // # total size of raw unqualified -const SigCntRawSizes = { +export const SigCntRawSizes: any = { '-A': 0, '-B': 0, }; -const SIGCNTMAX = 4095; // # maximum count value given two base 64 digits +export const SIGCNTMAX = 4095; // # maximum count value given two base 64 digits -const SigIdxSizes = { +export const SigIdxSizes: any = { '-A': 2, '-B': 2, A: 1, @@ -305,7 +305,7 @@ const SigIdxSizes = { '0A': 2, }; -const SigSizes = { +export const SigSizes: any = { '-A': 4, '-B': 4, A: 88, @@ -313,15 +313,15 @@ const SigSizes = { '0A': 156, }; -const SigRawSizes = { +export const SigRawSizes: any = { '-A': 0, '-B': 0, A: 64, B: 64, '0A': 114, }; -const SIGFIVEMAX = 4095; -const b64ChrByIdx = { +export const SIGFIVEMAX = 4095; +export const b64ChrByIdx: any = { 0: 'A', 1: 'B', 2: 'C', @@ -387,50 +387,3 @@ const b64ChrByIdx = { 62: '-', 63: '_', }; - - - -module.exports = { - oneCharCode, - CryOneSizes, - CryOneRawSizes, - twoCharCode, - CryTwoSizes, - CryTwoRawSizes, - fourCharCode, - CryFourSizes, - CryFourRawSizes, - crySelectCodex, - cryAllSizes, - CryCntSizes, - CryCntIdxSizes, - CryCntRawSizes, - CRYCNTMAX, - CryCntCodex, - cryAllRawSizes, - b64ChrByIdx, - SigTwoCodex, - SigSelectCodex, - SigTwoSizes, - SigTwoIdxSizes, - SigTwoRawSizes, - SIGTWOMAX, - SigFourCodex, - SIGFOURMAX, - SigCntCodex, - SigCntSizes, - SigCntIdxSizes, - SigCntRawSizes, - SIGCNTMAX, - SigIdxSizes, - SigSizes, - SigRawSizes, - SigFourSizes, - SigFiveSizes, - SigFiveIdxSizes, - SigFiveRawSizes, - SigFourIdxSizes, - SigFourRawSizes, - SigFiveCodex, - SIGFIVEMAX, -}; diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index 5d99077f..232087ac 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -1,8 +1,6 @@ -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'blake3'. const blake3 = require('blake3'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Crymat'. -const { Crymat } = require('./cryMat'); -const derivationCode = require('./derivationCodes'); +import { Crymat } from './cryMat'; +import { oneCharCode } from './derivationCodes'; /** * @description : Diger is subset of Crymat and is used to verify the digest of serialization @@ -10,18 +8,17 @@ const derivationCode = require('./derivationCodes'); * .code as digest algorithm * */ -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Diger'. -class Diger extends Crymat { +export class Diger extends Crymat { verifyFunc: any; // This constructor will assign digest verification function to ._verify - constructor(raw = null, ser = null, code = derivationCode.oneCharCode.Blake3_256, qb64 = null) { + constructor(raw: Buffer, ser = null, code = oneCharCode.Blake3_256, qb64 = null) { try { super(raw, qb64, null, code, 0); } catch (error:any) { if (!ser) { throw new Error(error); } - if (code === derivationCode.oneCharCode.Blake3_256) { + if (code === oneCharCode.Blake3_256) { const hasher = blake3.createHash(); // let dig = blake3.hash(ser); const dig = hasher.update(ser).digest(''); @@ -31,7 +28,7 @@ class Diger extends Crymat { } } - if (code === derivationCode.oneCharCode.Blake3_256) { + if (code === oneCharCode.Blake3_256) { this.verifyFunc = this.blake3_256; } else { throw new Error(`Unsupported code = ${code} for digester.`); @@ -61,4 +58,3 @@ class Diger extends Crymat { return (digest.toString() === dig.toString()); } } -module.exports = { Diger }; diff --git a/src/keri/core/nexter.ts b/src/keri/core/nexter.ts index 4de531a5..4ddef661 100644 --- a/src/keri/core/nexter.ts +++ b/src/keri/core/nexter.ts @@ -11,7 +11,7 @@ let getKeys: any; next sith and next keys */ -class Nexter extends Diger { +export class Nexter extends Diger { /** * Assign digest verification function to ._verify @@ -35,9 +35,9 @@ class Nexter extends Diger { */ constructor( ser = null, - sith = null, - keys = null, - ked = null, + sith?:number, + keys?: any[], + ked?: {}, qb64 = null, code = codeAndLength.oneCharCode.Blake3_256, ) { @@ -142,5 +142,3 @@ function deriveSer(sith: any, keys: any, ked: any) { return [getSer, sith, keys]; } - -module.exports = { Nexter }; diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index 6156dce1..08d4c825 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -22,7 +22,7 @@ const { Signer } = require('./signer'); Methods:verify(): Verifies derivation of aid */ -class Prefixer extends Crymat { +export class Prefixer extends Crymat { // elements in digest or signature derivation from inception icp // IcpLabels ["sith", "keys", "nxt", "toad", "wits", "cnfg"] @@ -34,10 +34,10 @@ class Prefixer extends Crymat { * ._verify to verify derivation of aid = .qb64 */ constructor( - raw = null, + raw?: Buffer, code = derivationCodes.oneCharCode.Ed25519N, - ked = null, - seed = null, + ked = {}, + seed?:Uint8Array, secret = null, qb64 = null, qb2 = null, @@ -228,14 +228,15 @@ class Prefixer extends Crymat { /** * @description Returns tuple raw, code of basic Ed25519 prefix (qb64) - as derived from key event dict ked + as derived from key event dict ked * @param {*} ked * @param {*} _seed * @param {*} _secret + * @param _code */ function DeriveBasicEd25519( ked: any, - _seed = null, + _seed?: Uint8Array, _secret = null, _code = derivationCodes.oneCharCode.Ed25519, ) { @@ -364,7 +365,7 @@ function DeriveDigBlake3_256(ked: any) { * * */ -function DeriveSigEd25519(ked: any, seed = null, secret = null) { +function DeriveSigEd25519(ked: any, seed?:Uint8Array, secret = null) { let labels = null; let values = null; let ser = null; @@ -404,5 +405,3 @@ function DeriveSigEd25519(ked: any, seed = null, secret = null) { sigver = signer.sign(ser); return { raw: sigver.raw(), code: derivationCodes.twoCharCode.Ed25519 }; } - -module.exports = { Prefixer }; diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts index f1e25f69..51d6d151 100644 --- a/src/keri/core/signer.ts +++ b/src/keri/core/signer.ts @@ -16,12 +16,11 @@ const { range } = require('./utls'); as cipher suite for creating key-pair. */ -class Signer extends Crymat { +export class Signer extends Crymat { constructor( - raw = null, + raw?: Uint8Array, code = derivationCodes.oneCharCode.Ed25519_Seed, transferable = true, - // lib = null, qb64 = null, ) { let setVerfer; @@ -172,7 +171,7 @@ async function generateSigners(root = null, count = 8) { random root created if not provided * @param {*} count count is number of signers in list */ -function generateSecrets(root = null, count = 8) { +export function generateSecrets(root = null, count = 8) { const signrs: any = []; const signers = generateSigners(root, count); @@ -182,5 +181,3 @@ function generateSecrets(root = null, count = 8) { return signrs; } - -module.exports = { Signer, generateSigners, generateSecrets }; diff --git a/src/keri/core/utls.ts b/src/keri/core/utls.ts index e2f1a634..2e3cabf1 100644 --- a/src/keri/core/utls.ts +++ b/src/keri/core/utls.ts @@ -1,5 +1,3 @@ -const { isArray } = require("lodash"); - function pad(n: any, width = 3, z = 0) { return (String(z).repeat(width) + String(n)).slice(String(n).length); } diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts index 8148413b..161f14f2 100644 --- a/src/keri/core/verfer.ts +++ b/src/keri/core/verfer.ts @@ -7,10 +7,10 @@ const codeAndLength = require('./derivationCodes'); * @description Verfer :sublclass of crymat,helps to verify signature of serialization * using .raw as verifier key and .code as signature cypher suite */ -class Verfer extends Crymat { +export class Verfer extends Crymat { verifySig: any; // eslint-disable-next-line max-len - constructor(raw = null, qb64 = null, qb2 = null, qb64b = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0) { + constructor(raw?: Buffer, qb64 = null, qb2 = null, qb64b = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0) { super(raw, qb64, qb2, code, index); this.qb64b = qb64b if (Object.values(codeAndLength.oneCharCode.Ed25519N).includes(this.getCode) @@ -50,5 +50,3 @@ class Verfer extends Crymat { } } } - -module.exports = { Verfer }; diff --git a/src/keri/eventing/TraitCodex.ts b/src/keri/eventing/TraitCodex.ts index e9d0274d..5ba2e176 100644 --- a/src/keri/eventing/TraitCodex.ts +++ b/src/keri/eventing/TraitCodex.ts @@ -1,12 +1,8 @@ const { - // @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serials'. Serials, versify, Ilks,Versionage } = require('../core/core'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable '_'. const _ = require('lodash'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Prefixer'. const { Prefixer } = require('../core/prefixer'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serder'. const { Serder } = require('../core/serder'); const derivationCodeLength = require('../core/derivationCodes'); @@ -15,8 +11,7 @@ const derivationCodeLength = require('../core/derivationCodes'); Only provide defined codes. Undefined are left out so that inclusion(exclusion) via 'in' operator works. */ -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'TraitCodex... Remove this comment to see the full error message -class TraitCodex { +export class TraitCodex { static readonly EstOnly = 'EO' constructor() { } @@ -330,7 +325,6 @@ class TraitCodex { } } -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'isSorted'. function isSorted(array: any) { const limit = array.length - 1; for (let i = 0; i < limit; i++) { @@ -341,7 +335,6 @@ function isSorted(array: any) { } -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'hasDuplica... Remove this comment to see the full error message function hasDuplicates(array: any) { return (new Set(array)).size !== array.length; } diff --git a/src/keri/eventing/kevery.ts b/src/keri/eventing/kevery.ts index dd9bc95c..e827dcb6 100644 --- a/src/keri/eventing/kevery.ts +++ b/src/keri/eventing/kevery.ts @@ -5,7 +5,6 @@ // an outgoing steam. When the incoming streams includes key event messages // then Kevery acts putKes Kever (KERI key event verifier) factory. -// @ts-expect-error ts-migrate(6200) FIXME: Definitions of the following identifiers conflict ... Remove this comment to see the full error message const { Serder } = require('../core/serder') const derivationCodes = require('../core/derivationCode&Length') const { Prefixer } = require('../core/prefixer') @@ -14,12 +13,10 @@ const { CryCounter } = require('../core/cryCounter') const {Sigcounter} = require('../core/SigCounter') const {Sigver} = require('../core/sigver') const {Siger} = require('../core/siger') -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serials'. const { Serials, Versionage, IcpLabels, Ilks } = require('../core/core') // const {SealEvent} = require('../eventing/util') -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable '_'. const _ = require('lodash'); -const { range } = require("lodash"); +import { range } from "lodash"; const { Verfer } = require("../core/verfer"); const { snkey, Logger, dgkey } = require('../db/index') // Only supports current version VERSION diff --git a/src/keri/help/stringToBinary.js b/src/keri/help/stringToBinary.ts similarity index 65% rename from src/keri/help/stringToBinary.js rename to src/keri/help/stringToBinary.ts index 23205ad2..af81d455 100644 --- a/src/keri/help/stringToBinary.js +++ b/src/keri/help/stringToBinary.ts @@ -1,22 +1,21 @@ -const Deque = require('collections/deque'); const derivationCodeLength = require('../core/derivationCodes'); -function string2Bin(s) { - var b = new Array(); - var last = s.length; - for (var i = 0; i < last; i++) { - var d = s.charCodeAt(i); +export function string2Bin(s: string) { + let b = new Array(); + let last = s.length; + + for (let i = 0; i < last; i++) { + let d = s.charCodeAt(i); if (d < 128) b[i] = dec2Bin(d); else { - let c = s.charAt(i); b[i] = -1; } } return b; } -function dec2Bin(d) { +export function dec2Bin(d: number) { var b = ''; for (var i = 0; i < 8; i++) { @@ -27,7 +26,7 @@ function dec2Bin(d) { return b; } -function intToB64(i, l = 1) { +export function intToB64(i: number, l = 1) { const queue = []; queue.unshift(derivationCodeLength.b64ChrByIdx[i % 64]); i = Math.floor(i / 64); @@ -49,21 +48,16 @@ function intToB64(i, l = 1) { * @description Returns conversion of Base64 str cs to int * @param {} cs */ -function b64ToInt(cs) { +export function b64ToInt(cs: string) { let i = 0; const splitString = cs.split(''); const reverseArray = splitString.reverse(); - for (const [index, element] of reverseArray.entries()) { - const keyOfValue = Object.keys(derivationCodeLength.b64ChrByIdx).find(key => derivationCodeLength.b64ChrByIdx[key] === element); - i += keyOfValue * 64 ** index; + for (const entriesKey in reverseArray.entries()) { + const keyOfValue = Object.keys(derivationCodeLength.b64ChrByIdx)?.find(key => derivationCodeLength.b64ChrByIdx[key] === entriesKey[1]); + i += parseInt(keyOfValue!) * 64 ** parseInt(entriesKey[0]); } return i; } -module.exports = { - string2Bin, - intToB64, - b64ToInt, -}; diff --git a/test/core/prefixer.test.ts b/test/core/prefixer.test.ts index 41857957..65a09b3f 100644 --- a/test/core/prefixer.test.ts +++ b/test/core/prefixer.test.ts @@ -1,17 +1,17 @@ import {strict as assert} from "assert"; -const libsodium = require('libsodium-wrappers-sumo'); -const derivationCodes = require('../../src/keri/core/derivationCodes'); -const { Crymat } = require('../../src/keri/core/cryMat'); -const { Verfer } = require('../../src/keri/core/verfer'); -const { Prefixer } = require('../../src/keri/core/prefixer'); -const { Nexter } = require('../../src/keri/core/nexter'); -const { Signer } = require('../../src/keri/core/signer'); -const { +import libsodium from 'libsodium-wrappers-sumo'; +import {CryOneRawSizes, CryOneSizes, oneCharCode, twoCharCode} from '../../src/keri/core/derivationCodes'; +import { Crymat } from '../../src/keri/core/cryMat'; +import { Verfer } from '../../src/keri/core/verfer'; +import { Prefixer } from '../../src/keri/core/prefixer'; +import { Nexter } from '../../src/keri/core/nexter'; +import { Signer } from '../../src/keri/core/signer'; +import { versify, Serials, Versionage, Ilks, -} = require('../../src/keri/core/core'); +} from '../../src/keri/core/core'; // namespace our extensions @@ -35,26 +35,26 @@ describe('Prefixer', () => { nxtkey, null, null, - derivationCodes.oneCharCode.Ed25519, + oneCharCode.Ed25519, ); console.log(nxtfer.qb64()) assert.deepStrictEqual( nxtfer.qb64(), - 'Dpl-JNEryNVTBgyMGmEym7xqzaOpBOngn2gSIssRf9gA', + 'Bpl-JNEryNVTBgyMGmEym7xqzaOpBOngn2gSIssRf9gA', ); // test creation given raw and code no derivation let prefixer = new Prefixer(verkey); - assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519N); + assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519N); assert.deepStrictEqual( prefixer.raw().length, - derivationCodes.CryOneRawSizes[prefixer.code()], + CryOneRawSizes[prefixer.code()], ); assert.deepStrictEqual( prefixer.qb64().length, - derivationCodes.CryOneSizes[prefixer.code()], + CryOneSizes[prefixer.code()], ); @@ -65,40 +65,41 @@ describe('Prefixer', () => { assert.deepEqual(prefixer.verify(ked), false); // (raw = null), - // (code = derivationCodes.oneCharCode.Ed25519N), + // (code = oneCharCode.Ed25519N), // (ked = null), // (seed = null), // secret = null, ...kwa prefixer = new Prefixer( verkey, - derivationCodes.oneCharCode.Ed25519, - null, - null, + oneCharCode.Ed25519, + undefined, + undefined, null, ); // # defaults provide Ed25519N prefixer - assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519); + assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519); assert.deepStrictEqual( prefixer.raw().length, - derivationCodes.CryOneRawSizes[prefixer.code()], + CryOneRawSizes[prefixer.code()], ); assert.deepStrictEqual( prefixer.qb64().length, - derivationCodes.CryOneSizes[prefixer.code()], + CryOneSizes[prefixer.code()], ); ked = { keys: [prefixer.qb64()], nxt: '' }; assert.deepStrictEqual(prefixer.verify(ked), true); - // raw = null, qb64 = null, qb2 = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0 + // raw = null, qb64 = null, qb2 = null, code = oneCharCode.Ed25519N, index = 0 verfer = new Verfer( verkey, null, null, - derivationCodes.oneCharCode.Ed25519, + null, + oneCharCode.Ed25519, 0, ); prefixer = new Prefixer(verfer.raw()); - assert.deepStrictEqual(prefixer.code(), derivationCodes.oneCharCode.Ed25519N); + assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519N); assert.deepStrictEqual(prefixer.verify(ked), false); // // # # Test basic derivation from ked @@ -106,7 +107,7 @@ describe('Prefixer', () => { ked = { keys: [verfer.qb64()], nxt: '' }; // raw = null, code = derivation_code.oneCharCode.Ed25519N, ked = null, seed = null, secret = null, ...kwa - prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519, ked); + prefixer = new Prefixer(undefined, oneCharCode.Ed25519, ked); assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); assert.deepStrictEqual(prefixer.verify(ked), true); @@ -114,11 +115,12 @@ describe('Prefixer', () => { verkey, null, null, - derivationCodes.oneCharCode.Ed25519N, + null, + oneCharCode.Ed25519N, 0, ); ked = { keys: [verfer.qb64()], nxt: '' }; - prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519N, ked); + prefixer = new Prefixer(undefined, oneCharCode.Ed25519N, ked); assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); assert.deepStrictEqual(prefixer.verify(ked), true); @@ -128,14 +130,14 @@ describe('Prefixer', () => { let sn = 0; let ilk = Ilks.icp; let sith = 1; - prefixer = new Crymat( + let crymat = new Crymat( verkey, null, null, - derivationCodes.oneCharCode.Ed25519, + oneCharCode.Ed25519, ); - let keys = [prefixer.qb64()]; + let keys = [crymat.qb64()]; let nxt = ''; let toad = 0; // @ts-ignore @@ -158,8 +160,8 @@ describe('Prefixer', () => { // util.pad(size.toString(16), VERRAWSIZE); // console.log("key is --------->", keys); let prefixer1 = new Prefixer( - null, - derivationCodes.oneCharCode.Blake3_256, + undefined, + oneCharCode.Blake3_256, ked1, ); @@ -167,7 +169,7 @@ describe('Prefixer', () => { prefixer1.qb64(), 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', ); - assert.deepStrictEqual(prefixer1.verify(ked1, null), true); + assert.deepStrictEqual(prefixer1.verify(ked1), true); console.log(prefixer1.qb64()) @@ -188,15 +190,15 @@ describe('Prefixer', () => { }; prefixer1 = new Prefixer( - null, - derivationCodes.oneCharCode.Blake3_256, + undefined, + oneCharCode.Blake3_256, ked2, ); assert.deepStrictEqual( prefixer1.qb64(), 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', ); - assert.deepStrictEqual(prefixer1.verify(ked2, null), true); + assert.deepStrictEqual(prefixer1.verify(ked2), true); // const perm = []; const seal = { @@ -221,15 +223,15 @@ describe('Prefixer', () => { }; prefixer1 = new Prefixer( - null, - derivationCodes.oneCharCode.Blake3_256, + undefined, + oneCharCode.Blake3_256, ked3, ); assert.deepStrictEqual( prefixer1.qb64(), 'E_k7oVnOUQ_rVWhhuGwwkiHR-7LOfhtXybs7HMj5xLlY', ); - assert.deepStrictEqual(prefixer1.verify(ked3, null), true); + assert.deepStrictEqual(prefixer1.verify(ked3), true); // # # Test signature derivation @@ -237,7 +239,7 @@ describe('Prefixer', () => { let seed = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); const seed1 = '\xdf\x95\xf9\xbcK@s="\xee\x95w\xbf>F&\xbb\x82\x8f)\x95\xb9\xc0\x1eS\x1b{Lt\xcfH\xa6'; seed = Buffer.from(seed1, 'binary'); - const signer = new Signer(seed, derivationCodes.oneCharCode.Ed25519_Seed, true, libsodium); + const signer = new Signer(seed, oneCharCode.Ed25519_Seed, true); let secret = signer.qb64(); assert.deepStrictEqual( @@ -276,8 +278,8 @@ describe('Prefixer', () => { }; prefixer1 = new Prefixer( - null, - derivationCodes.twoCharCode.Ed25519, + undefined, + twoCharCode.Ed25519, ked4, seed, ); diff --git a/test/core/verfer.test.ts b/test/core/verfer.test.ts index 4b99b7ed..a935b454 100644 --- a/test/core/verfer.test.ts +++ b/test/core/verfer.test.ts @@ -1,6 +1,7 @@ const libsodium = require('libsodium-wrappers-sumo'); const Base64 = require('urlsafe-base64'); -const derivationCodes = require('../../src/keri/core/derivationCodes'); +import { oneCharCode} from "../../src/keri/core/derivationCodes"; + const assert = require('assert').strict; @@ -25,10 +26,10 @@ describe('Verfer', () => { Buffer.from(verkey, 'binary'), null, null, - derivationCodes.oneCharCode.Ed25519N, + oneCharCode.Ed25519N, ); assert.deepStrictEqual(verfer.raw(), verkey); - assert.deepStrictEqual(verfer.code(), derivationCodes.oneCharCode.Ed25519N); + assert.deepStrictEqual(verfer.code(), oneCharCode.Ed25519N); }); }); diff --git a/yarn.lock b/yarn.lock index 52ca3334..6a6bb1e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,29 +2,29 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + "integrity" "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/highlight" "^7.14.5" +"@babel/code-frame@7.12.11": + "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==" + "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + "version" "7.12.11" + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" - integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + "integrity" "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" + "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz" + "version" "7.15.0" -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.13.16", "@babel/core@^7.4.4", "@babel/core@^7.7.5": - version "7.15.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" - integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== +"@babel/core@^6.0.0-0 || 7.x", "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.4.0-0", "@babel/core@^7.4.4", "@babel/core@^7.7.5": + "integrity" "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==" + "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz" + "version" "7.15.5" dependencies: "@babel/code-frame" "^7.14.5" "@babel/generator" "^7.15.4" @@ -35,51 +35,51 @@ "@babel/template" "^7.15.4" "@babel/traverse" "^7.15.4" "@babel/types" "^7.15.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" + "convert-source-map" "^1.7.0" + "debug" "^4.1.0" + "gensync" "^1.0.0-beta.2" + "json5" "^2.1.2" + "semver" "^6.3.0" + "source-map" "^0.5.0" "@babel/generator@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" - integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== + "integrity" "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==" + "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" - jsesc "^2.5.1" - source-map "^0.5.0" + "jsesc" "^2.5.1" + "source-map" "^0.5.0" "@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" - integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== + "integrity" "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==" + "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz#21ad815f609b84ee0e3058676c33cf6d1670525f" - integrity sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q== + "integrity" "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==" + "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-explode-assignable-expression" "^7.15.4" "@babel/types" "^7.15.4" "@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" - integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== + "integrity" "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/compat-data" "^7.15.0" "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" - semver "^6.3.0" + "browserslist" "^4.16.6" + "semver" "^6.3.0" "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" - integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== + "integrity" "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-annotate-as-pure" "^7.15.4" "@babel/helper-function-name" "^7.15.4" @@ -89,89 +89,89 @@ "@babel/helper-split-export-declaration" "^7.15.4" "@babel/helper-create-regexp-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" - integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + "integrity" "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==" + "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" - regexpu-core "^4.7.1" + "regexpu-core" "^4.7.1" "@babel/helper-define-polyfill-provider@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz#df9da66285b884ce66417abdd0b6ca91198149bd" - integrity sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ== + "integrity" "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz" + "version" "0.0.3" dependencies: "@babel/helper-compilation-targets" "^7.10.4" "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" "@babel/traverse" "^7.11.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" "@babel/helper-define-polyfill-provider@^0.2.2": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" - integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + "integrity" "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==" + "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz" + "version" "0.2.3" dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.13.0" "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" + "debug" "^4.1.1" + "lodash.debounce" "^4.0.8" + "resolve" "^1.14.2" + "semver" "^6.1.2" "@babel/helper-explode-assignable-expression@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz#f9aec9d219f271eaf92b9f561598ca6b2682600c" - integrity sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g== + "integrity" "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==" + "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" - integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== + "integrity" "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==" + "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-get-function-arity" "^7.15.4" "@babel/template" "^7.15.4" "@babel/types" "^7.15.4" "@babel/helper-get-function-arity@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" - integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== + "integrity" "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==" + "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-hoist-variables@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" - integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== + "integrity" "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==" + "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-member-expression-to-functions@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" - integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== + "integrity" "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==" + "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" - integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== + "integrity" "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz#7da80c8cbc1f02655d83f8b79d25866afe50d226" - integrity sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw== + "integrity" "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==" + "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz" + "version" "7.15.7" dependencies: "@babel/helper-module-imports" "^7.15.4" "@babel/helper-replace-supers" "^7.15.4" @@ -183,30 +183,30 @@ "@babel/types" "^7.15.6" "@babel/helper-optimise-call-expression@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" - integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== + "integrity" "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==" + "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + "integrity" "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz" + "version" "7.14.5" "@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" - integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== + "integrity" "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==" + "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-annotate-as-pure" "^7.15.4" "@babel/helper-wrap-function" "^7.15.4" "@babel/types" "^7.15.4" "@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" - integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== + "integrity" "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==" + "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-member-expression-to-functions" "^7.15.4" "@babel/helper-optimise-call-expression" "^7.15.4" @@ -214,40 +214,40 @@ "@babel/types" "^7.15.4" "@babel/helper-simple-access@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" - integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== + "integrity" "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==" + "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-skip-transparent-expression-wrappers@^7.14.5", "@babel/helper-skip-transparent-expression-wrappers@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" - integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== + "integrity" "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==" + "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-split-export-declaration@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" - integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== + "integrity" "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==" + "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/types" "^7.15.4" "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" - integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== + "integrity" "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz" + "version" "7.15.7" "@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + "integrity" "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" + "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz" + "version" "7.14.5" "@babel/helper-wrap-function@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" - integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== + "integrity" "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==" + "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-function-name" "^7.15.4" "@babel/template" "^7.15.4" @@ -255,115 +255,115 @@ "@babel/types" "^7.15.4" "@babel/helpers@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" - integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== + "integrity" "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==" + "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/template" "^7.15.4" "@babel/traverse" "^7.15.4" "@babel/types" "^7.15.4" "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + "integrity" "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==" + "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" + "chalk" "^2.0.0" + "js-tokens" "^4.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.0": - version "7.15.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" - integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== + "integrity" "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==" + "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz" + "version" "7.15.7" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz#dbdeabb1e80f622d9f0b583efb2999605e0a567e" - integrity sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog== + "integrity" "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==" + "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" "@babel/plugin-proposal-optional-chaining" "^7.14.5" "@babel/plugin-proposal-async-generator-functions@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz#f82aabe96c135d2ceaa917feb9f5fca31635277e" - integrity sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw== + "integrity" "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.15.4" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" - integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== + "integrity" "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-proposal-class-static-block@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz#3e7ca6128453c089e8b477a99f970c63fc1cb8d7" - integrity sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA== + "integrity" "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-create-class-features-plugin" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" - integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== + "integrity" "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" - integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== + "integrity" "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" - integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== + "integrity" "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" - integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== + "integrity" "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" - integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== + "integrity" "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" - integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== + "integrity" "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.15.6": - version "7.15.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" - integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== + "integrity" "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz" + "version" "7.15.6" dependencies: "@babel/compat-data" "^7.15.0" "@babel/helper-compilation-targets" "^7.15.4" @@ -372,34 +372,34 @@ "@babel/plugin-transform-parameters" "^7.15.4" "@babel/plugin-proposal-optional-catch-binding@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" - integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== + "integrity" "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" - integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== + "integrity" "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" - integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== + "integrity" "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-proposal-private-property-in-object@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz#55c5e3b4d0261fd44fe637e3f624cfb0f484e3e5" - integrity sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA== + "integrity" "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-annotate-as-pure" "^7.15.4" "@babel/helper-create-class-features-plugin" "^7.15.4" @@ -407,173 +407,173 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" - integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + "integrity" "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + "version" "7.8.4" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + "version" "7.12.13" dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" - integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== + "integrity" "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + "version" "7.10.4" dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + "version" "7.8.3" dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== + "integrity" "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" - integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== + "integrity" "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" - integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== + "integrity" "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-module-imports" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.14.5" "@babel/plugin-transform-block-scoped-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" - integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== + "integrity" "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-block-scoping@^7.15.3": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" - integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== + "integrity" "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz" + "version" "7.15.3" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-classes@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" - integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== + "integrity" "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-annotate-as-pure" "^7.15.4" "@babel/helper-function-name" "^7.15.4" @@ -581,234 +581,234 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.15.4" "@babel/helper-split-export-declaration" "^7.15.4" - globals "^11.1.0" + "globals" "^11.1.0" "@babel/plugin-transform-computed-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" - integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== + "integrity" "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-destructuring@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" - integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== + "integrity" "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz" + "version" "7.14.7" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" - integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== + "integrity" "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-duplicate-keys@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" - integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== + "integrity" "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-exponentiation-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" - integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== + "integrity" "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-flow-strip-types@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz#0dc9c1d11dcdc873417903d6df4bed019ef0f85e" - integrity sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA== + "integrity" "sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-flow" "^7.14.5" "@babel/plugin-transform-for-of@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" - integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== + "integrity" "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" - integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== + "integrity" "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-function-name" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" - integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== + "integrity" "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-member-expression-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" - integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== + "integrity" "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-modules-amd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" - integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== + "integrity" "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" - integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== + "integrity" "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-module-transforms" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-simple-access" "^7.15.4" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz#b42890c7349a78c827719f1d2d0cd38c7d268132" - integrity sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw== + "integrity" "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-hoist-variables" "^7.15.4" "@babel/helper-module-transforms" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-identifier" "^7.14.9" - babel-plugin-dynamic-import-node "^2.3.3" + "babel-plugin-dynamic-import-node" "^2.3.3" "@babel/plugin-transform-modules-umd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" - integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== + "integrity" "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" - integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== + "integrity" "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz" + "version" "7.14.9" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/plugin-transform-new-target@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" - integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== + "integrity" "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-object-super@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" - integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== + "integrity" "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.14.5" "@babel/plugin-transform-parameters@^7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" - integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== + "integrity" "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-property-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" - integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== + "integrity" "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-regenerator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" - integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== + "integrity" "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz" + "version" "7.14.5" dependencies: - regenerator-transform "^0.14.2" + "regenerator-transform" "^0.14.2" "@babel/plugin-transform-reserved-words@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" - integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== + "integrity" "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-shorthand-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" - integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== + "integrity" "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-spread@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" - integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== + "integrity" "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz" + "version" "7.14.6" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-transform-sticky-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" - integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== + "integrity" "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-template-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" - integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== + "integrity" "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typeof-symbol@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" - integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== + "integrity" "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typescript@^7.15.0": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz#db7a062dcf8be5fc096bc0eeb40a13fbfa1fa251" - integrity sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA== + "integrity" "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/helper-create-class-features-plugin" "^7.15.4" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript" "^7.14.5" "@babel/plugin-transform-unicode-escapes@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" - integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== + "integrity" "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-unicode-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" - integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== + "integrity" "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==" + "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0": - version "7.15.6" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.6.tgz#0f3898db9d63d320f21b17380d8462779de57659" - integrity sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw== + "integrity" "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==" + "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz" + "version" "7.15.6" dependencies: "@babel/compat-data" "^7.15.0" "@babel/helper-compilation-targets" "^7.15.4" @@ -878,80 +878,80 @@ "@babel/plugin-transform-unicode-regex" "^7.14.5" "@babel/preset-modules" "^0.1.4" "@babel/types" "^7.15.6" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" - babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.16.0" - semver "^6.3.0" + "babel-plugin-polyfill-corejs2" "^0.2.2" + "babel-plugin-polyfill-corejs3" "^0.2.2" + "babel-plugin-polyfill-regenerator" "^0.2.2" + "core-js-compat" "^3.16.0" + "semver" "^6.3.0" "@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.13.13": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.14.5.tgz#a1810b0780c8b48ab0bece8e7ab8d0d37712751c" - integrity sha512-pP5QEb4qRUSVGzzKx9xqRuHUrM/jEzMqdrZpdMA+oUCRgd5zM1qGr5y5+ZgAL/1tVv1H0dyk5t4SKJntqyiVtg== + "integrity" "sha512-pP5QEb4qRUSVGzzKx9xqRuHUrM/jEzMqdrZpdMA+oUCRgd5zM1qGr5y5+ZgAL/1tVv1H0dyk5t4SKJntqyiVtg==" + "resolved" "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.14.5.tgz" + "version" "7.14.5" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-flow-strip-types" "^7.14.5" "@babel/preset-modules@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + "integrity" "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==" + "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" + "version" "0.1.4" 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" + "esutils" "^2.0.2" "@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.13.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz#e8fca638a1a0f64f14e1119f7fe4500277840945" - integrity sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow== + "integrity" "sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==" + "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz" + "version" "7.15.0" dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-typescript" "^7.15.0" "@babel/register@^7.0.0", "@babel/register@^7.13.16": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.15.3.tgz#6b40a549e06ec06c885b2ec42c3dd711f55fe752" - integrity sha512-mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw== + "integrity" "sha512-mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw==" + "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.15.3.tgz" + "version" "7.15.3" dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.0" - source-map-support "^0.5.16" + "clone-deep" "^4.0.1" + "find-cache-dir" "^2.0.0" + "make-dir" "^2.1.0" + "pirates" "^4.0.0" + "source-map-support" "^0.5.16" "@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.14.9": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz#403139af262b9a6e8f9ba04a6fdcebf8de692bf1" - integrity sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg== + "integrity" "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==" + "resolved" "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz" + "version" "7.15.4" dependencies: - core-js-pure "^3.16.0" - regenerator-runtime "^0.13.4" + "core-js-pure" "^3.16.0" + "regenerator-runtime" "^0.13.4" "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" - integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== + "integrity" "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==" + "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz" + "version" "7.15.4" dependencies: - regenerator-runtime "^0.13.4" + "regenerator-runtime" "^0.13.4" "@babel/template@^7.15.4", "@babel/template@^7.3.3": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" - integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== + "integrity" "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==" + "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/code-frame" "^7.14.5" "@babel/parser" "^7.15.4" "@babel/types" "^7.15.4" "@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.0": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" - integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== + "integrity" "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==" + "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz" + "version" "7.15.4" dependencies: "@babel/code-frame" "^7.14.5" "@babel/generator" "^7.15.4" @@ -960,390 +960,390 @@ "@babel/helper-split-export-declaration" "^7.15.4" "@babel/parser" "^7.15.4" "@babel/types" "^7.15.4" - debug "^4.1.0" - globals "^11.1.0" + "debug" "^4.1.0" + "globals" "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.15.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" - integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== + "integrity" "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==" + "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz" + "version" "7.15.6" dependencies: "@babel/helper-validator-identifier" "^7.14.9" - to-fast-properties "^2.0.0" + "to-fast-properties" "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + "version" "0.2.3" "@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + "integrity" "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==" + "resolved" "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" + "version" "1.0.4" dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" + "exec-sh" "^0.3.2" + "minimist" "^1.2.0" "@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" + "integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==" + "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" + "version" "0.4.3" + dependencies: + "ajv" "^6.12.4" + "debug" "^4.1.1" + "espree" "^7.3.0" + "globals" "^13.9.0" + "ignore" "^4.0.6" + "import-fresh" "^3.2.1" + "js-yaml" "^3.13.1" + "minimatch" "^3.0.4" + "strip-json-comments" "^3.1.1" "@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + "integrity" "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" + "version" "0.5.0" dependencies: "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" + "debug" "^4.1.1" + "minimatch" "^3.0.4" "@humanwhocodes/object-schema@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" - integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "integrity" "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" + "version" "1.2.0" "@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" + "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + "version" "1.1.0" 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" + "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" "@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + "version" "0.1.3" "@jest/console@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" - integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== + "integrity" "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==" + "resolved" "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-message-util "^25.5.0" - jest-util "^25.5.0" - slash "^3.0.0" + "chalk" "^3.0.0" + "jest-message-util" "^25.5.0" + "jest-util" "^25.5.0" + "slash" "^3.0.0" "@jest/core@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" - integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== + "integrity" "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==" + "resolved" "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/console" "^25.5.0" "@jest/reporters" "^25.5.1" "@jest/test-result" "^25.5.0" "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^25.5.0" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-resolve-dependencies "^25.5.4" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - jest-watcher "^25.5.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - realpath-native "^2.0.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" + "ansi-escapes" "^4.2.1" + "chalk" "^3.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "jest-changed-files" "^25.5.0" + "jest-config" "^25.5.4" + "jest-haste-map" "^25.5.1" + "jest-message-util" "^25.5.0" + "jest-regex-util" "^25.2.6" + "jest-resolve" "^25.5.1" + "jest-resolve-dependencies" "^25.5.4" + "jest-runner" "^25.5.4" + "jest-runtime" "^25.5.4" + "jest-snapshot" "^25.5.1" + "jest-util" "^25.5.0" + "jest-validate" "^25.5.0" + "jest-watcher" "^25.5.0" + "micromatch" "^4.0.2" + "p-each-series" "^2.1.0" + "realpath-native" "^2.0.0" + "rimraf" "^3.0.0" + "slash" "^3.0.0" + "strip-ansi" "^6.0.0" "@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== + "integrity" "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==" + "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - jest-mock "^25.5.0" + "jest-mock" "^25.5.0" "@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== + "integrity" "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==" + "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" + "jest-message-util" "^25.5.0" + "jest-mock" "^25.5.0" + "jest-util" "^25.5.0" + "lolex" "^5.0.0" "@jest/globals@^25.5.2": - version "25.5.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" - integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== + "integrity" "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==" + "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz" + "version" "25.5.2" dependencies: "@jest/environment" "^25.5.0" "@jest/types" "^25.5.0" - expect "^25.5.0" + "expect" "^25.5.0" "@jest/reporters@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" - integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== + "integrity" "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==" + "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz" + "version" "25.5.1" dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^25.5.1" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-worker "^25.5.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^3.1.0" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" + "chalk" "^3.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.2" + "graceful-fs" "^4.2.4" + "istanbul-lib-coverage" "^3.0.0" + "istanbul-lib-instrument" "^4.0.0" + "istanbul-lib-report" "^3.0.0" + "istanbul-lib-source-maps" "^4.0.0" + "istanbul-reports" "^3.0.2" + "jest-haste-map" "^25.5.1" + "jest-resolve" "^25.5.1" + "jest-util" "^25.5.0" + "jest-worker" "^25.5.0" + "slash" "^3.0.0" + "source-map" "^0.6.0" + "string-length" "^3.1.0" + "terminal-link" "^2.0.0" + "v8-to-istanbul" "^4.1.3" optionalDependencies: - node-notifier "^6.0.0" + "node-notifier" "^6.0.0" "@jest/source-map@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" - integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== + "integrity" "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==" + "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz" + "version" "25.5.0" dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" + "callsites" "^3.0.0" + "graceful-fs" "^4.2.4" + "source-map" "^0.6.0" "@jest/test-result@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" - integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== + "integrity" "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==" + "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/console" "^25.5.0" "@jest/types" "^25.5.0" "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" + "collect-v8-coverage" "^1.0.0" "@jest/test-sequencer@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" - integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== + "integrity" "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==" + "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/test-result" "^25.5.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^25.5.1" + "jest-runner" "^25.5.4" + "jest-runtime" "^25.5.4" "@jest/transform@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" - integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== + "integrity" "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==" + "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz" + "version" "25.5.1" dependencies: "@babel/core" "^7.1.0" "@jest/types" "^25.5.0" - babel-plugin-istanbul "^6.0.0" - chalk "^3.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-regex-util "^25.2.6" - jest-util "^25.5.0" - micromatch "^4.0.2" - pirates "^4.0.1" - realpath-native "^2.0.0" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + "babel-plugin-istanbul" "^6.0.0" + "chalk" "^3.0.0" + "convert-source-map" "^1.4.0" + "fast-json-stable-stringify" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-haste-map" "^25.5.1" + "jest-regex-util" "^25.2.6" + "jest-util" "^25.5.0" + "micromatch" "^4.0.2" + "pirates" "^4.0.1" + "realpath-native" "^2.0.0" + "slash" "^3.0.0" + "source-map" "^0.6.1" + "write-file-atomic" "^3.0.0" "@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== + "integrity" "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==" + "resolved" "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz" + "version" "25.5.0" dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^15.0.0" - chalk "^3.0.0" + "chalk" "^3.0.0" "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + "version" "2.1.5" dependencies: "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" + "run-parallel" "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + "version" "2.0.5" "@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" + "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + "version" "1.2.8" dependencies: "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" + "fastq" "^1.6.0" "@polka/url@^1.0.0-next.20": - version "1.0.0-next.20" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.20.tgz#111b5db0f501aa89b05076fa31f0ea0e0c292cd3" - integrity sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q== + "integrity" "sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q==" + "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz" + "version" "1.0.0-next.20" "@rollup/plugin-babel@^5.1.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" - integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + "integrity" "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz" + "version" "5.3.0" dependencies: "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" "@rollup/plugin-commonjs@^11.0.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== + "integrity" "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz" + "version" "11.1.0" dependencies: "@rollup/pluginutils" "^3.0.8" - commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" + "commondir" "^1.0.1" + "estree-walker" "^1.0.1" + "glob" "^7.1.2" + "is-reference" "^1.1.2" + "magic-string" "^0.25.2" + "resolve" "^1.11.0" "@rollup/plugin-json@^4.0.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== + "integrity" "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz" + "version" "4.1.0" dependencies: "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== + "integrity" "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz" + "version" "9.0.0" dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.17.0" + "builtin-modules" "^3.1.0" + "deepmerge" "^4.2.2" + "is-module" "^1.0.0" + "resolve" "^1.17.0" "@rollup/plugin-replace@^2.2.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + "integrity" "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==" + "resolved" "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" + "version" "2.4.2" dependencies: "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" + "magic-string" "^0.25.7" "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" + "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" + "version" "3.1.0" dependencies: "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" + "estree-walker" "^1.0.1" + "picomatch" "^2.2.2" "@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== + "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" + "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" + "version" "1.8.3" dependencies: - type-detect "4.0.8" + "type-detect" "4.0.8" "@size-limit/file@5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-5.0.4.tgz#d3bb30214218376db12c6fbc93498bcde1a65939" - integrity sha512-NXWk7fkI304TazIzG2d7co2X+XB52pHPr0CEXoj52Dx1olXcQqbx+6cg6im0FzhL91iCp1eAjhfeOq8h5D4B/Q== + "integrity" "sha512-NXWk7fkI304TazIzG2d7co2X+XB52pHPr0CEXoj52Dx1olXcQqbx+6cg6im0FzhL91iCp1eAjhfeOq8h5D4B/Q==" + "resolved" "https://registry.npmjs.org/@size-limit/file/-/file-5.0.4.tgz" + "version" "5.0.4" dependencies: - semver "7.3.5" + "semver" "7.3.5" "@size-limit/preset-small-lib@^5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-5.0.4.tgz#5eb19889df8cd9a78a48369dfe2cc9b7e2dc8da6" - integrity sha512-2DRnZUte+WThsE/Lzu3uR7RkmzK/tJcgl2rCIsrfDQ4Kn23uesXVD2y19nWHzpEc4H62bxS13SmkTi84o5mBiQ== + "integrity" "sha512-2DRnZUte+WThsE/Lzu3uR7RkmzK/tJcgl2rCIsrfDQ4Kn23uesXVD2y19nWHzpEc4H62bxS13SmkTi84o5mBiQ==" + "resolved" "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.4.tgz" + "version" "5.0.4" dependencies: "@size-limit/file" "5.0.4" "@size-limit/webpack" "5.0.4" "@size-limit/webpack@5.0.4": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@size-limit/webpack/-/webpack-5.0.4.tgz#1d3d3d802064aa132b35fc4b55984ef694ff928b" - integrity sha512-wFJ90kwJ60AAZ3Ln4Egc6Tbpl7AcibGJKawHp41HpV2TeJT4IQOsgYXj/QOnVzz75+MKX/aZVa6OIlyWR7KORw== - dependencies: - css-loader "^5.2.6" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - mkdirp "^1.0.4" - nanoid "^3.1.25" - optimize-css-assets-webpack-plugin "^6.0.1" - pnp-webpack-plugin "^1.7.0" - style-loader "^2.0.0" - webpack "^4.44.1" - webpack-bundle-analyzer "^4.4.2" + "integrity" "sha512-wFJ90kwJ60AAZ3Ln4Egc6Tbpl7AcibGJKawHp41HpV2TeJT4IQOsgYXj/QOnVzz75+MKX/aZVa6OIlyWR7KORw==" + "resolved" "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.4.tgz" + "version" "5.0.4" + dependencies: + "css-loader" "^5.2.6" + "escape-string-regexp" "^4.0.0" + "file-loader" "^6.2.0" + "mkdirp" "^1.0.4" + "nanoid" "^3.1.25" + "optimize-css-assets-webpack-plugin" "^6.0.1" + "pnp-webpack-plugin" "^1.7.0" + "style-loader" "^2.0.0" + "webpack" "^4.44.1" + "webpack-bundle-analyzer" "^4.4.2" "@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" + "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" + "version" "0.2.0" "@ts-morph/bootstrap@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@ts-morph/bootstrap/-/bootstrap-0.9.1.tgz#4761cac8d9e5c7d2d7cdb120f6dda027c2b831cd" - integrity sha512-u3F2vhLm48e6lZUIf9Gj41OXCzAr62avbWdlMZ9K1JCH//XuAgr2u3c+2usGOOIXBaP83LshBTzDgw/tb9tSzg== + "integrity" "sha512-u3F2vhLm48e6lZUIf9Gj41OXCzAr62avbWdlMZ9K1JCH//XuAgr2u3c+2usGOOIXBaP83LshBTzDgw/tb9tSzg==" + "resolved" "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.9.1.tgz" + "version" "0.9.1" dependencies: "@ts-morph/common" "~0.9.0" "@ts-morph/common@~0.9.0": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.9.2.tgz#fc63ed4f8d3a45e4ed6849fe20a57f4f2baecc5d" - integrity sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g== + "integrity" "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==" + "resolved" "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz" + "version" "0.9.2" dependencies: - fast-glob "^3.2.5" - minimatch "^3.0.4" - mkdirp "^1.0.4" - path-browserify "^1.0.1" + "fast-glob" "^3.2.5" + "minimatch" "^3.0.4" + "mkdirp" "^1.0.4" + "path-browserify" "^1.0.1" -"@types/babel__core@^7.1.7": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== +"@types/babel__core@^7.1.7", "@types/babel__core@^7.1.9": + "integrity" "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==" + "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz" + "version" "7.1.16" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1352,226 +1352,250 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.3" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" - integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== + "integrity" "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==" + "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz" + "version" "7.6.3" dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" + "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + "version" "7.4.1" dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" - integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== + "integrity" "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==" + "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz" + "version" "7.14.2" dependencies: "@babel/types" "^7.3.0" "@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "integrity" "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + "resolved" "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" + "version" "1.0.0" "@types/estree@*": - version "0.0.50" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" - integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== + "integrity" "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" + "version" "0.0.50" "@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" + "version" "0.0.39" "@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== + "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" + "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" + "version" "4.1.5" dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" + "version" "2.0.3" "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" + "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== + "integrity" "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==" + "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz" + "version" "1.1.2" dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" "@types/jest@^25.2.1": - version "25.2.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" - integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== + "integrity" "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==" + "resolved" "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz" + "version" "25.2.3" dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" + "jest-diff" "^25.2.1" + "pretty-format" "^25.2.1" "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.8": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "integrity" "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" + "version" "7.0.9" "@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" + "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" + "version" "0.0.29" + +"@types/libsodium-wrappers-sumo@^0.7.5": + "integrity" "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==" + "resolved" "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz" + "version" "0.7.5" + dependencies: + "@types/libsodium-wrappers" "*" + +"@types/libsodium-wrappers@*": + "integrity" "sha512-LisgKLlYQk19baQwjkBZZXdJL0KbeTpdEnrAfz5hQACbklCY0gVFnsKUyjfNWF1UQsCSjw93Sj5jSbiO8RPfdw==" + "resolved" "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz" + "version" "0.7.9" + +"@types/lodash@^4.14.185": + "integrity" "sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==" + "resolved" "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.185.tgz" + "version" "4.14.185" -"@types/node@*": - version "16.9.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.6.tgz#040a64d7faf9e5d9e940357125f0963012e66f04" - integrity sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ== +"@types/node@*", "@types/node@>=10.0.0": + "integrity" "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" + "resolved" "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz" + "version" "16.9.6" "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + "integrity" "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" + "version" "2.4.1" "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" "@types/prettier@^1.19.0": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" - integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + "integrity" "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==" + "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz" + "version" "1.19.1" "@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" + "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" + "version" "1.17.1" dependencies: "@types/node" "*" "@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + "integrity" "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" + "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz" + "version" "1.0.1" + +"@types/urlsafe-base64@^1.0.28": + "integrity" "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==" + "resolved" "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz" + "version" "1.0.28" + dependencies: + "@types/node" "*" "@types/yargs-parser@*": - version "20.2.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" - integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== + "integrity" "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz" + "version" "20.2.1" "@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + "integrity" "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==" + "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz" + "version" "15.0.14" dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== +"@typescript-eslint/eslint-plugin@^2.12.0", "@typescript-eslint/eslint-plugin@2.x": + "integrity" "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz" + "version" "2.34.0" dependencies: "@typescript-eslint/experimental-utils" "2.34.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" + "functional-red-black-tree" "^1.0.1" + "regexpp" "^3.0.0" + "tsutils" "^3.17.1" "@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== + "integrity" "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" + "version" "2.34.0" dependencies: "@types/json-schema" "^7.0.3" "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" + "eslint-scope" "^5.0.0" + "eslint-utils" "^2.0.0" -"@typescript-eslint/parser@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== +"@typescript-eslint/parser@^2.0.0", "@typescript-eslint/parser@^2.12.0", "@typescript-eslint/parser@2.x": + "integrity" "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz" + "version" "2.34.0" dependencies: "@types/eslint-visitor-keys" "^1.0.0" "@typescript-eslint/experimental-utils" "2.34.0" "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" + "eslint-visitor-keys" "^1.1.0" "@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" + "integrity" "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==" + "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" + "version" "2.34.0" + dependencies: + "debug" "^4.1.1" + "eslint-visitor-keys" "^1.1.0" + "glob" "^7.1.6" + "is-glob" "^4.0.1" + "lodash" "^4.17.15" + "semver" "^7.3.2" + "tsutils" "^3.17.1" "@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1579,28 +1603,28 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" + "version" "1.9.0" dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" + "version" "1.9.0" "@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1612,9 +1636,9 @@ "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" @@ -1623,9 +1647,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1633,9 +1657,9 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" @@ -1645,9 +1669,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" @@ -1657,468 +1681,486 @@ "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" + "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" + "version" "1.9.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + "version" "1.2.0" "@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" - integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== - -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn-walk@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^6.0.1, acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.4: - version "8.5.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.6.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" - integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -alphanum-sort@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + "version" "4.2.2" + +"abab@^2.0.0": + "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" + "version" "2.0.5" + +"acorn-globals@^4.3.2": + "integrity" "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==" + "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz" + "version" "4.3.4" + dependencies: + "acorn" "^6.0.1" + "acorn-walk" "^6.0.1" + +"acorn-jsx@^5.2.0", "acorn-jsx@^5.3.1": + "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" + "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + "version" "5.3.2" + +"acorn-walk@^6.0.1": + "integrity" "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz" + "version" "6.2.0" + +"acorn-walk@^8.0.0": + "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + "version" "8.2.0" + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0": + "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" + "version" "7.4.1" + +"acorn@^6.0.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" + +"acorn@^6.4.1": + "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" + "version" "6.4.2" + +"acorn@^8.0.4": + "integrity" "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz" + "version" "8.5.0" + +"ajv-errors@^1.0.0": + "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + "version" "1.0.1" + +"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": + "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + "version" "3.5.2" + +"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0": + "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + "version" "6.12.6" + 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" + +"ajv@^8.0.1": + "integrity" "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==" + "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" + "version" "8.6.3" + dependencies: + "fast-deep-equal" "^3.1.1" + "json-schema-traverse" "^1.0.0" + "require-from-string" "^2.0.2" + "uri-js" "^4.2.2" + +"alphanum-sort@^1.0.2": + "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + "version" "1.0.2" + +"ansi-colors@^4.1.1": + "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" + "version" "4.1.1" + +"ansi-escapes@^3.0.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" + +"ansi-escapes@^3.2.0": + "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" + "version" "3.2.0" + +"ansi-escapes@^4.2.1": + "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" + "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "type-fest" "^0.21.3" + +"ansi-regex@^3.0.0": + "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + "version" "3.0.0" + +"ansi-regex@^4.1.0": + "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + "version" "4.1.0" + +"ansi-regex@^5.0.0", "ansi-regex@^5.0.1": + "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + "version" "5.0.1" + +"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": + "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" + "version" "3.2.1" + dependencies: + "color-convert" "^1.9.0" + +"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"anymatch@^2.0.0": + "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "micromatch" "^3.1.4" + "normalize-path" "^2.1.1" + +"anymatch@^3.0.3": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"anymatch@~3.1.2": + "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" + "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "normalize-path" "^3.0.0" + "picomatch" "^2.0.4" + +"aproba@^1.1.1": + "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" + "version" "1.2.0" + +"argparse@^1.0.7": + "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "sprintf-js" "~1.0.2" + +"aria-query@^4.2.2": + "integrity" "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==" + "resolved" "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" + "version" "4.2.2" dependencies: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-includes@^3.1.1, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - get-intrinsic "^1.1.1" - is-string "^1.0.5" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -ast-types@0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" - integrity sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw== - -ast-types@0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" - integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== - dependencies: - tslib "^2.0.1" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -asyncro@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" - integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axe-core@^4.0.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325" - integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - -babel-eslint@^10.0.3: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== +"arr-diff@^4.0.0": + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + "version" "4.0.0" + +"arr-flatten@^1.1.0": + "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + "version" "1.1.0" + +"arr-union@^3.1.0": + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + "version" "3.1.0" + +"array-equal@^1.0.0": + "integrity" "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + "resolved" "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz" + "version" "1.0.0" + +"array-includes@^3.1.1", "array-includes@^3.1.3": + "integrity" "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==" + "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz" + "version" "3.1.3" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + "get-intrinsic" "^1.1.1" + "is-string" "^1.0.5" + +"array-union@^2.1.0": + "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + "version" "2.1.0" + +"array-unique@^0.3.2": + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + "version" "0.3.2" + +"array.prototype.flat@^1.2.4": + "integrity" "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==" + "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz" + "version" "1.2.4" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.1" + +"array.prototype.flatmap@^1.2.4": + "integrity" "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==" + "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz" + "version" "1.2.4" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.1" + "function-bind" "^1.1.1" + +"asn1.js@^5.2.0": + "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" + "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" + "version" "5.4.1" + dependencies: + "bn.js" "^4.0.0" + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" + "safer-buffer" "^2.1.0" + +"asn1@~0.2.3": + "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" + "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" + "version" "0.2.4" + dependencies: + "safer-buffer" "~2.1.0" + +"assert-plus@^1.0.0", "assert-plus@1.0.0": + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" + "version" "1.0.0" + +"assert@^1.1.1": + "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" + "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "object-assign" "^4.1.1" + "util" "0.10.3" + +"assign-symbols@^1.0.0": + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + "version" "1.0.0" + +"ast-types-flow@^0.0.7": + "integrity" "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" + "version" "0.0.7" + +"ast-types@0.11.7": + "integrity" "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==" + "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz" + "version" "0.11.7" + +"ast-types@0.14.2": + "integrity" "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==" + "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz" + "version" "0.14.2" + dependencies: + "tslib" "^2.0.1" + +"astral-regex@^1.0.0": + "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" + "version" "1.0.0" + +"astral-regex@^2.0.0": + "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" + "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" + "version" "2.0.0" + +"async-each@^1.0.1": + "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + "version" "1.0.3" + +"asynckit@^0.4.0": + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" + "version" "0.4.0" + +"asyncro@^3.0.0": + "integrity" "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==" + "resolved" "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz" + "version" "3.0.0" + +"at-least-node@^1.0.0": + "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" + "version" "1.0.0" + +"atob@^2.1.2": + "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + "version" "2.1.2" + +"aws-sign2@~0.7.0": + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" + "version" "0.7.0" + +"aws4@^1.8.0": + "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" + "version" "1.11.0" + +"axe-core@^4.0.2": + "integrity" "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==" + "resolved" "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz" + "version" "4.3.3" + +"axobject-query@^2.2.0": + "integrity" "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" + "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" + "version" "2.2.0" + +"babel-core@^7.0.0-bridge.0": + "integrity" "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + "resolved" "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" + "version" "7.0.0-bridge.0" + +"babel-eslint@^10.0.3", "babel-eslint@10.x": + "integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==" + "resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" + "version" "10.1.0" dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.7.0" "@babel/traverse" "^7.7.0" "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" + "eslint-visitor-keys" "^1.0.0" + "resolve" "^1.12.0" -babel-jest@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" - integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== +"babel-jest@^25.5.1": + "integrity" "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==" + "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz" + "version" "25.5.1" dependencies: "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-plugin-annotate-pure-calls@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" - integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== - -babel-plugin-dev-expression@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.2.tgz#c18de18a06150f9480edd151acbb01d2e65e999b" - integrity sha512-y32lfBif+c2FIh5dwGfcc/IfX5aw/Bru7Du7W2n17sJE/GJGAsmIk5DPW/8JOoeKpXW5evJfJOvRq5xkiS6vng== - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + "babel-plugin-istanbul" "^6.0.0" + "babel-preset-jest" "^25.5.0" + "chalk" "^3.0.0" + "graceful-fs" "^4.2.4" + "slash" "^3.0.0" + +"babel-plugin-annotate-pure-calls@^0.4.0": + "integrity" "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==" + "resolved" "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz" + "version" "0.4.0" + +"babel-plugin-dev-expression@^0.2.1": + "integrity" "sha512-y32lfBif+c2FIh5dwGfcc/IfX5aw/Bru7Du7W2n17sJE/GJGAsmIk5DPW/8JOoeKpXW5evJfJOvRq5xkiS6vng==" + "resolved" "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.2.tgz" + "version" "0.2.2" + +"babel-plugin-dynamic-import-node@^2.3.3": + "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "object.assign" "^4.1.0" + +"babel-plugin-istanbul@^6.0.0": + "integrity" "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" + "version" "6.0.0" dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" + "istanbul-lib-instrument" "^4.0.0" + "test-exclude" "^6.0.0" -babel-plugin-jest-hoist@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" - integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== +"babel-plugin-jest-hoist@^25.5.0": + "integrity" "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==" + "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz" + "version" "25.5.0" dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" "@types/babel__traverse" "^7.0.6" -babel-plugin-macros@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== +"babel-plugin-macros@^2.6.1": + "integrity" "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==" + "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" + "version" "2.8.0" dependencies: "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" + "cosmiconfig" "^6.0.0" + "resolve" "^1.12.0" -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" - integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== +"babel-plugin-polyfill-corejs2@^0.2.2": + "integrity" "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz" + "version" "0.2.2" dependencies: "@babel/compat-data" "^7.13.11" "@babel/helper-define-polyfill-provider" "^0.2.2" - semver "^6.1.1" + "semver" "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: - version "0.2.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" - integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== +"babel-plugin-polyfill-corejs3@^0.2.2": + "integrity" "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz" + "version" "0.2.5" dependencies: "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.16.2" + "core-js-compat" "^3.16.2" -babel-plugin-polyfill-regenerator@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz#588641af9a2cb4e299b1400c47672a4a104d2459" - integrity sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA== +"babel-plugin-polyfill-regenerator@^0.0.4": + "integrity" "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz" + "version" "0.0.4" dependencies: "@babel/helper-define-polyfill-provider" "^0.0.3" -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" - integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== +"babel-plugin-polyfill-regenerator@^0.2.2": + "integrity" "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==" + "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz" + "version" "0.2.2" dependencies: "@babel/helper-define-polyfill-provider" "^0.2.2" -babel-plugin-transform-rename-import@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz#5d9d645f937b0ca5c26a24b2510a06277b6ffd9b" - integrity sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ== +"babel-plugin-transform-rename-import@^2.3.0": + "integrity" "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==" + "resolved" "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz" + "version" "2.3.0" -babel-preset-current-node-syntax@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" - integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== +"babel-preset-current-node-syntax@^0.1.2": + "integrity" "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==" + "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz" + "version" "0.1.4" dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2132,3008 +2174,3108 @@ babel-preset-current-node-syntax@^0.1.2: "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -babel-preset-jest@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" - integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== - dependencies: - babel-plugin-jest-hoist "^25.5.0" - babel-preset-current-node-syntax "^0.1.2" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blake3@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/blake3/-/blake3-2.1.4.tgz#78117bc9e80941097fdf7d03e897a9ee595ecd62" - integrity sha512-70hmx0lPd6zmtNwxPT4/1P0pqaEUlTJ0noUBvCXPLfMpN0o8PPaK3q7ZlpRIyhrqcXxeMAJSowNm/L9oi/x1XA== - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.16.0, browserslist@^4.16.6, browserslist@^4.17.0: - version "4.17.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.1.tgz#a98d104f54af441290b7d592626dd541fa642eb9" - integrity sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ== - dependencies: - caniuse-lite "^1.0.30001259" - electron-to-chromium "^1.3.846" - escalade "^3.1.1" - nanocolors "^0.1.5" - node-releases "^1.1.76" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -bytes-iec@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" - integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001259: - version "1.0.30001260" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz#e3be3f34ddad735ca4a2736fa9e768ef34316270" - integrity sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg== - dependencies: - nanocolors "^0.1.0" - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -cbor@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.0.0.tgz#51657d26a99a6a1866f8c3258e948576eb17d709" - integrity sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig== - dependencies: - nofilter "^3.0.2" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" +"babel-preset-jest@^25.5.0": + "integrity" "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==" + "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "babel-plugin-jest-hoist" "^25.5.0" + "babel-preset-current-node-syntax" "^0.1.2" + +"balanced-match@^1.0.0": + "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + "version" "1.0.2" + +"base@^0.11.1": + "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" + "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + "version" "0.11.2" + dependencies: + "cache-base" "^1.0.1" + "class-utils" "^0.3.5" + "component-emitter" "^1.2.1" + "define-property" "^1.0.0" + "isobject" "^3.0.1" + "mixin-deep" "^1.2.0" + "pascalcase" "^0.1.1" + +"base64-js@^1.0.2", "base64-js@^1.3.1": + "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + "version" "1.5.1" + +"bcrypt-pbkdf@^1.0.0": + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "tweetnacl" "^0.14.3" + +"big.js@^5.2.2": + "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + "version" "5.2.2" + +"binary-extensions@^1.0.0": + "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + "version" "1.13.1" + +"binary-extensions@^2.0.0": + "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + "version" "2.2.0" + +"bindings@^1.5.0": + "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" + "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + "version" "1.5.0" + dependencies: + "file-uri-to-path" "1.0.0" + +"bl@^4.0.0": + "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "buffer" "^5.5.0" + "inherits" "^2.0.4" + "readable-stream" "^3.4.0" + +"blake3@^2.1.7": + "integrity" "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==" + "resolved" "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz" + "version" "2.1.7" + +"bluebird@^3.5.5": + "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + "version" "3.7.2" + +"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.0.0": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"bn.js@^5.1.1": + "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" + "version" "5.2.0" + +"boolbase@^1.0.0": + "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + "version" "1.0.0" + +"brace-expansion@^1.1.7": + "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" + "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + "version" "1.1.11" + dependencies: + "balanced-match" "^1.0.0" + "concat-map" "0.0.1" + +"braces@^2.3.1", "braces@^2.3.2": + "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" + "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + "version" "2.3.2" + dependencies: + "arr-flatten" "^1.1.0" + "array-unique" "^0.3.2" + "extend-shallow" "^2.0.1" + "fill-range" "^4.0.0" + "isobject" "^3.0.1" + "repeat-element" "^1.1.2" + "snapdragon" "^0.8.1" + "snapdragon-node" "^2.0.1" + "split-string" "^3.0.2" + "to-regex" "^3.0.1" + +"braces@^3.0.1": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"braces@~3.0.2": + "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" + "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "fill-range" "^7.0.1" + +"brorand@^1.0.1", "brorand@^1.1.0": + "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" + "version" "1.1.0" + +"browser-process-hrtime@^1.0.0": + "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" + "version" "1.0.0" + +"browser-resolve@^1.11.3": + "integrity" "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==" + "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz" + "version" "1.11.3" + dependencies: + "resolve" "1.1.7" + +"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": + "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" + "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "buffer-xor" "^1.0.3" + "cipher-base" "^1.0.0" + "create-hash" "^1.1.0" + "evp_bytestokey" "^1.0.3" + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"browserify-cipher@^1.0.0": + "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" + "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "browserify-aes" "^1.0.4" + "browserify-des" "^1.0.0" + "evp_bytestokey" "^1.0.0" + +"browserify-des@^1.0.0": + "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" + "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "cipher-base" "^1.0.1" + "des.js" "^1.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" + +"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": + "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" + "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "bn.js" "^5.0.0" + "randombytes" "^2.0.1" + +"browserify-sign@^4.0.0": + "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" + "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" + "version" "4.2.1" + dependencies: + "bn.js" "^5.1.1" + "browserify-rsa" "^4.0.1" + "create-hash" "^1.2.0" + "create-hmac" "^1.1.7" + "elliptic" "^6.5.3" + "inherits" "^2.0.4" + "parse-asn1" "^5.1.5" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"browserify-zlib@^0.2.0": + "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" + "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "pako" "~1.0.5" + +"browserslist@^4.0.0", "browserslist@^4.16.0", "browserslist@^4.16.6", "browserslist@^4.17.0": + "integrity" "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==" + "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz" + "version" "4.17.1" + dependencies: + "caniuse-lite" "^1.0.30001259" + "electron-to-chromium" "^1.3.846" + "escalade" "^3.1.1" + "nanocolors" "^0.1.5" + "node-releases" "^1.1.76" + +"bs-logger@0.x": + "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" + "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + "version" "0.2.6" + dependencies: + "fast-json-stable-stringify" "2.x" + +"bser@2.1.1": + "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" + "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "node-int64" "^0.4.0" + +"buffer-from@^1.0.0", "buffer-from@1.x": + "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + "version" "1.1.2" + +"buffer-xor@^1.0.3": + "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" + "version" "1.0.3" + +"buffer@^4.3.0": + "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" + "version" "4.9.2" + dependencies: + "base64-js" "^1.0.2" + "ieee754" "^1.1.4" + "isarray" "^1.0.0" + +"buffer@^5.5.0": + "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + "version" "5.7.1" + dependencies: + "base64-js" "^1.3.1" + "ieee754" "^1.1.13" + +"builtin-modules@^3.1.0": + "integrity" "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" + "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" + "version" "3.2.0" + +"builtin-status-codes@^3.0.0": + "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" + "version" "3.0.0" + +"bytes-iec@^3.1.1": + "integrity" "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==" + "resolved" "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz" + "version" "3.1.1" + +"cacache@^12.0.2": + "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" + "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" + "version" "12.0.4" + dependencies: + "bluebird" "^3.5.5" + "chownr" "^1.1.1" + "figgy-pudding" "^3.5.1" + "glob" "^7.1.4" + "graceful-fs" "^4.1.15" + "infer-owner" "^1.0.3" + "lru-cache" "^5.1.1" + "mississippi" "^3.0.0" + "mkdirp" "^0.5.1" + "move-concurrently" "^1.0.1" + "promise-inflight" "^1.0.1" + "rimraf" "^2.6.3" + "ssri" "^6.0.1" + "unique-filename" "^1.1.1" + "y18n" "^4.0.0" + +"cache-base@^1.0.1": + "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" + "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "collection-visit" "^1.0.0" + "component-emitter" "^1.2.1" + "get-value" "^2.0.6" + "has-value" "^1.0.0" + "isobject" "^3.0.1" + "set-value" "^2.0.0" + "to-object-path" "^0.3.0" + "union-value" "^1.0.0" + "unset-value" "^1.0.0" + +"call-bind@^1.0.0", "call-bind@^1.0.2": + "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" + "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "function-bind" "^1.1.1" + "get-intrinsic" "^1.0.2" + +"callsites@^3.0.0": + "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + "version" "3.1.0" + +"camelcase@^5.0.0", "camelcase@^5.3.1": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^6.0.0": + "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + "version" "6.2.0" + +"caniuse-api@^3.0.0": + "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" + "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "browserslist" "^4.0.0" + "caniuse-lite" "^1.0.0" + "lodash.memoize" "^4.1.2" + "lodash.uniq" "^4.5.0" + +"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001259": + "integrity" "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==" + "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz" + "version" "1.0.30001260" + dependencies: + "nanocolors" "^0.1.0" + +"capture-exit@^2.0.0": + "integrity" "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==" + "resolved" "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "rsvp" "^4.8.4" + +"caseless@~0.12.0": + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" + "version" "0.12.0" + +"cbor@^8.0.0": + "integrity" "sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig==" + "resolved" "https://registry.npmjs.org/cbor/-/cbor-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "nofilter" "^3.0.2" + +"chalk@^2.0.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.1.0": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.4.1": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^2.4.2": + "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + "version" "2.4.2" + dependencies: + "ansi-styles" "^3.2.1" + "escape-string-regexp" "^1.0.5" + "supports-color" "^5.3.0" + +"chalk@^3.0.0": + "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.0.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chalk@^4.1.0": + "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "ansi-styles" "^4.1.0" + "supports-color" "^7.1.0" + +"chardet@^0.7.0": + "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" + "version" "0.7.0" + +"chokidar@^2.1.8": + "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + "version" "2.1.8" + dependencies: + "anymatch" "^2.0.0" + "async-each" "^1.0.1" + "braces" "^2.3.2" + "glob-parent" "^3.1.0" + "inherits" "^2.0.3" + "is-binary-path" "^1.0.0" + "is-glob" "^4.0.0" + "normalize-path" "^3.0.0" + "path-is-absolute" "^1.0.0" + "readdirp" "^2.2.1" + "upath" "^1.1.1" optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== - 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" + "fsevents" "^1.2.7" + +"chokidar@^3.4.1", "chokidar@^3.5.2": + "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" + "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" + "version" "3.5.2" + dependencies: + "anymatch" "~3.1.2" + "braces" "~3.0.2" + "glob-parent" "~5.1.2" + "is-binary-path" "~2.1.0" + "is-glob" "~4.0.1" + "normalize-path" "~3.0.0" + "readdirp" "~3.6.0" optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-job-number@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" - integrity sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" - integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== - -cli-spinners@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" - integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -collections@^5.1.12: - version "5.1.12" - resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.12.tgz#270f6c26ddc2930734ae6cc19ad4e8fb412af739" - integrity sha512-7WV0gdGlQFHjB//+/5JW4CdMnOlf7fWMMeM3EWvuao7RbK0MeFS01bZOgWmIH5DHDejSutf455QUZ56ZjjROXw== - dependencies: - weak-map "~1.0.x" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.0.1, colord@^2.6: - version "2.8.0" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.8.0.tgz#64fb7aa03de7652b5a39eee50271a104c2783b12" - integrity sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA== - -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" - integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.16.0, core-js-compat@^3.16.2: - version "3.18.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.18.0.tgz#fb360652201e8ac8da812718c008cd0482ed9b42" - integrity sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg== - dependencies: - browserslist "^4.17.0" - semver "7.0.0" - -core-js-pure@^3.16.0: - version "3.18.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.0.tgz#e5187347bae66448c9e2d67c01c34c4df3261dc5" - integrity sha512-ZnK+9vyuMhKulIGqT/7RHGRok8RtkHMEX/BGPHkHx+ouDkq+MUvf9mfIgdqhpmPDu8+V5UtRn/CbCRc9I4lX4w== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + "fsevents" "~2.3.2" + +"chownr@^1.1.1": + "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + "version" "1.1.4" + +"chrome-trace-event@^1.0.2": + "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" + "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + "version" "1.0.3" + +"ci-info@^2.0.0": + "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + "version" "2.0.0" + +"ci-job-number@^1.2.2": + "integrity" "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==" + "resolved" "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz" + "version" "1.2.2" + +"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": + "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" + "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"class-utils@^0.3.5": + "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" + "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "arr-union" "^3.1.0" + "define-property" "^0.2.5" + "isobject" "^3.0.0" + "static-extend" "^0.1.1" + +"cli-cursor@^2.0.0", "cli-cursor@^2.1.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^3.1.0": + "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "restore-cursor" "^3.1.0" + +"cli-spinners@^1.3.1": + "integrity" "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz" + "version" "1.3.1" + +"cli-spinners@^2.2.0": + "integrity" "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" + "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" + "version" "2.6.0" + +"cli-width@^3.0.0": + "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" + "version" "3.0.0" + +"cliui@^6.0.0": + "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" + "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + "wrap-ansi" "^6.2.0" + +"clone-deep@^4.0.1": + "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" + "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "is-plain-object" "^2.0.4" + "kind-of" "^6.0.2" + "shallow-clone" "^3.0.0" + +"clone@^1.0.2": + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" + "version" "1.0.4" + +"co@^4.6.0": + "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + "version" "4.6.0" + +"collect-v8-coverage@^1.0.0": + "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" + "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" + "version" "1.0.1" + +"collection-visit@^1.0.0": + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "map-visit" "^1.0.0" + "object-visit" "^1.0.0" + +"collections@^5.1.12": + "integrity" "sha512-7WV0gdGlQFHjB//+/5JW4CdMnOlf7fWMMeM3EWvuao7RbK0MeFS01bZOgWmIH5DHDejSutf455QUZ56ZjjROXw==" + "resolved" "https://registry.npmjs.org/collections/-/collections-5.1.12.tgz" + "version" "5.1.12" + dependencies: + "weak-map" "~1.0.x" + +"color-convert@^1.9.0": + "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + "version" "1.9.3" + dependencies: + "color-name" "1.1.3" + +"color-convert@^2.0.1": + "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "color-name" "~1.1.4" + +"color-name@~1.1.4": + "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + "version" "1.1.4" + +"color-name@1.1.3": + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + "version" "1.1.3" + +"colord@^2.0.1", "colord@^2.6": + "integrity" "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==" + "resolved" "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz" + "version" "2.8.0" + +"colors@^1.1.2": + "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" + "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" + "version" "1.4.0" + +"combined-stream@^1.0.6", "combined-stream@~1.0.6": + "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" + "version" "1.0.8" + dependencies: + "delayed-stream" "~1.0.0" + +"commander@^2.20.0": + "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + "version" "2.20.3" + +"commander@^6.2.0": + "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" + "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" + "version" "6.2.1" + +"commander@^7.2.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + +"commondir@^1.0.1": + "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + "version" "1.0.1" + +"component-emitter@^1.2.1": + "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + "version" "1.3.0" + +"concat-map@0.0.1": + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + "version" "0.0.1" + +"concat-stream@^1.5.0": + "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" + "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" + "version" "1.6.2" + dependencies: + "buffer-from" "^1.0.0" + "inherits" "^2.0.3" + "readable-stream" "^2.2.2" + "typedarray" "^0.0.6" + +"confusing-browser-globals@^1.0.9": + "integrity" "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" + "resolved" "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" + "version" "1.0.10" + +"console-browserify@^1.1.0": + "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" + "version" "1.2.0" + +"constants-browserify@^1.0.0": + "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" + "version" "1.0.0" + +"convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": + "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" + "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + "version" "1.8.0" + dependencies: + "safe-buffer" "~5.1.1" + +"copy-concurrently@^1.0.0": + "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" + "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "aproba" "^1.1.1" + "fs-write-stream-atomic" "^1.0.8" + "iferr" "^0.1.5" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.0" + +"copy-descriptor@^0.1.0": + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + "version" "0.1.1" + +"core-js-compat@^3.16.0", "core-js-compat@^3.16.2": + "integrity" "sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg==" + "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.0.tgz" + "version" "3.18.0" + dependencies: + "browserslist" "^4.17.0" + "semver" "7.0.0" + +"core-js-pure@^3.16.0": + "integrity" "sha512-ZnK+9vyuMhKulIGqT/7RHGRok8RtkHMEX/BGPHkHx+ouDkq+MUvf9mfIgdqhpmPDu8+V5UtRn/CbCRc9I4lX4w==" + "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.0.tgz" + "version" "3.18.0" + +"core-util-is@~1.0.0": + "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" + "version" "1.0.3" + +"core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + "version" "1.0.2" + +"cosmiconfig@^6.0.0": + "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" + "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" + "version" "6.0.0" dependencies: "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-jest-runner@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/create-jest-runner/-/create-jest-runner-0.5.3.tgz#1387e2ce70b08e4c989ae55f677005b64f9ba97b" - integrity sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g== - dependencies: - chalk "^2.4.2" - jest-worker "^24.0.0" - throat "^4.1.0" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-color-names@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-1.0.1.tgz#6ff7ee81a823ad46e020fa2fd6ab40a887e2ba67" - integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== - -css-declaration-sorter@^6.0.3: - version "6.1.3" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz#e9852e4cf940ba79f509d9425b137d1f94438dc2" - integrity sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA== - dependencies: - timsort "^0.3.0" - -css-loader@^5.2.6: - version "5.2.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" - integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== - dependencies: - icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.5" - -css-select@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" - integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== - dependencies: - boolbase "^1.0.0" - css-what "^5.0.0" - domhandler "^4.2.0" - domutils "^2.6.0" - nth-check "^2.0.0" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad" - integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz#359943bf00c5c8e05489f12dd25f3006f2c1cbd2" - integrity sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ== - dependencies: - css-declaration-sorter "^6.0.3" - cssnano-utils "^2.0.1" - postcss-calc "^8.0.0" - postcss-colormin "^5.2.0" - postcss-convert-values "^5.0.1" - postcss-discard-comments "^5.0.1" - postcss-discard-duplicates "^5.0.1" - postcss-discard-empty "^5.0.1" - postcss-discard-overridden "^5.0.1" - postcss-merge-longhand "^5.0.2" - postcss-merge-rules "^5.0.2" - postcss-minify-font-values "^5.0.1" - postcss-minify-gradients "^5.0.2" - postcss-minify-params "^5.0.1" - postcss-minify-selectors "^5.1.0" - postcss-normalize-charset "^5.0.1" - postcss-normalize-display-values "^5.0.1" - postcss-normalize-positions "^5.0.1" - postcss-normalize-repeat-style "^5.0.1" - postcss-normalize-string "^5.0.1" - postcss-normalize-timing-functions "^5.0.1" - postcss-normalize-unicode "^5.0.1" - postcss-normalize-url "^5.0.2" - postcss-normalize-whitespace "^5.0.1" - postcss-ordered-values "^5.0.2" - postcss-reduce-initial "^5.0.1" - postcss-reduce-transforms "^5.0.1" - postcss-svgo "^5.0.2" - postcss-unique-selectors "^5.0.1" - -cssnano-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-2.0.1.tgz#8660aa2b37ed869d2e2f22918196a9a8b6498ce2" - integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== - -cssnano@^5.0.2: - version "5.0.8" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.0.8.tgz#39ad166256980fcc64faa08c9bb18bb5789ecfa9" - integrity sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg== - dependencies: - cssnano-preset-default "^5.1.4" - is-resolvable "^1.1.0" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -damerau-levenshtein@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" - integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" + "import-fresh" "^3.1.0" + "parse-json" "^5.0.0" + "path-type" "^4.0.0" + "yaml" "^1.7.2" + +"create-ecdh@^4.0.0": + "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" + "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "bn.js" "^4.1.0" + "elliptic" "^6.5.3" + +"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": + "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" + "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cipher-base" "^1.0.1" + "inherits" "^2.0.1" + "md5.js" "^1.3.4" + "ripemd160" "^2.0.1" + "sha.js" "^2.4.0" + +"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": + "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" + "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "cipher-base" "^1.0.3" + "create-hash" "^1.1.0" + "inherits" "^2.0.1" + "ripemd160" "^2.0.0" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"create-jest-runner@^0.5.3": + "integrity" "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==" + "resolved" "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "chalk" "^2.4.2" + "jest-worker" "^24.0.0" + "throat" "^4.1.0" + +"cross-spawn@^6.0.0": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^6.0.5": + "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + "version" "6.0.5" + dependencies: + "nice-try" "^1.0.4" + "path-key" "^2.0.1" + "semver" "^5.5.0" + "shebang-command" "^1.2.0" + "which" "^1.2.9" + +"cross-spawn@^7.0.0", "cross-spawn@^7.0.2": + "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + "version" "7.0.3" + dependencies: + "path-key" "^3.1.0" + "shebang-command" "^2.0.0" + "which" "^2.0.1" + +"crypto-browserify@^3.11.0": + "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" + "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" + "version" "3.12.0" + dependencies: + "browserify-cipher" "^1.0.0" + "browserify-sign" "^4.0.0" + "create-ecdh" "^4.0.0" + "create-hash" "^1.1.0" + "create-hmac" "^1.1.0" + "diffie-hellman" "^5.0.0" + "inherits" "^2.0.1" + "pbkdf2" "^3.0.3" + "public-encrypt" "^4.0.0" + "randombytes" "^2.0.0" + "randomfill" "^1.0.3" + +"css-color-names@^1.0.1": + "integrity" "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" + "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz" + "version" "1.0.1" + +"css-declaration-sorter@^6.0.3": + "integrity" "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==" + "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz" + "version" "6.1.3" + dependencies: + "timsort" "^0.3.0" + +"css-loader@^5.2.6": + "integrity" "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==" + "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz" + "version" "5.2.7" + dependencies: + "icss-utils" "^5.1.0" + "loader-utils" "^2.0.0" + "postcss" "^8.2.15" + "postcss-modules-extract-imports" "^3.0.0" + "postcss-modules-local-by-default" "^4.0.0" + "postcss-modules-scope" "^3.0.0" + "postcss-modules-values" "^4.0.0" + "postcss-value-parser" "^4.1.0" + "schema-utils" "^3.0.0" + "semver" "^7.3.5" + +"css-select@^4.1.3": + "integrity" "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==" + "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" + "version" "4.1.3" + dependencies: + "boolbase" "^1.0.0" + "css-what" "^5.0.0" + "domhandler" "^4.2.0" + "domutils" "^2.6.0" + "nth-check" "^2.0.0" + +"css-tree@^1.1.2", "css-tree@^1.1.3": + "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" + "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "mdn-data" "2.0.14" + "source-map" "^0.6.1" + +"css-what@^5.0.0": + "integrity" "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" + "resolved" "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" + "version" "5.0.1" + +"cssesc@^3.0.0": + "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + "version" "3.0.0" + +"cssnano-preset-default@^5.1.4": + "integrity" "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==" + "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz" + "version" "5.1.4" + dependencies: + "css-declaration-sorter" "^6.0.3" + "cssnano-utils" "^2.0.1" + "postcss-calc" "^8.0.0" + "postcss-colormin" "^5.2.0" + "postcss-convert-values" "^5.0.1" + "postcss-discard-comments" "^5.0.1" + "postcss-discard-duplicates" "^5.0.1" + "postcss-discard-empty" "^5.0.1" + "postcss-discard-overridden" "^5.0.1" + "postcss-merge-longhand" "^5.0.2" + "postcss-merge-rules" "^5.0.2" + "postcss-minify-font-values" "^5.0.1" + "postcss-minify-gradients" "^5.0.2" + "postcss-minify-params" "^5.0.1" + "postcss-minify-selectors" "^5.1.0" + "postcss-normalize-charset" "^5.0.1" + "postcss-normalize-display-values" "^5.0.1" + "postcss-normalize-positions" "^5.0.1" + "postcss-normalize-repeat-style" "^5.0.1" + "postcss-normalize-string" "^5.0.1" + "postcss-normalize-timing-functions" "^5.0.1" + "postcss-normalize-unicode" "^5.0.1" + "postcss-normalize-url" "^5.0.2" + "postcss-normalize-whitespace" "^5.0.1" + "postcss-ordered-values" "^5.0.2" + "postcss-reduce-initial" "^5.0.1" + "postcss-reduce-transforms" "^5.0.1" + "postcss-svgo" "^5.0.2" + "postcss-unique-selectors" "^5.0.1" + +"cssnano-utils@^2.0.1": + "integrity" "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==" + "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz" + "version" "2.0.1" + +"cssnano@^5.0.2": + "integrity" "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==" + "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz" + "version" "5.0.8" + dependencies: + "cssnano-preset-default" "^5.1.4" + "is-resolvable" "^1.1.0" + "lilconfig" "^2.0.3" + "yaml" "^1.10.2" + +"csso@^4.2.0": + "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" + "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "css-tree" "^1.1.2" + +"cssom@^0.4.1": + "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" + "version" "0.4.4" + +"cssom@~0.3.6": + "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" + "version" "0.3.8" + +"cssstyle@^2.0.0": + "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" + "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "cssom" "~0.3.6" + +"cyclist@^1.0.1": + "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" + "version" "1.0.1" + +"damerau-levenshtein@^1.0.6": + "integrity" "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" + "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz" + "version" "1.0.7" + +"dashdash@^1.12.0": + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" + "version" "1.14.1" + dependencies: + "assert-plus" "^1.0.0" + +"data-urls@^1.1.0": + "integrity" "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==" + "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz" + "version" "1.1.0" + dependencies: + "abab" "^2.0.0" + "whatwg-mimetype" "^2.2.0" + "whatwg-url" "^7.0.0" + +"debug@^2.2.0": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.3.3": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^2.6.9": + "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" + "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + "version" "2.6.9" + dependencies: + "ms" "2.0.0" + +"debug@^3.2.7": + "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" + "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + "version" "3.2.7" + dependencies: + "ms" "^2.1.1" + +"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1": + "integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==" + "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" + "version" "4.3.2" + dependencies: + "ms" "2.1.2" + +"decamelize@^1.2.0": + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + "version" "1.2.0" + +"decode-uri-component@^0.2.0": + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + "version" "0.2.0" + +"deep-is@^0.1.3", "deep-is@~0.1.3": + "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + "version" "0.1.4" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" +"deepmerge@^4.2.2": + "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + "version" "4.2.2" + +"defaults@^1.0.3": + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "clone" "^1.0.2" + +"define-properties@^1.1.3": + "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" + "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + "version" "1.1.3" + dependencies: + "object-keys" "^1.0.12" + +"define-property@^0.2.5": + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + "version" "0.2.5" + dependencies: + "is-descriptor" "^0.1.0" -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= +"define-property@^1.0.0": + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + "version" "1.0.0" dependencies: - is-descriptor "^1.0.0" + "is-descriptor" "^1.0.0" -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== +"define-property@^2.0.2": + "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" + "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + "version" "2.0.2" dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" + "is-descriptor" "^1.0.2" + "isobject" "^3.0.1" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +"delayed-stream@~1.0.0": + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" + "version" "1.0.0" -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== +"des.js@^1.0.0": + "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" + "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" + "version" "1.0.1" dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + "inherits" "^2.0.1" + "minimalistic-assert" "^1.0.0" -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== +"detect-newline@^3.0.0": + "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" + "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + "version" "3.1.0" -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== +"diff-sequences@^25.2.6": + "integrity" "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" + "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz" + "version" "25.2.6" + +"diffie-hellman@^5.0.0": + "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" + "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" + "version" "5.0.3" dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-serializer@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" - integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.6.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.846: - version "1.3.849" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz#45a65a392565abc5b864624b9753393336426f4b" - integrity sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.0.0: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enquirer@^2.3.4, enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.1, es-abstract@^1.18.2: - version "1.18.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.6.tgz#2c44e3ea7a6255039164d26559777a6d978cb456" - integrity sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.1" - is-regex "^1.1.4" - is-string "^1.0.7" - object-inspect "^1.11.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.11.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" + "bn.js" "^4.1.0" + "miller-rabin" "^4.0.0" + "randombytes" "^2.0.0" + +"dir-glob@^3.0.1": + "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" + "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "path-type" "^4.0.0" + +"doctrine@^2.1.0": + "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "esutils" "^2.0.2" + +"doctrine@^3.0.0": + "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" + "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "esutils" "^2.0.2" + +"dom-serializer@^1.0.1": + "integrity" "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==" + "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "domelementtype" "^2.0.1" + "domhandler" "^4.2.0" + "entities" "^2.0.0" + +"domain-browser@^1.1.1": + "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" + "version" "1.2.0" + +"domelementtype@^2.0.1", "domelementtype@^2.2.0": + "integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" + "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" + "version" "2.2.0" + +"domexception@^1.0.1": + "integrity" "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==" + "resolved" "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "webidl-conversions" "^4.0.2" + +"domhandler@^4.2.0": + "integrity" "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==" + "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz" + "version" "4.2.2" + dependencies: + "domelementtype" "^2.2.0" + +"domutils@^2.6.0": + "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" + "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + "version" "2.8.0" + dependencies: + "dom-serializer" "^1.0.1" + "domelementtype" "^2.2.0" + "domhandler" "^4.2.0" + +"duplexer@^0.1.2": + "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + "version" "0.1.2" + +"duplexify@^3.4.2", "duplexify@^3.6.0": + "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" + "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" + "version" "3.7.1" + dependencies: + "end-of-stream" "^1.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + "stream-shift" "^1.0.0" + +"ecc-jsbn@~0.1.1": + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "jsbn" "~0.1.0" + "safer-buffer" "^2.1.0" + +"electron-to-chromium@^1.3.846": + "integrity" "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==" + "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz" + "version" "1.3.849" + +"elliptic@^6.5.3": + "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" + "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" + "version" "6.5.4" + dependencies: + "bn.js" "^4.11.9" + "brorand" "^1.1.0" + "hash.js" "^1.0.0" + "hmac-drbg" "^1.0.1" + "inherits" "^2.0.4" + "minimalistic-assert" "^1.0.1" + "minimalistic-crypto-utils" "^1.0.1" + +"emoji-regex@^7.0.1": + "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + "version" "7.0.3" + +"emoji-regex@^8.0.0": + "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + "version" "8.0.0" + +"emoji-regex@^9.0.0": + "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + "version" "9.2.2" + +"emojis-list@^3.0.0": + "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + "version" "3.0.0" + +"end-of-stream@^1.0.0", "end-of-stream@^1.1.0": + "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + "version" "1.4.4" + dependencies: + "once" "^1.4.0" + +"enhanced-resolve@^4.5.0": + "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" + "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" + "version" "4.5.0" + dependencies: + "graceful-fs" "^4.1.2" + "memory-fs" "^0.5.0" + "tapable" "^1.0.0" + +"enquirer@^2.3.4", "enquirer@^2.3.5": + "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" + "version" "2.3.6" + dependencies: + "ansi-colors" "^4.1.1" + +"entities@^2.0.0": + "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + "version" "2.2.0" + +"errno@^0.1.3", "errno@~0.1.7": + "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" + "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + "version" "0.1.8" + dependencies: + "prr" "~1.0.1" + +"error-ex@^1.3.1": + "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" + "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "is-arrayish" "^0.2.1" + +"es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.1", "es-abstract@^1.18.2": + "integrity" "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==" + "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz" + "version" "1.18.6" + dependencies: + "call-bind" "^1.0.2" + "es-to-primitive" "^1.2.1" + "function-bind" "^1.1.1" + "get-intrinsic" "^1.1.1" + "get-symbol-description" "^1.0.0" + "has" "^1.0.3" + "has-symbols" "^1.0.2" + "internal-slot" "^1.0.3" + "is-callable" "^1.2.4" + "is-negative-zero" "^2.0.1" + "is-regex" "^1.1.4" + "is-string" "^1.0.7" + "object-inspect" "^1.11.0" + "object-keys" "^1.1.1" + "object.assign" "^4.1.2" + "string.prototype.trimend" "^1.0.4" + "string.prototype.trimstart" "^1.0.4" + "unbox-primitive" "^1.0.1" + +"es-to-primitive@^1.2.1": + "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" + "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + "version" "1.2.1" + dependencies: + "is-callable" "^1.1.4" + "is-date-object" "^1.0.1" + "is-symbol" "^1.0.2" + +"escalade@^3.1.1": + "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + "version" "3.1.1" + +"escape-string-regexp@^1.0.5": + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + "version" "1.0.5" + +"escape-string-regexp@^2.0.0": + "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + "version" "2.0.0" + +"escape-string-regexp@^4.0.0": + "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + "version" "4.0.0" + +"escodegen@^1.11.1": + "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" + "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" + "version" "1.14.3" + dependencies: + "esprima" "^4.0.1" + "estraverse" "^4.2.0" + "esutils" "^2.0.2" + "optionator" "^0.8.1" optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^6.0.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-config-react-app@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" - integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== - dependencies: - debug "^3.2.7" - pkg-dir "^2.0.0" - -eslint-plugin-flowtype@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@^2.18.2: - version "2.24.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" - integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== - dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.6.2" - find-up "^2.0.0" - has "^1.0.3" - is-core-module "^2.6.0" - minimatch "^3.0.4" - object.values "^1.1.4" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" - resolve "^1.20.0" - tsconfig-paths "^3.11.0" - -eslint-plugin-jsx-a11y@^6.2.3: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + "source-map" "~0.6.1" + +"eslint-config-prettier@^6.0.0": + "integrity" "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==" + "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" + "version" "6.15.0" + dependencies: + "get-stdin" "^6.0.0" + +"eslint-config-react-app@^5.2.1": + "integrity" "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==" + "resolved" "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz" + "version" "5.2.1" + dependencies: + "confusing-browser-globals" "^1.0.9" + +"eslint-import-resolver-node@^0.3.6": + "integrity" "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==" + "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" + "version" "0.3.6" + dependencies: + "debug" "^3.2.7" + "resolve" "^1.20.0" + +"eslint-module-utils@^2.6.2": + "integrity" "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==" + "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz" + "version" "2.6.2" + dependencies: + "debug" "^3.2.7" + "pkg-dir" "^2.0.0" + +"eslint-plugin-flowtype@^3.13.0", "eslint-plugin-flowtype@3.x || 4.x": + "integrity" "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==" + "resolved" "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz" + "version" "3.13.0" + dependencies: + "lodash" "^4.17.15" + +"eslint-plugin-import@^2.18.2", "eslint-plugin-import@2.x": + "integrity" "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==" + "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz" + "version" "2.24.2" + dependencies: + "array-includes" "^3.1.3" + "array.prototype.flat" "^1.2.4" + "debug" "^2.6.9" + "doctrine" "^2.1.0" + "eslint-import-resolver-node" "^0.3.6" + "eslint-module-utils" "^2.6.2" + "find-up" "^2.0.0" + "has" "^1.0.3" + "is-core-module" "^2.6.0" + "minimatch" "^3.0.4" + "object.values" "^1.1.4" + "pkg-up" "^2.0.0" + "read-pkg-up" "^3.0.0" + "resolve" "^1.20.0" + "tsconfig-paths" "^3.11.0" + +"eslint-plugin-jsx-a11y@^6.2.3", "eslint-plugin-jsx-a11y@6.x": + "integrity" "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==" + "resolved" "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz" + "version" "6.4.1" dependencies: "@babel/runtime" "^7.11.2" - aria-query "^4.2.2" - array-includes "^3.1.1" - ast-types-flow "^0.0.7" - axe-core "^4.0.2" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" - has "^1.0.3" - jsx-ast-utils "^3.1.0" - language-tags "^1.0.5" - -eslint-plugin-prettier@^3.1.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" - integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== - -eslint-plugin-react@^7.14.3: - version "7.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.0.tgz#3ae019a35d542b98e5af9e2f96b89c232c74b55b" - integrity sha512-dceliS5itjk4EZdQYtLMz6GulcsasguIs+VTXuiC7Q5IPIdGTkyfXVdmsQOqEhlD9MciofH4cMcT1bw1WWNxCQ== - dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" - doctrine "^2.1.0" - estraverse "^5.2.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.hasown "^1.0.0" - object.values "^1.1.4" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.5" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^6.1.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + "aria-query" "^4.2.2" + "array-includes" "^3.1.1" + "ast-types-flow" "^0.0.7" + "axe-core" "^4.0.2" + "axobject-query" "^2.2.0" + "damerau-levenshtein" "^1.0.6" + "emoji-regex" "^9.0.0" + "has" "^1.0.3" + "jsx-ast-utils" "^3.1.0" + "language-tags" "^1.0.5" + +"eslint-plugin-prettier@^3.1.0": + "integrity" "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==" + "resolved" "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" + "version" "3.4.1" + dependencies: + "prettier-linter-helpers" "^1.0.0" + +"eslint-plugin-react-hooks@^2.2.0", "eslint-plugin-react-hooks@1.x || 2.x": + "integrity" "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==" + "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz" + "version" "2.5.1" + +"eslint-plugin-react@^7.14.3", "eslint-plugin-react@7.x": + "integrity" "sha512-dceliS5itjk4EZdQYtLMz6GulcsasguIs+VTXuiC7Q5IPIdGTkyfXVdmsQOqEhlD9MciofH4cMcT1bw1WWNxCQ==" + "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.26.0.tgz" + "version" "7.26.0" + dependencies: + "array-includes" "^3.1.3" + "array.prototype.flatmap" "^1.2.4" + "doctrine" "^2.1.0" + "estraverse" "^5.2.0" + "jsx-ast-utils" "^2.4.1 || ^3.0.0" + "minimatch" "^3.0.4" + "object.entries" "^1.1.4" + "object.fromentries" "^2.0.4" + "object.hasown" "^1.0.0" + "object.values" "^1.1.4" + "prop-types" "^15.7.2" + "resolve" "^2.0.0-next.3" + "semver" "^6.3.0" + "string.prototype.matchall" "^4.0.5" + +"eslint-scope@^4.0.3": + "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "esrecurse" "^4.1.0" + "estraverse" "^4.1.1" + +"eslint-scope@^5.0.0", "eslint-scope@^5.1.1": + "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" + "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + "version" "5.1.1" + dependencies: + "esrecurse" "^4.3.0" + "estraverse" "^4.1.1" + +"eslint-utils@^1.4.3": + "integrity" "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "eslint-visitor-keys" "^1.1.0" + +"eslint-utils@^2.0.0", "eslint-utils@^2.1.0": + "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" + "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "eslint-visitor-keys" "^1.1.0" + +"eslint-visitor-keys@^1.0.0", "eslint-visitor-keys@^1.1.0", "eslint-visitor-keys@^1.3.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint-visitor-keys@^2.0.0": + "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" + "version" "2.1.0" + +"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.1.0", "eslint@>= 4.12.1", "eslint@>=3.14.1", "eslint@>=5.0.0", "eslint@6.x": + "integrity" "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz" + "version" "6.8.0" dependencies: "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.14.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + "ajv" "^6.10.0" + "chalk" "^2.1.0" + "cross-spawn" "^6.0.5" + "debug" "^4.0.1" + "doctrine" "^3.0.0" + "eslint-scope" "^5.0.0" + "eslint-utils" "^1.4.3" + "eslint-visitor-keys" "^1.1.0" + "espree" "^6.1.2" + "esquery" "^1.0.1" + "esutils" "^2.0.2" + "file-entry-cache" "^5.0.1" + "functional-red-black-tree" "^1.0.1" + "glob-parent" "^5.0.0" + "globals" "^12.1.0" + "ignore" "^4.0.6" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "inquirer" "^7.0.0" + "is-glob" "^4.0.0" + "js-yaml" "^3.13.1" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.3.0" + "lodash" "^4.17.14" + "minimatch" "^3.0.4" + "mkdirp" "^0.5.1" + "natural-compare" "^1.4.0" + "optionator" "^0.8.3" + "progress" "^2.0.0" + "regexpp" "^2.0.1" + "semver" "^6.1.2" + "strip-ansi" "^5.2.0" + "strip-json-comments" "^3.0.1" + "table" "^5.2.3" + "text-table" "^0.2.0" + "v8-compile-cache" "^2.0.3" + +"eslint@^7.14.0": + "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" + "version" "7.32.0" dependencies: "@babel/code-frame" "7.12.11" "@eslint/eslintrc" "^0.4.3" "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1, esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" - integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== + "ajv" "^6.10.0" + "chalk" "^4.0.0" + "cross-spawn" "^7.0.2" + "debug" "^4.0.1" + "doctrine" "^3.0.0" + "enquirer" "^2.3.5" + "escape-string-regexp" "^4.0.0" + "eslint-scope" "^5.1.1" + "eslint-utils" "^2.1.0" + "eslint-visitor-keys" "^2.0.0" + "espree" "^7.3.1" + "esquery" "^1.4.0" + "esutils" "^2.0.2" + "fast-deep-equal" "^3.1.3" + "file-entry-cache" "^6.0.1" + "functional-red-black-tree" "^1.0.1" + "glob-parent" "^5.1.2" + "globals" "^13.6.0" + "ignore" "^4.0.6" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "is-glob" "^4.0.0" + "js-yaml" "^3.13.1" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.4.1" + "lodash.merge" "^4.6.2" + "minimatch" "^3.0.4" + "natural-compare" "^1.4.0" + "optionator" "^0.9.1" + "progress" "^2.0.0" + "regexpp" "^3.1.0" + "semver" "^7.2.1" + "strip-ansi" "^6.0.0" + "strip-json-comments" "^3.1.0" + "table" "^6.0.9" + "text-table" "^0.2.0" + "v8-compile-cache" "^2.0.3" + +"espree@^6.1.2": + "integrity" "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==" + "resolved" "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" + "version" "6.2.1" + dependencies: + "acorn" "^7.1.1" + "acorn-jsx" "^5.2.0" + "eslint-visitor-keys" "^1.1.0" + +"espree@^7.3.0", "espree@^7.3.1": + "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==" + "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" + "version" "7.3.1" + dependencies: + "acorn" "^7.4.0" + "acorn-jsx" "^5.3.1" + "eslint-visitor-keys" "^1.3.0" + +"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": + "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + "version" "4.0.1" + +"esquery@^1.0.1", "esquery@^1.4.0": + "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" + "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "estraverse" "^5.1.0" + +"esrecurse@^4.1.0", "esrecurse@^4.3.0": + "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" + "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "estraverse" "^5.2.0" + +"estraverse@^4.1.1", "estraverse@^4.2.0": + "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + "version" "4.3.0" + +"estraverse@^5.1.0": + "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + "version" "5.2.0" + +"estraverse@^5.2.0": + "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + "version" "5.2.0" + +"estree-walker@^0.6.1": + "integrity" "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" + "version" "0.6.1" + +"estree-walker@^1.0.1": + "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" + "version" "1.0.1" + +"esutils@^2.0.2": + "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + "version" "2.0.3" + +"events@^3.0.0": + "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + "version" "3.3.0" + +"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": + "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" + "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "md5.js" "^1.3.4" + "safe-buffer" "^5.1.1" + +"exec-sh@^0.3.2": + "integrity" "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" + "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" + "version" "0.3.6" + +"execa@^1.0.0": + "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "cross-spawn" "^6.0.0" + "get-stream" "^4.0.0" + "is-stream" "^1.1.0" + "npm-run-path" "^2.0.0" + "p-finally" "^1.0.0" + "signal-exit" "^3.0.0" + "strip-eof" "^1.0.0" + +"execa@^3.2.0": + "integrity" "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==" + "resolved" "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz" + "version" "3.4.0" + dependencies: + "cross-spawn" "^7.0.0" + "get-stream" "^5.0.0" + "human-signals" "^1.1.1" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.0" + "onetime" "^5.1.0" + "p-finally" "^2.0.0" + "signal-exit" "^3.0.2" + "strip-final-newline" "^2.0.0" + +"execa@^4.0.3": + "integrity" "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==" + "resolved" "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "cross-spawn" "^7.0.0" + "get-stream" "^5.0.0" + "human-signals" "^1.1.1" + "is-stream" "^2.0.0" + "merge-stream" "^2.0.0" + "npm-run-path" "^4.0.0" + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + "strip-final-newline" "^2.0.0" + +"exit@^0.1.2": + "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + "version" "0.1.2" + +"expand-brackets@^2.1.4": + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + "version" "2.1.4" + dependencies: + "debug" "^2.3.3" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "posix-character-classes" "^0.1.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"expect@^25.5.0": + "integrity" "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==" + "resolved" "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - ansi-styles "^4.0.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.1.1, fast-glob@^3.2.5: - version "3.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" - integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + "ansi-styles" "^4.0.0" + "jest-get-type" "^25.2.6" + "jest-matcher-utils" "^25.5.0" + "jest-message-util" "^25.5.0" + "jest-regex-util" "^25.2.6" + +"extend-shallow@^2.0.1": + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "is-extendable" "^0.1.0" + +"extend-shallow@^3.0.0": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" + "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "assign-symbols" "^1.0.0" + "is-extendable" "^1.0.1" + +"extend@~3.0.2": + "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + "version" "3.0.2" + +"external-editor@^3.0.3": + "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" + "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "chardet" "^0.7.0" + "iconv-lite" "^0.4.24" + "tmp" "^0.0.33" + +"extglob@^2.0.4": + "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" + "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "array-unique" "^0.3.2" + "define-property" "^1.0.0" + "expand-brackets" "^2.1.4" + "extend-shallow" "^2.0.1" + "fragment-cache" "^0.2.1" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"extsprintf@^1.2.0": + "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" + "version" "1.4.0" + +"extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" + "version" "1.3.0" + +"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": + "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + "version" "3.1.3" + +"fast-diff@^1.1.2": + "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" + "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" + "version" "1.2.0" + +"fast-glob@^3.1.1", "fast-glob@^3.2.5": + "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" + "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" + "version" "3.2.7" dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + "glob-parent" "^5.1.2" + "merge2" "^1.3.0" + "micromatch" "^4.0.4" + +"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@2.x": + "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + "version" "2.1.0" -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": + "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + "version" "2.0.6" -fastq@^1.6.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== +"fastq@^1.6.0": + "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" + "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" + "version" "1.13.0" dependencies: - reusify "^1.0.4" + "reusify" "^1.0.4" -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== +"fb-watchman@^2.0.0": + "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" + "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" + "version" "2.0.1" dependencies: - bser "2.1.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + "bser" "2.1.1" + +"figgy-pudding@^3.5.1": + "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" + "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" + "version" "3.5.2" -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== +"figures@^3.0.0": + "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + "version" "3.2.0" dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" + "escape-string-regexp" "^1.0.5" + +"file-entry-cache@^5.0.1": + "integrity" "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "flat-cache" "^2.0.1" + +"file-entry-cache@^6.0.1": + "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" + "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "flat-cache" "^3.0.4" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -flatted@^3.1.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" - integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== - -flow-parser@0.*: - version "0.160.2" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.160.2.tgz#bf9f239a90c33d7472e6950041bae387b8c49421" - integrity sha512-4QGORQvAkuYZH02gY9YRvOoV/BqXUEtMjTem/jxtxfLDp8BNW/LfyJxgksYnQoPIAT01CydkcKG03MTIDbqaFg== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - 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" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0, globals@^13.9.0: - version "13.11.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" - integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== - dependencies: - type-fest "^0.20.2" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - -globby@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" - integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-bigints@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" - integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1, has-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -humanize-duration@^3.15.3: - version "3.27.0" - resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.27.0.tgz#3f781b7cf8022ad587f76b9839b60bc2b29636b2" - integrity sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ== - -husky@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.2.tgz#21900da0f30199acca43a46c043c4ad84ae88dff" - integrity sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -inquirer@^7.0.0: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.2.0, is-core-module@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" - integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +"file-loader@^6.2.0": + "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" + "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "loader-utils" "^2.0.0" + "schema-utils" "^3.0.0" + +"file-uri-to-path@1.0.0": + "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + "version" "1.0.0" + +"fill-range@^4.0.0": + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "extend-shallow" "^2.0.1" + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + "to-regex-range" "^2.1.0" + +"fill-range@^7.0.1": + "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" + "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "to-regex-range" "^5.0.1" + +"find-cache-dir@^2.0.0", "find-cache-dir@^2.1.0": + "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^2.0.0" + "pkg-dir" "^3.0.0" + +"find-cache-dir@^3.3.1": + "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" + "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" + "version" "3.3.2" + dependencies: + "commondir" "^1.0.1" + "make-dir" "^3.0.2" + "pkg-dir" "^4.1.0" + +"find-up@^2.0.0", "find-up@^2.1.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "locate-path" "^2.0.0" + +"find-up@^3.0.0": + "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "locate-path" "^3.0.0" + +"find-up@^4.0.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"find-up@^4.1.0": + "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "locate-path" "^5.0.0" + "path-exists" "^4.0.0" + +"flat-cache@^2.0.1": + "integrity" "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "flatted" "^2.0.0" + "rimraf" "2.6.3" + "write" "1.0.3" + +"flat-cache@^3.0.4": + "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" + "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "flatted" "^3.1.0" + "rimraf" "^3.0.2" + +"flatted@^2.0.0": + "integrity" "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" + "version" "2.0.2" + +"flatted@^3.1.0": + "integrity" "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" + "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz" + "version" "3.2.2" + +"flow-parser@0.*": + "integrity" "sha512-4QGORQvAkuYZH02gY9YRvOoV/BqXUEtMjTem/jxtxfLDp8BNW/LfyJxgksYnQoPIAT01CydkcKG03MTIDbqaFg==" + "resolved" "https://registry.npmjs.org/flow-parser/-/flow-parser-0.160.2.tgz" + "version" "0.160.2" + +"flush-write-stream@^1.0.0": + "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" + "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "inherits" "^2.0.3" + "readable-stream" "^2.3.6" + +"for-in@^1.0.2": + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + "version" "1.0.2" + +"forever-agent@~0.6.1": + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" + "version" "0.6.1" + +"form-data@~2.3.2": + "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" + "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" + "version" "2.3.3" + dependencies: + "asynckit" "^0.4.0" + "combined-stream" "^1.0.6" + "mime-types" "^2.1.12" + +"fragment-cache@^0.2.1": + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + "version" "0.2.1" + dependencies: + "map-cache" "^0.2.2" + +"from2@^2.1.0": + "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=" + "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "inherits" "^2.0.1" + "readable-stream" "^2.0.0" + +"fs-extra@^9.0.0": + "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + "version" "9.1.0" + dependencies: + "at-least-node" "^1.0.0" + "graceful-fs" "^4.2.0" + "jsonfile" "^6.0.1" + "universalify" "^2.0.0" + +"fs-extra@8.1.0": + "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" + "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" + "version" "8.1.0" + dependencies: + "graceful-fs" "^4.2.0" + "jsonfile" "^4.0.0" + "universalify" "^0.1.0" + +"fs-write-stream-atomic@^1.0.8": + "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=" + "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" + "version" "1.0.10" + dependencies: + "graceful-fs" "^4.1.2" + "iferr" "^0.1.5" + "imurmurhash" "^0.1.4" + "readable-stream" "1 || 2" + +"fs.realpath@^1.0.0": + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + "version" "1.0.0" + +"fsevents@^1.2.7": + "integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "bindings" "^1.5.0" + "nan" "^2.12.1" + +"fsevents@^2.1.2", "fsevents@~2.3.2": + "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" + "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + "version" "2.3.2" + +"function-bind@^1.1.1": + "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + "version" "1.1.1" + +"functional-red-black-tree@^1.0.1": + "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" + "version" "1.0.1" + +"gensync@^1.0.0-beta.2": + "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + "version" "1.0.0-beta.2" + +"get-caller-file@^2.0.1": + "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + "version" "2.0.5" + +"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1": + "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" + "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "function-bind" "^1.1.1" + "has" "^1.0.3" + "has-symbols" "^1.0.1" + +"get-package-type@^0.1.0": + "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + "version" "0.1.0" + +"get-stdin@^6.0.0": + "integrity" "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" + "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" + "version" "6.0.0" + +"get-stream@^4.0.0": + "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "pump" "^3.0.0" + +"get-stream@^5.0.0": + "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" + "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "pump" "^3.0.0" + +"get-symbol-description@^1.0.0": + "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" + "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "call-bind" "^1.0.2" + "get-intrinsic" "^1.1.1" + +"get-value@^2.0.3", "get-value@^2.0.6": + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + "version" "2.0.6" + +"getpass@^0.1.1": + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" + "version" "0.1.7" + dependencies: + "assert-plus" "^1.0.0" + +"glob-parent@^3.1.0": + "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "is-glob" "^3.1.0" + "path-dirname" "^1.0.0" + +"glob-parent@^5.0.0", "glob-parent@^5.1.2", "glob-parent@~5.1.2": + "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" + "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "is-glob" "^4.0.1" + +"glob@^7.0.0", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6": + "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" + "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + "version" "7.2.0" + 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" + +"globals@^11.1.0": + "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + "version" "11.12.0" + +"globals@^12.1.0": + "integrity" "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==" + "resolved" "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" + "version" "12.4.0" + dependencies: + "type-fest" "^0.8.1" + +"globals@^13.6.0": + "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" + "version" "13.11.0" + dependencies: + "type-fest" "^0.20.2" + +"globals@^13.9.0": + "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" + "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" + "version" "13.11.0" + dependencies: + "type-fest" "^0.20.2" + +"globalyzer@0.1.0": + "integrity" "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" + "resolved" "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz" + "version" "0.1.0" + +"globby@^11.0.4": + "integrity" "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==" + "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" + "version" "11.0.4" + dependencies: + "array-union" "^2.1.0" + "dir-glob" "^3.0.1" + "fast-glob" "^3.1.1" + "ignore" "^5.1.4" + "merge2" "^1.3.0" + "slash" "^3.0.0" + +"globrex@^0.1.2": + "integrity" "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" + "resolved" "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" + "version" "0.1.2" + +"graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4": + "integrity" "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" + "version" "4.2.8" + +"growly@^1.3.0": + "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" + "version" "1.3.0" + +"gzip-size@^6.0.0": + "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" + "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "duplexer" "^0.1.2" + +"har-schema@^2.0.0": + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" + "version" "2.0.0" + +"har-validator@~5.1.3": + "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" + "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" + "version" "5.1.5" + dependencies: + "ajv" "^6.12.3" + "har-schema" "^2.0.0" + +"has-bigints@^1.0.1": + "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" + "version" "1.0.1" + +"has-flag@^3.0.0": + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + "version" "3.0.0" + +"has-flag@^4.0.0": + "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + "version" "4.0.0" + +"has-symbols@^1.0.1", "has-symbols@^1.0.2": + "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" + "version" "1.0.2" + +"has-tostringtag@^1.0.0": + "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" + "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-symbols" "^1.0.2" + +"has-value@^0.3.1": + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + "version" "0.3.1" + dependencies: + "get-value" "^2.0.3" + "has-values" "^0.1.4" + "isobject" "^2.0.0" + +"has-value@^1.0.0": + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "get-value" "^2.0.6" + "has-values" "^1.0.0" + "isobject" "^3.0.0" + +"has-values@^0.1.4": + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + "version" "0.1.4" + +"has-values@^1.0.0": + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "is-number" "^3.0.0" + "kind-of" "^4.0.0" + +"has@^1.0.3": + "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" + "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "function-bind" "^1.1.1" + +"hash-base@^3.0.0": + "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" + "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "inherits" "^2.0.4" + "readable-stream" "^3.6.0" + "safe-buffer" "^5.2.0" + +"hash.js@^1.0.0", "hash.js@^1.0.3": + "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" + "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" + "version" "1.1.7" + dependencies: + "inherits" "^2.0.3" + "minimalistic-assert" "^1.0.1" + +"hmac-drbg@^1.0.1": + "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" + "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "hash.js" "^1.0.3" + "minimalistic-assert" "^1.0.0" + "minimalistic-crypto-utils" "^1.0.1" + +"hosted-git-info@^2.1.4": + "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" + "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" + "version" "2.8.9" + +"html-encoding-sniffer@^1.0.2": + "integrity" "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==" + "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "whatwg-encoding" "^1.0.1" + +"html-escaper@^2.0.0": + "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + "version" "2.0.2" + +"http-signature@~1.2.0": + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "assert-plus" "^1.0.0" + "jsprim" "^1.2.2" + "sshpk" "^1.7.0" + +"https-browserify@^1.0.0": + "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" + "version" "1.0.0" + +"human-signals@^1.1.1": + "integrity" "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" + "version" "1.1.1" + +"humanize-duration@^3.15.3": + "integrity" "sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==" + "resolved" "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz" + "version" "3.27.0" + +"husky@^7.0.2": + "integrity" "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==" + "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz" + "version" "7.0.2" + +"iconv-lite@^0.4.24", "iconv-lite@0.4.24": + "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" + "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + "version" "0.4.24" + dependencies: + "safer-buffer" ">= 2.1.2 < 3" + +"icss-utils@^5.0.0", "icss-utils@^5.1.0": + "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" + "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + "version" "5.1.0" + +"ieee754@^1.1.13", "ieee754@^1.1.4": + "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + "version" "1.2.1" + +"iferr@^0.1.5": + "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" + "version" "0.1.5" + +"ignore@^4.0.6": + "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" + "version" "4.0.6" + +"ignore@^5.1.4": + "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + "version" "5.1.8" + +"import-fresh@^3.0.0", "import-fresh@^3.1.0", "import-fresh@^3.2.1": + "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" + "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + "version" "3.3.0" + dependencies: + "parent-module" "^1.0.0" + "resolve-from" "^4.0.0" + +"import-local@^3.0.2": + "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" + "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "pkg-dir" "^4.2.0" + "resolve-cwd" "^3.0.0" + +"imurmurhash@^0.1.4": + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + "version" "0.1.4" + +"infer-owner@^1.0.3": + "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + "version" "1.0.4" + +"inflight@^1.0.4": + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + "version" "1.0.6" + dependencies: + "once" "^1.3.0" + "wrappy" "1" + +"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2": + "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + "version" "2.0.4" + +"inherits@2.0.1": + "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" + "version" "2.0.1" + +"inherits@2.0.3": + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + "version" "2.0.3" + +"inquirer@^7.0.0": + "integrity" "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==" + "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" + "version" "7.3.3" + dependencies: + "ansi-escapes" "^4.2.1" + "chalk" "^4.1.0" + "cli-cursor" "^3.1.0" + "cli-width" "^3.0.0" + "external-editor" "^3.0.3" + "figures" "^3.0.0" + "lodash" "^4.17.19" + "mute-stream" "0.0.8" + "run-async" "^2.4.0" + "rxjs" "^6.6.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + "through" "^2.3.6" + +"internal-slot@^1.0.3": + "integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==" + "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "get-intrinsic" "^1.1.0" + "has" "^1.0.3" + "side-channel" "^1.0.4" + +"interpret@^1.0.0": + "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + "version" "1.4.0" + +"ip-regex@^2.1.0": + "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" + "version" "2.1.0" + +"is-absolute-url@^3.0.3": + "integrity" "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" + "version" "3.0.3" + +"is-accessor-descriptor@^0.1.6": + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + "version" "0.1.6" + dependencies: + "kind-of" "^3.0.2" + +"is-accessor-descriptor@^1.0.0": + "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" + "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "kind-of" "^6.0.0" + +"is-arrayish@^0.2.1": + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + "version" "0.2.1" + +"is-bigint@^1.0.1": + "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" + "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-bigints" "^1.0.1" + +"is-binary-path@^1.0.0": + "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "binary-extensions" "^1.0.0" + +"is-binary-path@~2.1.0": + "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" + "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "binary-extensions" "^2.0.0" + +"is-boolean-object@^1.1.0": + "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" + "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" + "version" "1.1.2" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-buffer@^1.1.5": + "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + "version" "1.1.6" + +"is-callable@^1.1.4", "is-callable@^1.2.4": + "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" + "version" "1.2.4" + +"is-ci@^2.0.0": + "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" + "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "ci-info" "^2.0.0" + +"is-core-module@^2.2.0", "is-core-module@^2.6.0": + "integrity" "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==" + "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz" + "version" "2.6.0" + dependencies: + "has" "^1.0.3" + +"is-data-descriptor@^0.1.4": + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + "version" "0.1.4" + dependencies: + "kind-of" "^3.0.2" + +"is-data-descriptor@^1.0.0": + "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" + "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + "version" "1.0.0" dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + "kind-of" "^6.0.0" + +"is-date-object@^1.0.1": + "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" + "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" + "version" "1.0.5" dependencies: - has-tostringtag "^1.0.0" + "has-tostringtag" "^1.0.0" -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== +"is-descriptor@^0.1.0": + "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + "version" "0.1.6" dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + "is-accessor-descriptor" "^0.1.6" + "is-data-descriptor" "^0.1.4" + "kind-of" "^5.0.0" -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== +"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": + "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" + "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + "version" "1.0.2" dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + "is-accessor-descriptor" "^1.0.0" + "is-data-descriptor" "^1.0.0" + "kind-of" "^6.0.2" -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +"is-docker@^2.0.0": + "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + "version" "2.2.1" -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= +"is-extendable@^0.1.0", "is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== +"is-extendable@^1.0.1": + "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + "version" "1.0.1" dependencies: - is-plain-object "^2.0.4" + "is-plain-object" "^2.0.4" -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= +"is-extglob@^2.1.0", "is-extglob@^2.1.1": + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + "version" "2.1.1" -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +"is-fullwidth-code-point@^2.0.0": + "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + "version" "2.0.0" -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +"is-fullwidth-code-point@^3.0.0": + "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + "version" "3.0.0" -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +"is-generator-fn@^2.0.0": + "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + "version" "2.1.0" -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= +"is-glob@^3.1.0": + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + "version" "3.1.0" dependencies: - is-extglob "^2.1.0" + "is-extglob" "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": + "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" + "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + "version" "4.0.1" dependencies: - is-extglob "^2.1.1" + "is-extglob" "^2.1.1" -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +"is-interactive@^1.0.0": + "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" + "version" "1.0.0" -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= +"is-module@^1.0.0": + "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" + "version" "1.0.0" -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== +"is-negative-zero@^2.0.1": + "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" + "version" "2.0.1" -is-number-object@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" - integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== +"is-number-object@^1.0.4": + "integrity" "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==" + "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" + "version" "1.0.6" dependencies: - has-tostringtag "^1.0.0" + "has-tostringtag" "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" +"is-number@^3.0.0": + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "kind-of" "^3.0.2" -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-reference@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== +"is-number@^7.0.0": + "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + "version" "7.0.0" + +"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": + "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" + "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "isobject" "^3.0.1" + +"is-reference@^1.1.2": + "integrity" "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==" + "resolved" "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" + "version" "1.2.1" dependencies: "@types/estree" "*" -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-resolvable@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz#e8900b3ed6069759229cf30f7067388d148aeb5e" - integrity sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ== - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== +"is-regex@^1.1.4": + "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" + "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "has-tostringtag" "^1.0.0" + +"is-resolvable@^1.1.0": + "integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + "resolved" "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^1.1.0": + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + "version" "1.1.0" + +"is-stream@^2.0.0": + "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + "version" "2.0.1" + +"is-string@^1.0.5", "is-string@^1.0.7": + "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" + "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" + "version" "1.0.7" + dependencies: + "has-tostringtag" "^1.0.0" + +"is-symbol@^1.0.2", "is-symbol@^1.0.3": + "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" + "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "has-symbols" "^1.0.2" + +"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + "version" "1.0.0" + +"is-windows@^1.0.2": + "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + "version" "1.0.2" + +"is-wsl@^1.1.0": + "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + "version" "1.1.0" + +"is-wsl@^2.1.1": + "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "is-docker" "^2.0.0" + +"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + "version" "1.0.0" + +"isexe@^2.0.0": + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + "version" "2.0.0" + +"isobject@^2.0.0": + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "isarray" "1.0.0" + +"isobject@^3.0.0", "isobject@^3.0.1": + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + "version" "3.0.1" + +"isstream@~0.1.2": + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" + "version" "0.1.2" + +"istanbul-lib-coverage@^3.0.0": + "integrity" "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz" + "version" "3.0.1" + +"istanbul-lib-instrument@^4.0.0": + "integrity" "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==" + "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" + "version" "4.0.3" dependencies: "@babel/core" "^7.7.5" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" + "istanbul-lib-coverage" "^3.0.0" + "semver" "^6.3.0" -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== +"istanbul-lib-report@^3.0.0": + "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" + "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + "version" "3.0.0" dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" + "istanbul-lib-coverage" "^3.0.0" + "make-dir" "^3.0.0" + "supports-color" "^7.1.0" -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== +"istanbul-lib-source-maps@^4.0.0": + "integrity" "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==" + "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" + "version" "4.0.0" dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" + "debug" "^4.1.1" + "istanbul-lib-coverage" "^3.0.0" + "source-map" "^0.6.1" -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== +"istanbul-reports@^3.0.2": + "integrity" "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==" + "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" + "version" "3.0.2" dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" + "html-escaper" "^2.0.0" + "istanbul-lib-report" "^3.0.0" -jest-changed-files@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" - integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== +"jest-changed-files@^25.5.0": + "integrity" "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==" + "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - execa "^3.2.0" - throat "^5.0.0" + "execa" "^3.2.0" + "throat" "^5.0.0" -jest-cli@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" - integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== +"jest-cli@^25.5.4": + "integrity" "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==" + "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/core" "^25.5.4" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.5.4" - jest-util "^25.5.0" - jest-validate "^25.5.0" - prompts "^2.0.1" - realpath-native "^2.0.0" - yargs "^15.3.1" - -jest-config@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" - integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== + "chalk" "^3.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "import-local" "^3.0.2" + "is-ci" "^2.0.0" + "jest-config" "^25.5.4" + "jest-util" "^25.5.0" + "jest-validate" "^25.5.0" + "prompts" "^2.0.1" + "realpath-native" "^2.0.0" + "yargs" "^15.3.1" + +"jest-config@^25.5.4": + "integrity" "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==" + "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz" + "version" "25.5.4" dependencies: "@babel/core" "^7.1.0" "@jest/test-sequencer" "^25.5.4" "@jest/types" "^25.5.0" - babel-jest "^25.5.1" - chalk "^3.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^25.5.0" - jest-environment-node "^25.5.0" - jest-get-type "^25.2.6" - jest-jasmine2 "^25.5.4" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - micromatch "^4.0.2" - pretty-format "^25.5.0" - realpath-native "^2.0.0" - -jest-diff@^25.2.1, jest-diff@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-docblock@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" - integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== - dependencies: - detect-newline "^3.0.0" - -jest-each@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" - integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== + "babel-jest" "^25.5.1" + "chalk" "^3.0.0" + "deepmerge" "^4.2.2" + "glob" "^7.1.1" + "graceful-fs" "^4.2.4" + "jest-environment-jsdom" "^25.5.0" + "jest-environment-node" "^25.5.0" + "jest-get-type" "^25.2.6" + "jest-jasmine2" "^25.5.4" + "jest-regex-util" "^25.2.6" + "jest-resolve" "^25.5.1" + "jest-util" "^25.5.0" + "jest-validate" "^25.5.0" + "micromatch" "^4.0.2" + "pretty-format" "^25.5.0" + "realpath-native" "^2.0.0" + +"jest-diff@^25.2.1", "jest-diff@^25.5.0": + "integrity" "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==" + "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "chalk" "^3.0.0" + "diff-sequences" "^25.2.6" + "jest-get-type" "^25.2.6" + "pretty-format" "^25.5.0" + +"jest-docblock@^25.3.0": + "integrity" "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==" + "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz" + "version" "25.3.0" + dependencies: + "detect-newline" "^3.0.0" + +"jest-each@^25.5.0": + "integrity" "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==" + "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-get-type "^25.2.6" - jest-util "^25.5.0" - pretty-format "^25.5.0" + "chalk" "^3.0.0" + "jest-get-type" "^25.2.6" + "jest-util" "^25.5.0" + "pretty-format" "^25.5.0" -jest-environment-jsdom@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== +"jest-environment-jsdom@^25.5.0": + "integrity" "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==" + "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/environment" "^25.5.0" "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" + "jest-mock" "^25.5.0" + "jest-util" "^25.5.0" + "jsdom" "^15.2.1" -jest-environment-node@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" - integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== +"jest-environment-node@^25.5.0": + "integrity" "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==" + "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/environment" "^25.5.0" "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - semver "^6.3.0" + "jest-mock" "^25.5.0" + "jest-util" "^25.5.0" + "semver" "^6.3.0" -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== +"jest-get-type@^25.2.6": + "integrity" "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" + "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz" + "version" "25.2.6" -jest-haste-map@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" - integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== +"jest-haste-map@^25.5.1": + "integrity" "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==" + "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz" + "version" "25.5.1" dependencies: "@jest/types" "^25.5.0" "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^25.5.0" - jest-util "^25.5.0" - jest-worker "^25.5.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" + "anymatch" "^3.0.3" + "fb-watchman" "^2.0.0" + "graceful-fs" "^4.2.4" + "jest-serializer" "^25.5.0" + "jest-util" "^25.5.0" + "jest-worker" "^25.5.0" + "micromatch" "^4.0.2" + "sane" "^4.0.3" + "walker" "^1.0.7" + "which" "^2.0.2" optionalDependencies: - fsevents "^2.1.2" + "fsevents" "^2.1.2" -jest-jasmine2@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" - integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== +"jest-jasmine2@^25.5.4": + "integrity" "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==" + "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz" + "version" "25.5.4" dependencies: "@babel/traverse" "^7.1.0" "@jest/environment" "^25.5.0" "@jest/source-map" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.5.0" - is-generator-fn "^2.0.0" - jest-each "^25.5.0" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - pretty-format "^25.5.0" - throat "^5.0.0" - -jest-leak-detector@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" - integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== - dependencies: - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-matcher-utils@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" - integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== - dependencies: - chalk "^3.0.0" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== + "chalk" "^3.0.0" + "co" "^4.6.0" + "expect" "^25.5.0" + "is-generator-fn" "^2.0.0" + "jest-each" "^25.5.0" + "jest-matcher-utils" "^25.5.0" + "jest-message-util" "^25.5.0" + "jest-runtime" "^25.5.4" + "jest-snapshot" "^25.5.1" + "jest-util" "^25.5.0" + "pretty-format" "^25.5.0" + "throat" "^5.0.0" + +"jest-leak-detector@^25.5.0": + "integrity" "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==" + "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "jest-get-type" "^25.2.6" + "pretty-format" "^25.5.0" + +"jest-matcher-utils@^25.5.0": + "integrity" "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==" + "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "chalk" "^3.0.0" + "jest-diff" "^25.5.0" + "jest-get-type" "^25.2.6" + "pretty-format" "^25.5.0" + +"jest-message-util@^25.5.0": + "integrity" "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==" + "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz" + "version" "25.5.0" dependencies: "@babel/code-frame" "^7.0.0" "@jest/types" "^25.5.0" "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" + "chalk" "^3.0.0" + "graceful-fs" "^4.2.4" + "micromatch" "^4.0.2" + "slash" "^3.0.0" + "stack-utils" "^1.0.1" -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== +"jest-mock@^25.5.0": + "integrity" "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==" + "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" -jest-pnp-resolver@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== +"jest-pnp-resolver@^1.2.1": + "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" + "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" + "version" "1.2.2" -jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" - integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== +"jest-regex-util@^25.2.1", "jest-regex-util@^25.2.6": + "integrity" "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==" + "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz" + "version" "25.2.6" -jest-resolve-dependencies@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" - integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== +"jest-resolve-dependencies@^25.5.4": + "integrity" "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==" + "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/types" "^25.5.0" - jest-regex-util "^25.2.6" - jest-snapshot "^25.5.1" + "jest-regex-util" "^25.2.6" + "jest-snapshot" "^25.5.1" -jest-resolve@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" - integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== +"jest-resolve@*", "jest-resolve@^25.5.1": + "integrity" "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==" + "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz" + "version" "25.5.1" dependencies: "@jest/types" "^25.5.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - read-pkg-up "^7.0.1" - realpath-native "^2.0.0" - resolve "^1.17.0" - slash "^3.0.0" - -jest-runner@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" - integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== + "browser-resolve" "^1.11.3" + "chalk" "^3.0.0" + "graceful-fs" "^4.2.4" + "jest-pnp-resolver" "^1.2.1" + "read-pkg-up" "^7.0.1" + "realpath-native" "^2.0.0" + "resolve" "^1.17.0" + "slash" "^3.0.0" + +"jest-runner@^25.5.4": + "integrity" "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==" + "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/console" "^25.5.0" "@jest/environment" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-docblock "^25.3.0" - jest-haste-map "^25.5.1" - jest-jasmine2 "^25.5.4" - jest-leak-detector "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - jest-runtime "^25.5.4" - jest-util "^25.5.0" - jest-worker "^25.5.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" - integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== + "chalk" "^3.0.0" + "exit" "^0.1.2" + "graceful-fs" "^4.2.4" + "jest-config" "^25.5.4" + "jest-docblock" "^25.3.0" + "jest-haste-map" "^25.5.1" + "jest-jasmine2" "^25.5.4" + "jest-leak-detector" "^25.5.0" + "jest-message-util" "^25.5.0" + "jest-resolve" "^25.5.1" + "jest-runtime" "^25.5.4" + "jest-util" "^25.5.0" + "jest-worker" "^25.5.0" + "source-map-support" "^0.5.6" + "throat" "^5.0.0" + +"jest-runtime@^25.5.4": + "integrity" "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==" + "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/console" "^25.5.0" "@jest/environment" "^25.5.0" @@ -5143,153 +5285,161 @@ jest-runtime@^25.5.4: "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" "@types/yargs" "^15.0.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - realpath-native "^2.0.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" - integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== - dependencies: - graceful-fs "^4.2.4" - -jest-snapshot@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" - integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== + "chalk" "^3.0.0" + "collect-v8-coverage" "^1.0.0" + "exit" "^0.1.2" + "glob" "^7.1.3" + "graceful-fs" "^4.2.4" + "jest-config" "^25.5.4" + "jest-haste-map" "^25.5.1" + "jest-message-util" "^25.5.0" + "jest-mock" "^25.5.0" + "jest-regex-util" "^25.2.6" + "jest-resolve" "^25.5.1" + "jest-snapshot" "^25.5.1" + "jest-util" "^25.5.0" + "jest-validate" "^25.5.0" + "realpath-native" "^2.0.0" + "slash" "^3.0.0" + "strip-bom" "^4.0.0" + "yargs" "^15.3.1" + +"jest-serializer@^25.5.0": + "integrity" "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==" + "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "graceful-fs" "^4.2.4" + +"jest-snapshot@^25.5.1": + "integrity" "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==" + "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz" + "version" "25.5.1" dependencies: "@babel/types" "^7.0.0" "@jest/types" "^25.5.0" "@types/prettier" "^1.19.0" - chalk "^3.0.0" - expect "^25.5.0" - graceful-fs "^4.2.4" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^25.5.0" - semver "^6.3.0" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== + "chalk" "^3.0.0" + "expect" "^25.5.0" + "graceful-fs" "^4.2.4" + "jest-diff" "^25.5.0" + "jest-get-type" "^25.2.6" + "jest-matcher-utils" "^25.5.0" + "jest-message-util" "^25.5.0" + "jest-resolve" "^25.5.1" + "make-dir" "^3.0.0" + "natural-compare" "^1.4.0" + "pretty-format" "^25.5.0" + "semver" "^6.3.0" + +"jest-util@^25.5.0": + "integrity" "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==" + "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" + "chalk" "^3.0.0" + "graceful-fs" "^4.2.4" + "is-ci" "^2.0.0" + "make-dir" "^3.0.0" -jest-validate@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" - integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== +"jest-validate@^25.5.0": + "integrity" "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==" + "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.2.6" - leven "^3.1.0" - pretty-format "^25.5.0" - -jest-watch-typeahead@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" - integrity sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-regex-util "^25.2.1" - jest-watcher "^25.2.4" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^6.0.0" - -jest-watcher@^25.2.4, jest-watcher@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" - integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== + "camelcase" "^5.3.1" + "chalk" "^3.0.0" + "jest-get-type" "^25.2.6" + "leven" "^3.1.0" + "pretty-format" "^25.5.0" + +"jest-watch-typeahead@^0.5.0": + "integrity" "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==" + "resolved" "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "ansi-escapes" "^4.2.1" + "chalk" "^3.0.0" + "jest-regex-util" "^25.2.1" + "jest-watcher" "^25.2.4" + "slash" "^3.0.0" + "string-length" "^3.1.0" + "strip-ansi" "^6.0.0" + +"jest-watcher@^25.2.4", "jest-watcher@^25.5.0": + "integrity" "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==" + "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.5.0" - string-length "^3.1.0" + "ansi-escapes" "^4.2.1" + "chalk" "^3.0.0" + "jest-util" "^25.5.0" + "string-length" "^3.1.0" -jest-worker@^24.0.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== +"jest-worker@^24.0.0": + "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" + "version" "24.9.0" dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" + "merge-stream" "^2.0.0" + "supports-color" "^6.1.0" -jest-worker@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== +"jest-worker@^24.9.0": + "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" + "version" "24.9.0" dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" + "merge-stream" "^2.0.0" + "supports-color" "^6.1.0" -jest@^25.3.0: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" - integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== +"jest-worker@^25.5.0": + "integrity" "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==" + "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz" + "version" "25.5.0" + dependencies: + "merge-stream" "^2.0.0" + "supports-color" "^7.0.0" + +"jest@^25.3.0", "jest@>=25 <26": + "integrity" "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==" + "resolved" "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz" + "version" "25.5.4" dependencies: "@jest/core" "^25.5.4" - import-local "^3.0.2" - jest-cli "^25.5.4" + "import-local" "^3.0.2" + "jest-cli" "^25.5.4" -jpjs@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" - integrity sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw== +"jpjs@^1.2.1": + "integrity" "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==" + "resolved" "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz" + "version" "1.2.1" -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": + "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + "version" "4.0.0" -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== +"js-yaml@^3.13.1": + "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + "version" "3.14.1" dependencies: - argparse "^1.0.7" - esprima "^4.0.0" + "argparse" "^1.0.7" + "esprima" "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= +"jsbn@~0.1.0": + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" + "version" "0.1.1" -jscodeshift@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.0.tgz#4b3835c3755ea86bc4910ac80acd4acd230b53ee" - integrity sha512-FNHLuwh7TeI0F4EzNVIRwUSxSqsGWM5nTv596FK4NfBnEEKFpIcyFeG559DMFGHSTIYA5AY4Fqh2cBrJx0EAwg== +"jscodeshift@^0.13.0": + "integrity" "sha512-FNHLuwh7TeI0F4EzNVIRwUSxSqsGWM5nTv596FK4NfBnEEKFpIcyFeG559DMFGHSTIYA5AY4Fqh2cBrJx0EAwg==" + "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.0.tgz" + "version" "0.13.0" dependencies: "@babel/core" "^7.13.16" "@babel/parser" "^7.13.16" @@ -5300,21 +5450,21 @@ jscodeshift@^0.13.0: "@babel/preset-flow" "^7.13.13" "@babel/preset-typescript" "^7.13.0" "@babel/register" "^7.13.16" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.2.4" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.20.4" - temp "^0.8.4" - write-file-atomic "^2.3.0" - -jscodeshift@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.6.4.tgz#e19ab86214edac86a75c4557fc88b3937d558a8e" - integrity sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ== + "babel-core" "^7.0.0-bridge.0" + "colors" "^1.1.2" + "flow-parser" "0.*" + "graceful-fs" "^4.2.4" + "micromatch" "^3.1.10" + "neo-async" "^2.5.0" + "node-dir" "^0.1.17" + "recast" "^0.20.4" + "temp" "^0.8.4" + "write-file-atomic" "^2.3.0" + +"jscodeshift@^0.6.3": + "integrity" "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==" + "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz" + "version" "0.6.4" dependencies: "@babel/core" "^7.1.6" "@babel/parser" "^7.1.6" @@ -5324,3074 +5474,3207 @@ jscodeshift@^0.6.3: "@babel/preset-flow" "^7.0.0" "@babel/preset-typescript" "^7.1.0" "@babel/register" "^7.0.0" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.1.11" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.16.1" - temp "^0.8.1" - write-file-atomic "^2.3.0" - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-schema@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.3.0.tgz#90a9c5054bd065422c00241851ce8d59475b701b" - integrity sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5-writer@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/json5-writer/-/json5-writer-0.1.8.tgz#98e1934ef6002f8ac12f36438e2b39c49af213fd" - integrity sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw== - dependencies: - jscodeshift "^0.6.3" - -json5@2.x, json5@^2.1.1, json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + "babel-core" "^7.0.0-bridge.0" + "colors" "^1.1.2" + "flow-parser" "0.*" + "graceful-fs" "^4.1.11" + "micromatch" "^3.1.10" + "neo-async" "^2.5.0" + "node-dir" "^0.1.17" + "recast" "^0.16.1" + "temp" "^0.8.1" + "write-file-atomic" "^2.3.0" + +"jsdom@^15.2.1": + "integrity" "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==" + "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz" + "version" "15.2.1" + dependencies: + "abab" "^2.0.0" + "acorn" "^7.1.0" + "acorn-globals" "^4.3.2" + "array-equal" "^1.0.0" + "cssom" "^0.4.1" + "cssstyle" "^2.0.0" + "data-urls" "^1.1.0" + "domexception" "^1.0.1" + "escodegen" "^1.11.1" + "html-encoding-sniffer" "^1.0.2" + "nwsapi" "^2.2.0" + "parse5" "5.1.0" + "pn" "^1.1.0" + "request" "^2.88.0" + "request-promise-native" "^1.0.7" + "saxes" "^3.1.9" + "symbol-tree" "^3.2.2" + "tough-cookie" "^3.0.1" + "w3c-hr-time" "^1.0.1" + "w3c-xmlserializer" "^1.1.2" + "webidl-conversions" "^4.0.2" + "whatwg-encoding" "^1.0.5" + "whatwg-mimetype" "^2.3.0" + "whatwg-url" "^7.0.0" + "ws" "^7.0.0" + "xml-name-validator" "^3.0.0" + +"jsesc@^2.5.1": + "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + "version" "2.5.2" + +"jsesc@~0.5.0": + "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + "version" "0.5.0" + +"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": + "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + "version" "1.0.2" + +"json-parse-even-better-errors@^2.3.0": + "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + "version" "2.3.1" + +"json-schema-traverse@^0.4.1": + "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" + "version" "0.4.1" + +"json-schema-traverse@^1.0.0": + "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + "version" "1.0.0" + +"json-schema@^0.3.0": + "integrity" "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz" + "version" "0.3.0" + +"json-schema@0.2.3": + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" + "version" "0.2.3" + +"json-stable-stringify-without-jsonify@^1.0.1": + "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + "version" "1.0.1" + +"json-stringify-safe@~5.0.1": + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" + "version" "5.0.1" + +"json5-writer@^0.1.8": + "integrity" "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==" + "resolved" "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz" + "version" "0.1.8" + dependencies: + "jscodeshift" "^0.6.3" + +"json5@^1.0.1": + "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" + "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "minimist" "^1.2.0" + +"json5@^2.1.1", "json5@^2.1.2", "json5@2.x": + "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" + "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" + "version" "2.2.0" + dependencies: + "minimist" "^1.2.5" + +"jsonfile@^4.0.0": + "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + "version" "4.0.0" optionalDependencies: - graceful-fs "^4.1.6" + "graceful-fs" "^4.1.6" -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== +"jsonfile@^6.0.1": + "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + "version" "6.1.0" dependencies: - universalify "^2.0.0" + "universalify" "^2.0.0" optionalDependencies: - graceful-fs "^4.1.6" + "graceful-fs" "^4.1.6" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= +"jsprim@^1.2.2": + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "assert-plus" "1.0.0" + "extsprintf" "1.3.0" + "json-schema" "0.2.3" + "verror" "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.1.0": + "integrity" "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==" + "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz" + "version" "3.2.1" dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" - integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== - dependencies: - array-includes "^3.1.3" - object.assign "^4.1.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -language-subtag-registry@~0.3.2: - version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" - integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== - -language-tags@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= - dependencies: - language-subtag-registry "~0.3.2" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libsodium-sumo@^0.7.0: - version "0.7.9" - resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.9.tgz#dff3d6144849e30d9b9a7bf628d28243f1c49102" - integrity sha512-DcfJ57zlSlcmQU4s8KOX78pT0zKx5S9RLi0oyDuoIgm4K95+VNSaOidK/y9lUK4lxft14PtTPjoBy8tmLk1TDQ== - -libsodium-wrappers-sumo@^0.7.9: - version "0.7.9" - resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.9.tgz#d15a346870c8e339baf1518f06b0ddccfa1e1046" - integrity sha512-XLgLkqY973PngrRElbjOH0y7bJKYEfMWVpWPmW5iuhBjO6zXvHYQWtN52MVEeie/h98ZXN1Aw9BE+GzxQVAfLg== - dependencies: - libsodium-sumo "^0.7.0" - -lilconfig@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.3.tgz#68f3005e921dafbd2a2afb48379986aa6d2579fd" - integrity sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg== - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.2.3: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" - integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha1-iDKP19HOeTiykoN0bwsbwSayRwg= - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -log-update@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9" - integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg== - dependencies: - ansi-escapes "^3.2.0" - cli-cursor "^2.1.0" - wrap-ansi "^5.0.0" - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== + "array-includes" "^3.1.3" + "object.assign" "^4.1.2" + +"kind-of@^3.0.2": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^3.0.3": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^3.2.0": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + "version" "3.2.2" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^4.0.0": + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "is-buffer" "^1.1.5" + +"kind-of@^5.0.0": + "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + "version" "5.1.0" + +"kind-of@^6.0.0", "kind-of@^6.0.2": + "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + "version" "6.0.3" + +"kleur@^3.0.3": + "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + "version" "3.0.3" + +"language-subtag-registry@~0.3.2": + "integrity" "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" + "resolved" "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz" + "version" "0.3.21" + +"language-tags@^1.0.5": + "integrity" "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=" + "resolved" "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "language-subtag-registry" "~0.3.2" + +"last-call-webpack-plugin@^3.0.0": + "integrity" "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==" + "resolved" "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "lodash" "^4.17.5" + "webpack-sources" "^1.1.0" + +"leven@^3.1.0": + "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + "version" "3.1.0" + +"levn@^0.3.0", "levn@~0.3.0": + "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + +"levn@^0.4.1": + "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" + "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "prelude-ls" "^1.2.1" + "type-check" "~0.4.0" + +"libsodium-sumo@^0.7.0": + "integrity" "sha512-DcfJ57zlSlcmQU4s8KOX78pT0zKx5S9RLi0oyDuoIgm4K95+VNSaOidK/y9lUK4lxft14PtTPjoBy8tmLk1TDQ==" + "resolved" "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.9.tgz" + "version" "0.7.9" + +"libsodium-wrappers-sumo@^0.7.9": + "integrity" "sha512-XLgLkqY973PngrRElbjOH0y7bJKYEfMWVpWPmW5iuhBjO6zXvHYQWtN52MVEeie/h98ZXN1Aw9BE+GzxQVAfLg==" + "resolved" "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.9.tgz" + "version" "0.7.9" + dependencies: + "libsodium-sumo" "^0.7.0" + +"lilconfig@^2.0.3": + "integrity" "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" + "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz" + "version" "2.0.3" + +"lines-and-columns@^1.1.6": + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + "version" "1.1.6" + +"load-json-file@^4.0.0": + "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=" + "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "graceful-fs" "^4.1.2" + "parse-json" "^4.0.0" + "pify" "^3.0.0" + "strip-bom" "^3.0.0" + +"loader-runner@^2.4.0": + "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" + "version" "2.4.0" + +"loader-utils@^1.2.3": + "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^1.0.1" + +"loader-utils@^2.0.0": + "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" + "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "big.js" "^5.2.2" + "emojis-list" "^3.0.0" + "json5" "^2.1.2" + +"locate-path@^2.0.0": + "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "p-locate" "^2.0.0" + "path-exists" "^3.0.0" + +"locate-path@^3.0.0": + "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-locate" "^3.0.0" + "path-exists" "^3.0.0" + +"locate-path@^5.0.0": + "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" + "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + "version" "5.0.0" + dependencies: + "p-locate" "^4.1.0" + +"lodash.clonedeep@^4.5.0": + "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" + "version" "4.5.0" + +"lodash.debounce@^4.0.8": + "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + "version" "4.0.8" + +"lodash.memoize@^4.1.2", "lodash.memoize@4.x": + "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + "version" "4.1.2" + +"lodash.merge@^4.6.2": + "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + "version" "4.6.2" + +"lodash.sortby@^4.7.0": + "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + "version" "4.7.0" + +"lodash.truncate@^4.4.2": + "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" + "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" + "version" "4.4.2" + +"lodash.uniq@^4.5.0": + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + "version" "4.5.0" + +"lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.17.5": + "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + "version" "4.17.21" + +"log-symbols@^3.0.0": + "integrity" "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==" + "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "chalk" "^2.4.2" + +"log-update@^2.3.0": + "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=" + "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "ansi-escapes" "^3.0.0" + "cli-cursor" "^2.0.0" + "wrap-ansi" "^3.0.1" + +"log-update@^3.3.0": + "integrity" "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==" + "resolved" "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz" + "version" "3.4.0" + dependencies: + "ansi-escapes" "^3.2.0" + "cli-cursor" "^2.1.0" + "wrap-ansi" "^5.0.0" + +"lolex@^5.0.0": + "integrity" "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==" + "resolved" "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz" + "version" "5.1.2" dependencies: "@sinonjs/commons" "^1.7.0" -loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== +"loose-envify@^1.4.0": + "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" + "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + "version" "1.4.0" dependencies: - js-tokens "^3.0.0 || ^4.0.0" + "js-tokens" "^3.0.0 || ^4.0.0" -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== +"lower-case@^2.0.2": + "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" + "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + "version" "2.0.2" dependencies: - tslib "^2.0.3" + "tslib" "^2.0.3" -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== +"lru-cache@^5.1.1": + "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + "version" "5.1.1" dependencies: - yallist "^3.0.2" + "yallist" "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== +"lru-cache@^6.0.0": + "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + "version" "6.0.0" dependencies: - yallist "^4.0.0" + "yallist" "^4.0.0" -magic-string@^0.25.2, magic-string@^0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== +"magic-string@^0.25.2", "magic-string@^0.25.7": + "integrity" "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" + "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" + "version" "0.25.7" dependencies: - sourcemap-codec "^1.4.4" + "sourcemap-codec" "^1.4.4" -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== +"make-dir@^2.0.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -mico-spinner@^1.2.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mico-spinner/-/mico-spinner-1.3.0.tgz#aa8611aceb551522f5bab7f2895a159ac0c29d6a" - integrity sha512-iwc0mhP+H/qorAKhDsDW40QOb3kKxAIwH1ImoIkFUWP3kT4gn6UZ2gdyT0uNRLrCx7fADY1F7OFBuFM1/wfflQ== - dependencies: - nanocolors "^0.1.1" - -micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" - integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== - dependencies: - braces "^3.0.1" - picomatch "^2.2.3" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.49.0: - version "1.49.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" - integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.32" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" - integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== - dependencies: - mime-db "1.49.0" - -mime@^2.3.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@^3.0.2, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msgpack5@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-5.3.2.tgz#679a1f197465f2d446a1d467cf678e3e83bb56dc" - integrity sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A== - dependencies: - bl "^4.0.0" - inherits "^2.0.3" - readable-stream "^3.0.0" - safe-buffer "^5.1.2" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanocolors@^0.1.0, nanocolors@^0.1.1, nanocolors@^0.1.12, nanocolors@^0.1.5: - version "0.1.12" - resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.1.12.tgz#8577482c58cbd7b5bb1681db4cf48f11a87fd5f6" - integrity sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ== - -nanoid@^3.1.25: - version "3.1.25" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" - integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-dir@^0.1.17: - version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= - dependencies: - minimatch "^3.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" - -node-releases@^1.1.76: - version "1.1.76" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.76.tgz#df245b062b0cafbd5282ab6792f7dccc2d97f36e" - integrity sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA== - -nofilter@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.0.3.tgz#3ff3b142efdccb403434ccae4a0c2c835cb9b522" - integrity sha512-TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ== - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.entries@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" - -object.hasown@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.0.0.tgz#bdbade33cfacfb25d7f26ae2b6cb870bf99905c2" - integrity sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.18.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimize-css-assets-webpack-plugin@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz#7719bceabba1f3891ec3ae04efb81a1cc99cd793" - integrity sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ== - dependencies: - cssnano "^5.0.2" - last-call-webpack-plugin "^3.0.0" - postcss "^8.2.1" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^4.0.3: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" - integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== - dependencies: - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-spinners "^2.2.0" - is-interactive "^1.0.0" - log-symbols "^3.0.0" - mute-stream "0.0.8" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + "pify" "^4.0.1" + "semver" "^5.6.0" + +"make-dir@^2.1.0": + "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "pify" "^4.0.1" + "semver" "^5.6.0" + +"make-dir@^3.0.0", "make-dir@^3.0.2": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "semver" "^6.0.0" + +"make-error@1.x": + "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + "version" "1.3.6" + +"makeerror@1.0.x": + "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" + "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" + "version" "1.0.11" + dependencies: + "tmpl" "1.0.x" + +"map-cache@^0.2.2": + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + "version" "0.2.2" + +"map-visit@^1.0.0": + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "object-visit" "^1.0.0" + +"md5.js@^1.3.4": + "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" + "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" + "version" "1.3.5" + dependencies: + "hash-base" "^3.0.0" + "inherits" "^2.0.1" + "safe-buffer" "^5.1.2" + +"mdn-data@2.0.14": + "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + "version" "2.0.14" + +"memory-fs@^0.4.1": + "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" + "version" "0.4.1" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"memory-fs@^0.5.0": + "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" + "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" + "version" "0.5.0" + dependencies: + "errno" "^0.1.3" + "readable-stream" "^2.0.1" + +"merge-stream@^2.0.0": + "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + "version" "2.0.0" + +"merge2@^1.3.0": + "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + "version" "1.4.1" + +"mico-spinner@^1.2.2": + "integrity" "sha512-iwc0mhP+H/qorAKhDsDW40QOb3kKxAIwH1ImoIkFUWP3kT4gn6UZ2gdyT0uNRLrCx7fADY1F7OFBuFM1/wfflQ==" + "resolved" "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "nanocolors" "^0.1.1" + +"micromatch@^3.1.10": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^3.1.4": + "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + "version" "3.1.10" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "braces" "^2.3.1" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "extglob" "^2.0.4" + "fragment-cache" "^0.2.1" + "kind-of" "^6.0.2" + "nanomatch" "^1.2.9" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.2" + +"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@4.x": + "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" + "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + "version" "4.0.4" + dependencies: + "braces" "^3.0.1" + "picomatch" "^2.2.3" + +"miller-rabin@^4.0.0": + "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" + "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "bn.js" "^4.0.0" + "brorand" "^1.0.1" + +"mime-db@1.49.0": + "integrity" "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz" + "version" "1.49.0" + +"mime-types@^2.1.12", "mime-types@~2.1.19": + "integrity" "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==" + "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" + "version" "2.1.32" + dependencies: + "mime-db" "1.49.0" + +"mime@^2.3.1": + "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + "version" "2.5.2" + +"mimic-fn@^1.0.0": + "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" + "version" "1.2.0" + +"mimic-fn@^2.1.0": + "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + "version" "2.1.0" + +"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": + "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + "version" "1.0.1" + +"minimalistic-crypto-utils@^1.0.1": + "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" + "version" "1.0.1" + +"minimatch@^3.0.2", "minimatch@^3.0.4": + "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" + "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "brace-expansion" "^1.1.7" + +"minimist@^1.1.1", "minimist@^1.2.0", "minimist@^1.2.5": + "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + "version" "1.2.5" + +"mississippi@^3.0.0": + "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" + "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "concat-stream" "^1.5.0" + "duplexify" "^3.4.2" + "end-of-stream" "^1.1.0" + "flush-write-stream" "^1.0.0" + "from2" "^2.1.0" + "parallel-transform" "^1.1.0" + "pump" "^3.0.0" + "pumpify" "^1.3.3" + "stream-each" "^1.1.0" + "through2" "^2.0.0" + +"mixin-deep@^1.2.0": + "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" + "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + "version" "1.3.2" + dependencies: + "for-in" "^1.0.2" + "is-extendable" "^1.0.1" + +"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@0.x": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mkdirp@^1.0.4": + "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + "version" "1.0.4" + +"move-concurrently@^1.0.1": + "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=" + "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "aproba" "^1.1.1" + "copy-concurrently" "^1.0.0" + "fs-write-stream-atomic" "^1.0.8" + "mkdirp" "^0.5.1" + "rimraf" "^2.5.4" + "run-queue" "^1.0.3" + +"mri@^1.1.0": + "integrity" "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + "resolved" "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" + "version" "1.2.0" + +"ms@^2.1.1": + "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + "version" "2.1.3" + +"ms@2.0.0": + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + "version" "2.0.0" + +"ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" + +"msgpack5@^5.3.2": + "integrity" "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==" + "resolved" "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz" + "version" "5.3.2" + dependencies: + "bl" "^4.0.0" + "inherits" "^2.0.3" + "readable-stream" "^3.0.0" + "safe-buffer" "^5.1.2" + +"mute-stream@0.0.8": + "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" + "version" "0.0.8" + +"nan@^2.12.1": + "integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" + "resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" + "version" "2.15.0" + +"nanocolors@^0.1.0", "nanocolors@^0.1.1", "nanocolors@^0.1.12", "nanocolors@^0.1.5": + "integrity" "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" + "resolved" "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz" + "version" "0.1.12" + +"nanoid@^3.1.25": + "integrity" "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" + "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz" + "version" "3.1.25" + +"nanomatch@^1.2.9": + "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" + "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + "version" "1.2.13" + dependencies: + "arr-diff" "^4.0.0" + "array-unique" "^0.3.2" + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "fragment-cache" "^0.2.1" + "is-windows" "^1.0.2" + "kind-of" "^6.0.2" + "object.pick" "^1.3.0" + "regex-not" "^1.0.0" + "snapdragon" "^0.8.1" + "to-regex" "^3.0.1" + +"natural-compare@^1.4.0": + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + "version" "1.4.0" + +"neo-async@^2.5.0", "neo-async@^2.6.1": + "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + "version" "2.6.2" + +"nice-try@^1.0.4": + "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + "version" "1.0.5" + +"no-case@^3.0.4": + "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" + "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + "version" "3.0.4" + dependencies: + "lower-case" "^2.0.2" + "tslib" "^2.0.3" + +"node-dir@^0.1.17": + "integrity" "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=" + "resolved" "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" + "version" "0.1.17" + dependencies: + "minimatch" "^3.0.2" + +"node-int64@^0.4.0": + "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + "version" "0.4.0" + +"node-libs-browser@^2.2.1": + "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" + "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "assert" "^1.1.1" + "browserify-zlib" "^0.2.0" + "buffer" "^4.3.0" + "console-browserify" "^1.1.0" + "constants-browserify" "^1.0.0" + "crypto-browserify" "^3.11.0" + "domain-browser" "^1.1.1" + "events" "^3.0.0" + "https-browserify" "^1.0.0" + "os-browserify" "^0.3.0" + "path-browserify" "0.0.1" + "process" "^0.11.10" + "punycode" "^1.2.4" + "querystring-es3" "^0.2.0" + "readable-stream" "^2.3.3" + "stream-browserify" "^2.0.1" + "stream-http" "^2.7.2" + "string_decoder" "^1.0.0" + "timers-browserify" "^2.0.4" + "tty-browserify" "0.0.0" + "url" "^0.11.0" + "util" "^0.11.0" + "vm-browserify" "^1.0.1" + +"node-modules-regexp@^1.0.0": + "integrity" "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + "resolved" "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" + "version" "1.0.0" + +"node-notifier@^6.0.0": + "integrity" "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==" + "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz" + "version" "6.0.0" + dependencies: + "growly" "^1.3.0" + "is-wsl" "^2.1.1" + "semver" "^6.3.0" + "shellwords" "^0.1.1" + "which" "^1.3.1" + +"node-releases@^1.1.76": + "integrity" "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz" + "version" "1.1.76" + +"nofilter@^3.0.2": + "integrity" "sha512-TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ==" + "resolved" "https://registry.npmjs.org/nofilter/-/nofilter-3.0.3.tgz" + "version" "3.0.3" + +"normalize-package-data@^2.3.2", "normalize-package-data@^2.5.0": + "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" + "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "hosted-git-info" "^2.1.4" + "resolve" "^1.10.0" + "semver" "2 || 3 || 4 || 5" + "validate-npm-package-license" "^3.0.1" + +"normalize-path@^2.1.1": + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "remove-trailing-separator" "^1.0.1" + +"normalize-path@^3.0.0", "normalize-path@~3.0.0": + "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + "version" "3.0.0" + +"normalize-url@^6.0.1": + "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + "version" "6.1.0" + +"npm-run-path@^2.0.0": + "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "path-key" "^2.0.0" + +"npm-run-path@^4.0.0": + "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "path-key" "^3.0.0" + +"nth-check@^2.0.0": + "integrity" "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==" + "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "boolbase" "^1.0.0" + +"nwsapi@^2.2.0": + "integrity" "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" + "version" "2.2.0" + +"oauth-sign@~0.9.0": + "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" + "version" "0.9.0" + +"object-assign@^4.1.1": + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + "version" "4.1.1" + +"object-copy@^0.1.0": + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + "version" "0.1.0" + dependencies: + "copy-descriptor" "^0.1.0" + "define-property" "^0.2.5" + "kind-of" "^3.0.3" + +"object-inspect@^1.11.0", "object-inspect@^1.9.0": + "integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" + "version" "1.11.0" + +"object-keys@^1.0.12", "object-keys@^1.1.1": + "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + "version" "1.1.1" + +"object-visit@^1.0.0": + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "isobject" "^3.0.0" + +"object.assign@^4.1.0", "object.assign@^4.1.2": + "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" + "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + "version" "4.1.2" + dependencies: + "call-bind" "^1.0.0" + "define-properties" "^1.1.3" + "has-symbols" "^1.0.1" + "object-keys" "^1.1.1" + +"object.entries@^1.1.4": + "integrity" "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==" + "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.2" + +"object.fromentries@^2.0.4": + "integrity" "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==" + "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz" + "version" "2.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.0-next.2" + "has" "^1.0.3" + +"object.hasown@^1.0.0": + "integrity" "sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA==" + "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "define-properties" "^1.1.3" + "es-abstract" "^1.18.1" + +"object.pick@^1.3.0": + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "isobject" "^3.0.1" + +"object.values@^1.1.4": + "integrity" "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==" + "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.2" + +"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + "version" "1.4.0" + dependencies: + "wrappy" "1" + +"onetime@^2.0.0": + "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "mimic-fn" "^1.0.0" + +"onetime@^5.1.0": + "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + "version" "5.1.2" + dependencies: + "mimic-fn" "^2.1.0" + +"opener@^1.5.2": + "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" + "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + "version" "1.5.2" + +"optimize-css-assets-webpack-plugin@^6.0.1": + "integrity" "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==" + "resolved" "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz" + "version" "6.0.1" + dependencies: + "cssnano" "^5.0.2" + "last-call-webpack-plugin" "^3.0.0" + "postcss" "^8.2.1" + +"optionator@^0.8.1", "optionator@^0.8.3": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"optionator@^0.9.1": + "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + "version" "0.9.1" + dependencies: + "deep-is" "^0.1.3" + "fast-levenshtein" "^2.0.6" + "levn" "^0.4.1" + "prelude-ls" "^1.2.1" + "type-check" "^0.4.0" + "word-wrap" "^1.2.3" + +"ora@^4.0.3": + "integrity" "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==" + "resolved" "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz" + "version" "4.1.1" + dependencies: + "chalk" "^3.0.0" + "cli-cursor" "^3.1.0" + "cli-spinners" "^2.2.0" + "is-interactive" "^1.0.0" + "log-symbols" "^3.0.0" + "mute-stream" "0.0.8" + "strip-ansi" "^6.0.0" + "wcwidth" "^1.0.1" + +"os-browserify@^0.3.0": + "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" + "version" "0.3.0" + +"os-tmpdir@~1.0.2": + "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" + "version" "1.0.2" + +"p-each-series@^2.1.0": + "integrity" "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" + "resolved" "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz" + "version" "2.2.0" + +"p-finally@^1.0.0": + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + "version" "1.0.0" + +"p-finally@^2.0.0": + "integrity" "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz" + "version" "2.0.1" + +"p-limit@^1.1.0": + "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "p-try" "^1.0.0" + +"p-limit@^2.0.0", "p-limit@^2.2.0": + "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" + "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + "version" "2.3.0" + dependencies: + "p-try" "^2.0.0" + +"p-locate@^2.0.0": + "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "p-limit" "^1.1.0" + +"p-locate@^3.0.0": + "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "p-limit" "^2.0.0" + +"p-locate@^4.1.0": + "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" + "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + "version" "4.1.0" + dependencies: + "p-limit" "^2.2.0" + +"p-try@^1.0.0": + "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + "version" "1.0.0" + +"p-try@^2.0.0": + "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + "version" "2.2.0" + +"pako@~1.0.5": + "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" + "version" "1.0.11" + +"parallel-transform@^1.1.0": + "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" + "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "cyclist" "^1.0.1" + "inherits" "^2.0.3" + "readable-stream" "^2.1.5" + +"parent-module@^1.0.0": + "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" + "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "callsites" "^3.0.0" + +"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": + "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" + "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" + "version" "5.1.6" + dependencies: + "asn1.js" "^5.2.0" + "browserify-aes" "^1.0.0" + "evp_bytestokey" "^1.0.0" + "pbkdf2" "^3.0.3" + "safe-buffer" "^5.1.1" + +"parse-json@^4.0.0": + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "error-ex" "^1.3.1" + "json-parse-better-errors" "^1.0.1" -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== +"parse-json@^5.0.0": + "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" + "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + "version" "5.2.0" dependencies: "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-ms@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" - integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -pascal-case@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.0, pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -pnp-webpack-plugin@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" - integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== - dependencies: - ts-pnp "^1.1.6" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-calc@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.0.0.tgz#a05b87aacd132740a5db09462a3612453e5df90a" - integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== - dependencies: - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.2.0.tgz#2b620b88c0ff19683f3349f4cf9e24ebdafb2c88" - integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-convert-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz#4ec19d6016534e30e3102fdf414e753398645232" - integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-discard-comments@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz#9eae4b747cf760d31f2447c27f0619d5718901fe" - integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== - -postcss-discard-duplicates@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz#68f7cc6458fe6bab2e46c9f55ae52869f680e66d" - integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== - -postcss-discard-empty@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz#ee136c39e27d5d2ed4da0ee5ed02bc8a9f8bf6d8" - integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== - -postcss-discard-overridden@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz#454b41f707300b98109a75005ca4ab0ff2743ac6" - integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== - -postcss-merge-longhand@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz#277ada51d9a7958e8ef8cf263103c9384b322a41" - integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== - dependencies: - css-color-names "^1.0.1" - postcss-value-parser "^4.1.0" - stylehacks "^5.0.1" - -postcss-merge-rules@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz#d6e4d65018badbdb7dcc789c4f39b941305d410a" - integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^2.0.1" - postcss-selector-parser "^6.0.5" - vendors "^1.0.3" - -postcss-minify-font-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz#a90cefbfdaa075bd3dbaa1b33588bb4dc268addf" - integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-minify-gradients@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz#7c175c108f06a5629925d698b3c4cf7bd3864ee5" - integrity sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ== - dependencies: - colord "^2.6" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-minify-params@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz#371153ba164b9d8562842fdcd929c98abd9e5b6c" - integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== - dependencies: - alphanum-sort "^1.0.2" - browserslist "^4.16.0" - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz#4385c845d3979ff160291774523ffa54eafd5a54" - integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== - dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz#121559d1bebc55ac8d24af37f67bd4da9efd91d0" - integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== - -postcss-normalize-display-values@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz#62650b965981a955dffee83363453db82f6ad1fd" - integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-positions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz#868f6af1795fdfa86fbbe960dceb47e5f9492fe5" - integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-repeat-style@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz#cbc0de1383b57f5bb61ddd6a84653b5e8665b2b5" - integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-string@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz#d9eafaa4df78c7a3b973ae346ef0e47c554985b0" - integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== - dependencies: - postcss-value-parser "^4.1.0" - -postcss-normalize-timing-functions@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz#8ee41103b9130429c6cbba736932b75c5e2cb08c" - integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== - dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-unicode@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz#82d672d648a411814aa5bf3ae565379ccd9f5e37" - integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== - dependencies: - browserslist "^4.16.0" - postcss-value-parser "^4.1.0" - -postcss-normalize-url@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz#ddcdfb7cede1270740cf3e4dfc6008bd96abc763" - integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ== - dependencies: - is-absolute-url "^3.0.3" - normalize-url "^6.0.1" - postcss-value-parser "^4.1.0" - -postcss-normalize-whitespace@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz#b0b40b5bcac83585ff07ead2daf2dcfbeeef8e9a" - integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== - dependencies: - postcss-value-parser "^4.1.0" + "error-ex" "^1.3.1" + "json-parse-even-better-errors" "^2.3.0" + "lines-and-columns" "^1.1.6" + +"parse-ms@^2.1.0": + "integrity" "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==" + "resolved" "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz" + "version" "2.1.0" + +"parse5@5.1.0": + "integrity" "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" + "resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz" + "version" "5.1.0" + +"pascal-case@^3.1.1": + "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" + "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "no-case" "^3.0.4" + "tslib" "^2.0.3" + +"pascalcase@^0.1.1": + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + "version" "0.1.1" + +"path-browserify@^1.0.1": + "integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" + "version" "1.0.1" + +"path-browserify@0.0.1": + "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" + "version" "0.0.1" + +"path-dirname@^1.0.0": + "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + "version" "1.0.2" + +"path-exists@^3.0.0": + "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + "version" "3.0.0" + +"path-exists@^4.0.0": + "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + "version" "4.0.0" + +"path-is-absolute@^1.0.0": + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + "version" "1.0.1" + +"path-key@^2.0.0", "path-key@^2.0.1": + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + "version" "2.0.1" + +"path-key@^3.0.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-key@^3.1.0": + "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + "version" "3.1.1" + +"path-parse@^1.0.6": + "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + "version" "1.0.7" + +"path-type@^3.0.0": + "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "pify" "^3.0.0" + +"path-type@^4.0.0": + "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + "version" "4.0.0" + +"pbkdf2@^3.0.3": + "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" + "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" + "version" "3.1.2" + dependencies: + "create-hash" "^1.1.2" + "create-hmac" "^1.1.4" + "ripemd160" "^2.0.1" + "safe-buffer" "^5.0.1" + "sha.js" "^2.4.8" + +"performance-now@^2.1.0": + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + "version" "2.1.0" + +"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3": + "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" + "version" "2.3.0" + +"pify@^3.0.0": + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" + "version" "3.0.0" + +"pify@^4.0.1": + "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + "version" "4.0.1" + +"pirates@^4.0.0", "pirates@^4.0.1": + "integrity" "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==" + "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" + "version" "4.0.1" + dependencies: + "node-modules-regexp" "^1.0.0" + +"pkg-dir@^2.0.0": + "integrity" "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "find-up" "^2.1.0" + +"pkg-dir@^3.0.0": + "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^3.0.0" + +"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"pkg-up@^2.0.0": + "integrity" "sha1-yBmscoBZpGHKscOImivjxJoATX8=" + "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "find-up" "^2.1.0" + +"pn@^1.1.0": + "integrity" "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" + "resolved" "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz" + "version" "1.1.0" + +"pnp-webpack-plugin@^1.7.0": + "integrity" "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==" + "resolved" "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "ts-pnp" "^1.1.6" + +"posix-character-classes@^0.1.0": + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + "version" "0.1.1" + +"postcss-calc@^8.0.0": + "integrity" "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==" + "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz" + "version" "8.0.0" + dependencies: + "postcss-selector-parser" "^6.0.2" + "postcss-value-parser" "^4.0.2" + +"postcss-colormin@^5.2.0": + "integrity" "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==" + "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "browserslist" "^4.16.6" + "caniuse-api" "^3.0.0" + "colord" "^2.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-convert-values@^5.0.1": + "integrity" "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==" + "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "postcss-value-parser" "^4.1.0" + +"postcss-discard-comments@^5.0.1": + "integrity" "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==" + "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz" + "version" "5.0.1" + +"postcss-discard-duplicates@^5.0.1": + "integrity" "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==" + "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz" + "version" "5.0.1" + +"postcss-discard-empty@^5.0.1": + "integrity" "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==" + "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz" + "version" "5.0.1" + +"postcss-discard-overridden@^5.0.1": + "integrity" "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==" + "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz" + "version" "5.0.1" + +"postcss-merge-longhand@^5.0.2": + "integrity" "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==" + "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "css-color-names" "^1.0.1" + "postcss-value-parser" "^4.1.0" + "stylehacks" "^5.0.1" + +"postcss-merge-rules@^5.0.2": + "integrity" "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==" + "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "browserslist" "^4.16.6" + "caniuse-api" "^3.0.0" + "cssnano-utils" "^2.0.1" + "postcss-selector-parser" "^6.0.5" + "vendors" "^1.0.3" + +"postcss-minify-font-values@^5.0.1": + "integrity" "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==" + "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "postcss-value-parser" "^4.1.0" + +"postcss-minify-gradients@^5.0.2": + "integrity" "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==" + "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "colord" "^2.6" + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-minify-params@^5.0.1": + "integrity" "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==" + "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "alphanum-sort" "^1.0.2" + "browserslist" "^4.16.0" + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" + "uniqs" "^2.0.0" + +"postcss-minify-selectors@^5.1.0": + "integrity" "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==" + "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "alphanum-sort" "^1.0.2" + "postcss-selector-parser" "^6.0.5" + +"postcss-modules-extract-imports@^3.0.0": + "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" + "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" + "version" "3.0.0" + +"postcss-modules-local-by-default@^4.0.0": + "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "icss-utils" "^5.0.0" + "postcss-selector-parser" "^6.0.2" + "postcss-value-parser" "^4.1.0" + +"postcss-modules-scope@^3.0.0": + "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" + "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "postcss-selector-parser" "^6.0.4" + +"postcss-modules-values@^4.0.0": + "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" + "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "icss-utils" "^5.0.0" + +"postcss-normalize-charset@^5.0.1": + "integrity" "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz" + "version" "5.0.1" + +"postcss-normalize-display-values@^5.0.1": + "integrity" "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==" + "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-positions@^5.0.1": + "integrity" "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==" + "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-repeat-style@^5.0.1": + "integrity" "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==" + "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-string@^5.0.1": + "integrity" "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-timing-functions@^5.0.1": + "integrity" "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==" + "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-unicode@^5.0.1": + "integrity" "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "browserslist" "^4.16.0" + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-url@^5.0.2": + "integrity" "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==" + "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz" + "version" "5.0.2" + dependencies: + "is-absolute-url" "^3.0.3" + "normalize-url" "^6.0.1" + "postcss-value-parser" "^4.1.0" + +"postcss-normalize-whitespace@^5.0.1": + "integrity" "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==" + "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "postcss-value-parser" "^4.1.0" -postcss-ordered-values@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz#1f351426977be00e0f765b3164ad753dac8ed044" - integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== +"postcss-ordered-values@^5.0.2": + "integrity" "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==" + "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz" + "version" "5.0.2" dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" -postcss-reduce-initial@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz#9d6369865b0f6f6f6b165a0ef5dc1a4856c7e946" - integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== +"postcss-reduce-initial@^5.0.1": + "integrity" "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==" + "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz" + "version" "5.0.1" dependencies: - browserslist "^4.16.0" - caniuse-api "^3.0.0" + "browserslist" "^4.16.0" + "caniuse-api" "^3.0.0" -postcss-reduce-transforms@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz#93c12f6a159474aa711d5269923e2383cedcf640" - integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== +"postcss-reduce-transforms@^5.0.1": + "integrity" "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==" + "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz" + "version" "5.0.1" dependencies: - cssnano-utils "^2.0.1" - postcss-value-parser "^4.1.0" + "cssnano-utils" "^2.0.1" + "postcss-value-parser" "^4.1.0" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== +"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5": + "integrity" "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==" + "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" + "version" "6.0.6" dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" + "cssesc" "^3.0.0" + "util-deprecate" "^1.0.2" -postcss-svgo@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.0.2.tgz#bc73c4ea4c5a80fbd4b45e29042c34ceffb9257f" - integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== +"postcss-svgo@^5.0.2": + "integrity" "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==" + "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz" + "version" "5.0.2" dependencies: - postcss-value-parser "^4.1.0" - svgo "^2.3.0" + "postcss-value-parser" "^4.1.0" + "svgo" "^2.3.0" -postcss-unique-selectors@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz#3be5c1d7363352eff838bd62b0b07a0abad43bfc" - integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== +"postcss-unique-selectors@^5.0.1": + "integrity" "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==" + "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz" + "version" "5.0.1" dependencies: - alphanum-sort "^1.0.2" - postcss-selector-parser "^6.0.5" - uniqs "^2.0.0" + "alphanum-sort" "^1.0.2" + "postcss-selector-parser" "^6.0.5" + "uniqs" "^2.0.0" -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^8.2.1, postcss@^8.2.15: - version "8.3.7" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.7.tgz#ec88563588c8da8e58e7226f7633b51ae221eeda" - integrity sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ== - dependencies: - nanocolors "^0.1.5" - nanoid "^3.1.25" - source-map-js "^0.6.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +"postcss-value-parser@^4.0.2", "postcss-value-parser@^4.1.0": + "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + "version" "4.1.0" + +"postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.2.1", "postcss@^8.2.15", "postcss@^8.2.2": + "integrity" "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==" + "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz" + "version" "8.3.7" + dependencies: + "nanocolors" "^0.1.5" + "nanoid" "^3.1.25" + "source-map-js" "^0.6.2" + +"prelude-ls@^1.2.1": + "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + "version" "1.2.1" -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +"prelude-ls@~1.1.2": + "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" + "version" "1.1.2" -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" +"prettier-linter-helpers@^1.0.0": + "integrity" "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" + "resolved" "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "fast-diff" "^1.1.2" -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== +"prettier@^1.19.1", "prettier@>=1.13.0": + "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" + "version" "1.19.1" + +"pretty-format@^25.2.1", "pretty-format@^25.5.0": + "integrity" "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==" + "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz" + "version" "25.5.0" dependencies: "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-ms@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" - integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== - dependencies: - parse-ms "^2.1.0" - -private@~0.1.5: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress-estimator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/progress-estimator/-/progress-estimator-0.2.2.tgz#1c3947a5782ea56e40c8fccc290ac7ceeb1b91cb" - integrity sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA== - dependencies: - chalk "^2.4.1" - cli-spinners "^1.3.1" - humanize-duration "^3.15.3" - log-update "^2.3.0" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -prompts@^2.0.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" - integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -react-is@^16.12.0, react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + "ansi-regex" "^5.0.0" + "ansi-styles" "^4.0.0" + "react-is" "^16.12.0" + +"pretty-ms@^7.0.1": + "integrity" "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==" + "resolved" "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "parse-ms" "^2.1.0" + +"private@~0.1.5": + "integrity" "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + "resolved" "https://registry.npmjs.org/private/-/private-0.1.8.tgz" + "version" "0.1.8" + +"process-nextick-args@~2.0.0": + "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" + "version" "2.0.1" + +"process@^0.11.10": + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + "version" "0.11.10" + +"progress-estimator@^0.2.2": + "integrity" "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==" + "resolved" "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz" + "version" "0.2.2" + dependencies: + "chalk" "^2.4.1" + "cli-spinners" "^1.3.1" + "humanize-duration" "^3.15.3" + "log-update" "^2.3.0" + +"progress@^2.0.0": + "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + "version" "2.0.3" + +"promise-inflight@^1.0.1": + "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + "version" "1.0.1" + +"prompts@^2.0.1": + "integrity" "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==" + "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" + "version" "2.4.1" + dependencies: + "kleur" "^3.0.3" + "sisteransi" "^1.0.5" + +"prop-types@^15.7.2": + "integrity" "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==" + "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" + "version" "15.7.2" + dependencies: + "loose-envify" "^1.4.0" + "object-assign" "^4.1.1" + "react-is" "^16.8.1" + +"prr@~1.0.1": + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + "version" "1.0.1" + +"psl@^1.1.28": + "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" + "version" "1.8.0" + +"public-encrypt@^4.0.0": + "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" + "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" + "version" "4.0.3" + dependencies: + "bn.js" "^4.1.0" + "browserify-rsa" "^4.0.0" + "create-hash" "^1.1.0" + "parse-asn1" "^5.0.0" + "randombytes" "^2.0.1" + "safe-buffer" "^5.1.2" + +"pump@^2.0.0": + "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" + "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pump@^3.0.0": + "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" + "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "end-of-stream" "^1.1.0" + "once" "^1.3.1" + +"pumpify@^1.3.3": + "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" + "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" + "version" "1.5.1" + dependencies: + "duplexify" "^3.6.0" + "inherits" "^2.0.3" + "pump" "^2.0.0" + +"punycode@^1.2.4": + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + "version" "1.4.1" + +"punycode@^2.1.0", "punycode@^2.1.1": + "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + "version" "2.1.1" + +"punycode@1.3.2": + "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + "version" "1.3.2" + +"qs@~6.5.2": + "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" + "version" "6.5.2" + +"querystring-es3@^0.2.0": + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" + "version" "0.2.1" + +"querystring@0.2.0": + "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + "version" "0.2.0" + +"queue-microtask@^1.2.2": + "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + "version" "1.2.3" + +"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": + "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" + "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "safe-buffer" "^5.1.0" + +"randomfill@^1.0.3": + "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" + "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "randombytes" "^2.0.5" + "safe-buffer" "^5.1.0" + +"react-is@^16.12.0", "react-is@^16.8.1": + "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + "version" "16.13.1" + +"read-pkg-up@^3.0.0": + "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "find-up" "^2.0.0" + "read-pkg" "^3.0.0" + +"read-pkg-up@^7.0.1": + "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" + "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" + "version" "7.0.1" + dependencies: + "find-up" "^4.1.0" + "read-pkg" "^5.2.0" + "type-fest" "^0.8.1" + +"read-pkg@^3.0.0": + "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "load-json-file" "^4.0.0" + "normalize-package-data" "^2.3.2" + "path-type" "^3.0.0" + +"read-pkg@^5.2.0": + "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" + "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" + "version" "5.2.0" dependencies: "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -realpath-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" - integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== - -recast@^0.16.1: - version "0.16.2" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.2.tgz#3796ebad5fe49ed85473b479cd6df554ad725dc2" - integrity sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A== - dependencies: - ast-types "0.11.7" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - -recast@^0.20.4: - version "0.20.5" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" - integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== - dependencies: - ast-types "0.14.2" - esprima "~4.0.0" - source-map "~0.6.1" - tslib "^2.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= - dependencies: - resolve "^1.1.6" - -regenerate-unicode-properties@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" - integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + "normalize-package-data" "^2.5.0" + "parse-json" "^5.0.0" + "type-fest" "^0.6.0" + +"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^3.0.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.4.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readable-stream@^3.6.0": + "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "inherits" "^2.0.3" + "string_decoder" "^1.1.1" + "util-deprecate" "^1.0.1" + +"readdirp@^2.2.1": + "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + "version" "2.2.1" + dependencies: + "graceful-fs" "^4.1.11" + "micromatch" "^3.1.10" + "readable-stream" "^2.0.2" + +"readdirp@~3.6.0": + "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" + "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + "version" "3.6.0" + dependencies: + "picomatch" "^2.2.1" + +"realpath-native@^2.0.0": + "integrity" "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==" + "resolved" "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz" + "version" "2.0.0" + +"recast@^0.16.1": + "integrity" "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==" + "resolved" "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz" + "version" "0.16.2" + dependencies: + "ast-types" "0.11.7" + "esprima" "~4.0.0" + "private" "~0.1.5" + "source-map" "~0.6.1" + +"recast@^0.20.4": + "integrity" "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==" + "resolved" "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz" + "version" "0.20.5" + dependencies: + "ast-types" "0.14.2" + "esprima" "~4.0.0" + "source-map" "~0.6.1" + "tslib" "^2.0.1" + +"rechoir@^0.6.2": + "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + "version" "0.6.2" + dependencies: + "resolve" "^1.1.6" + +"regenerate-unicode-properties@^9.0.0": + "integrity" "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==" + "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz" + "version" "9.0.0" + dependencies: + "regenerate" "^1.4.2" + +"regenerate@^1.4.2": + "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + "version" "1.4.2" + +"regenerator-runtime@^0.13.4", "regenerator-runtime@^0.13.7": + "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" + "version" "0.13.9" + +"regenerator-transform@^0.14.2": + "integrity" "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==" + "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" + "version" "0.14.5" dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^4.7.1: - version "4.8.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" - integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^9.0.0" - regjsgen "^0.5.2" - regjsparser "^0.7.0" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" - integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^2.0.0-next.3: - version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" - integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@2.6.3, rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== +"regex-not@^1.0.0", "regex-not@^1.0.2": + "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" + "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "extend-shallow" "^3.0.2" + "safe-regex" "^1.1.0" + +"regexp.prototype.flags@^1.3.1": + "integrity" "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==" + "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"regexpp@^2.0.1": + "integrity" "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" + "version" "2.0.1" + +"regexpp@^3.0.0", "regexpp@^3.1.0": + "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" + "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" + "version" "3.2.0" + +"regexpu-core@^4.7.1": + "integrity" "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==" + "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz" + "version" "4.8.0" + dependencies: + "regenerate" "^1.4.2" + "regenerate-unicode-properties" "^9.0.0" + "regjsgen" "^0.5.2" + "regjsparser" "^0.7.0" + "unicode-match-property-ecmascript" "^2.0.0" + "unicode-match-property-value-ecmascript" "^2.0.0" + +"regjsgen@^0.5.2": + "integrity" "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" + "version" "0.5.2" + +"regjsparser@^0.7.0": + "integrity" "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==" + "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz" + "version" "0.7.0" + dependencies: + "jsesc" "~0.5.0" + +"remove-trailing-separator@^1.0.1": + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + "version" "1.1.0" + +"repeat-element@^1.1.2": + "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" + "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + "version" "1.1.4" + +"repeat-string@^1.6.1": + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + "version" "1.6.1" + +"request-promise-core@1.1.4": + "integrity" "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==" + "resolved" "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" + "version" "1.1.4" + dependencies: + "lodash" "^4.17.19" + +"request-promise-native@^1.0.7": + "integrity" "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==" + "resolved" "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" + "version" "1.0.9" + dependencies: + "request-promise-core" "1.1.4" + "stealthy-require" "^1.1.1" + "tough-cookie" "^2.3.3" + +"request@^2.34", "request@^2.88.0": + "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" + "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" + "version" "2.88.2" + dependencies: + "aws-sign2" "~0.7.0" + "aws4" "^1.8.0" + "caseless" "~0.12.0" + "combined-stream" "~1.0.6" + "extend" "~3.0.2" + "forever-agent" "~0.6.1" + "form-data" "~2.3.2" + "har-validator" "~5.1.3" + "http-signature" "~1.2.0" + "is-typedarray" "~1.0.0" + "isstream" "~0.1.2" + "json-stringify-safe" "~5.0.1" + "mime-types" "~2.1.19" + "oauth-sign" "~0.9.0" + "performance-now" "^2.1.0" + "qs" "~6.5.2" + "safe-buffer" "^5.1.2" + "tough-cookie" "~2.5.0" + "tunnel-agent" "^0.6.0" + "uuid" "^3.3.2" + +"require-directory@^2.1.1": + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + "version" "2.1.1" + +"require-from-string@^2.0.2": + "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + "version" "2.0.2" + +"require-main-filename@^2.0.0": + "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + "version" "2.0.0" + +"resolve-cwd@^3.0.0": + "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" + "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" + "version" "3.0.0" + dependencies: + "resolve-from" "^5.0.0" + +"resolve-from@^4.0.0": + "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + "version" "4.0.0" + +"resolve-from@^5.0.0": + "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + "version" "5.0.0" + +"resolve-url@^0.2.1": + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + "version" "0.2.1" + +"resolve@^1.1.6", "resolve@^1.10.0", "resolve@^1.11.0", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.20.0": + "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + "version" "1.20.0" + dependencies: + "is-core-module" "^2.2.0" + "path-parse" "^1.0.6" + +"resolve@^2.0.0-next.3": + "integrity" "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz" + "version" "2.0.0-next.3" + dependencies: + "is-core-module" "^2.2.0" + "path-parse" "^1.0.6" + +"resolve@1.1.7": + "integrity" "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" + "version" "1.1.7" + +"resolve@1.17.0": + "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" + "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" + "version" "1.17.0" + dependencies: + "path-parse" "^1.0.6" + +"restore-cursor@^2.0.0": + "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "onetime" "^2.0.0" + "signal-exit" "^3.0.2" + +"restore-cursor@^3.1.0": + "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "onetime" "^5.1.0" + "signal-exit" "^3.0.2" + +"ret@~0.1.10": + "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + "version" "0.1.15" + +"reusify@^1.0.4": + "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + "version" "1.0.4" + +"rimraf@^2.5.4", "rimraf@^2.6.3": + "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + "version" "2.7.1" + dependencies: + "glob" "^7.1.3" + +"rimraf@^3.0.0": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"rimraf@^3.0.2": + "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "glob" "^7.1.3" + +"rimraf@~2.6.2": + "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + "version" "2.6.3" dependencies: - glob "^7.1.3" + "glob" "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== +"rimraf@2.6.3": + "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + "version" "2.6.3" dependencies: - glob "^7.1.3" + "glob" "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== +"ripemd160@^2.0.0", "ripemd160@^2.0.1": + "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" + "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" + "version" "2.0.2" dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" + "hash-base" "^3.0.0" + "inherits" "^2.0.1" -rollup-plugin-sourcemaps@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== +"rollup-plugin-sourcemaps@^0.6.2": + "integrity" "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==" + "resolved" "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz" + "version" "0.6.3" dependencies: "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" + "source-map-resolve" "^0.6.0" -rollup-plugin-terser@^5.1.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== +"rollup-plugin-terser@^5.1.2": + "integrity" "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==" + "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz" + "version" "5.3.1" dependencies: "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" - serialize-javascript "^4.0.0" - terser "^4.6.2" + "jest-worker" "^24.9.0" + "rollup-pluginutils" "^2.8.2" + "serialize-javascript" "^4.0.0" + "terser" "^4.6.2" -rollup-plugin-typescript2@^0.27.3: - version "0.27.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" - integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== +"rollup-plugin-typescript2@^0.27.3": + "integrity" "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==" + "resolved" "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz" + "version" "0.27.3" dependencies: "@rollup/pluginutils" "^3.1.0" - find-cache-dir "^3.3.1" - fs-extra "8.1.0" - resolve "1.17.0" - tslib "2.0.1" + "find-cache-dir" "^3.3.1" + "fs-extra" "8.1.0" + "resolve" "1.17.0" + "tslib" "2.0.1" -rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== +"rollup-pluginutils@^2.8.2": + "integrity" "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==" + "resolved" "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" + "version" "2.8.2" dependencies: - estree-walker "^0.6.1" + "estree-walker" "^0.6.1" -rollup@^1.32.1: - version "1.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" - integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== +"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^1.32.1", "rollup@>=0.31.2", "rollup@>=0.66.0 <3", "rollup@>=1.26.3": + "integrity" "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==" + "resolved" "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz" + "version" "1.32.1" dependencies: "@types/estree" "*" "@types/node" "*" - acorn "^7.1.0" + "acorn" "^7.1.0" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +"rsvp@^4.8.4": + "integrity" "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" + "resolved" "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" + "version" "4.8.5" -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +"run-async@^2.4.0": + "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" + "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" + "version" "2.4.1" -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== +"run-parallel@^1.1.9": + "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" + "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + "version" "1.2.0" dependencies: - queue-microtask "^1.2.2" + "queue-microtask" "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= +"run-queue@^1.0.0", "run-queue@^1.0.3": + "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=" + "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" + "version" "1.0.3" dependencies: - aproba "^1.1.1" + "aproba" "^1.1.1" -rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== +"rxjs@^6.6.0": + "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" + "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + "version" "6.6.7" dependencies: - tslib "^1.9.0" + "tslib" "^1.9.0" -sade@^1.4.2: - version "1.7.4" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" - integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== +"sade@^1.4.2": + "integrity" "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==" + "resolved" "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz" + "version" "1.7.4" dependencies: - mri "^1.1.0" + "mri" "^1.1.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@~5.2.0": + "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + "version" "5.2.1" -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": + "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + "version" "5.1.2" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= +"safe-regex@^1.1.0": + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + "version" "1.1.0" dependencies: - ret "~0.1.10" + "ret" "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@~2.1.0": + "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + "version" "2.1.2" -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== +"sane@^4.0.3": + "integrity" "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==" + "resolved" "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" + "version" "4.1.0" dependencies: "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + "anymatch" "^2.0.0" + "capture-exit" "^2.0.0" + "exec-sh" "^0.3.2" + "execa" "^1.0.0" + "fb-watchman" "^2.0.0" + "micromatch" "^3.1.4" + "minimist" "^1.1.1" + "walker" "~1.0.5" + +"saxes@^3.1.9": + "integrity" "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==" + "resolved" "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz" + "version" "3.1.11" + dependencies: + "xmlchars" "^2.1.1" + +"schema-utils@^1.0.0": + "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "ajv" "^6.1.0" + "ajv-errors" "^1.0.0" + "ajv-keywords" "^3.1.0" + +"schema-utils@^3.0.0": + "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" + "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" + "version" "3.1.1" dependencies: "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.5, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.3: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.4" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.4.tgz#366a4684d175b9cab2081e3681fda3747b6c51d7" - integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== - -sirv@^1.0.7: - version "1.0.17" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.17.tgz#86e2c63c612da5a1dace1c16c46f524aaa26ac45" - integrity sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw== + "ajv" "^6.12.5" + "ajv-keywords" "^3.5.2" + +"semver@^5.5.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^5.6.0": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@^7.1.1": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" dependencies: - "@polka/url" "^1.0.0-next.20" - mime "^2.3.1" - totalist "^1.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -size-limit@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-5.0.4.tgz#8223efa9dbf0e3dae2dc9c60b1558b5d2a0f820a" - integrity sha512-xAe8sZ7MZe48glBetVFG3DlfMNXIS2V/PQsy9RPj8PRBCvIg5ESLFZQxJnxf7jsp47sKBUO+XVvablL3S4szog== - dependencies: - bytes-iec "^3.1.1" - chokidar "^3.5.2" - ci-job-number "^1.2.2" - globby "^11.0.4" - lilconfig "^2.0.3" - mico-spinner "^1.2.2" - nanocolors "^0.1.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - get-intrinsic "^1.1.1" - has-symbols "^1.0.2" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + "lru-cache" "^6.0.0" + +"semver@^7.2.1": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.2": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"semver@^7.3.5": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"semver@2 || 3 || 4 || 5": + "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + "version" "5.7.1" + +"semver@6.x": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" + +"semver@7.0.0": + "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + "version" "7.0.0" + +"semver@7.3.5": + "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" + "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + "version" "7.3.5" + dependencies: + "lru-cache" "^6.0.0" + +"serialize-javascript@^4.0.0": + "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" + "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "randombytes" "^2.1.0" + +"set-blocking@^2.0.0": + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + "version" "2.0.0" + +"set-value@^2.0.0", "set-value@^2.0.1": + "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" + "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + "version" "2.0.1" + dependencies: + "extend-shallow" "^2.0.1" + "is-extendable" "^0.1.1" + "is-plain-object" "^2.0.3" + "split-string" "^3.0.1" + +"setimmediate@^1.0.4": + "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + "version" "1.0.5" + +"sha.js@^2.4.0", "sha.js@^2.4.8": + "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" + "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" + "version" "2.4.11" + dependencies: + "inherits" "^2.0.1" + "safe-buffer" "^5.0.1" + +"shallow-clone@^3.0.0": + "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" + "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^6.0.2" + +"shebang-command@^1.2.0": + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + "version" "1.2.0" + dependencies: + "shebang-regex" "^1.0.0" -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +"shebang-command@^2.0.0": + "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "shebang-regex" "^3.0.0" + +"shebang-regex@^1.0.0": + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + "version" "1.0.0" -style-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== +"shebang-regex@^3.0.0": + "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + "version" "3.0.0" + +"shelljs@^0.8.3": + "integrity" "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==" + "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" + "version" "0.8.4" + dependencies: + "glob" "^7.0.0" + "interpret" "^1.0.0" + "rechoir" "^0.6.2" + +"shellwords@^0.1.1": + "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" + "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" + "version" "0.1.1" + +"side-channel@^1.0.4": + "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" + "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.0" + "get-intrinsic" "^1.0.2" + "object-inspect" "^1.9.0" + +"signal-exit@^3.0.0", "signal-exit@^3.0.2": + "integrity" "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==" + "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz" + "version" "3.0.4" + +"sirv@^1.0.7": + "integrity" "sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==" + "resolved" "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz" + "version" "1.0.17" dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" + "@polka/url" "^1.0.0-next.20" + "mime" "^2.3.1" + "totalist" "^1.0.0" + +"sisteransi@^1.0.5": + "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + "version" "1.0.5" + +"size-limit@^5.0.4", "size-limit@5.0.4": + "integrity" "sha512-xAe8sZ7MZe48glBetVFG3DlfMNXIS2V/PQsy9RPj8PRBCvIg5ESLFZQxJnxf7jsp47sKBUO+XVvablL3S4szog==" + "resolved" "https://registry.npmjs.org/size-limit/-/size-limit-5.0.4.tgz" + "version" "5.0.4" + dependencies: + "bytes-iec" "^3.1.1" + "chokidar" "^3.5.2" + "ci-job-number" "^1.2.2" + "globby" "^11.0.4" + "lilconfig" "^2.0.3" + "mico-spinner" "^1.2.2" + "nanocolors" "^0.1.0" + +"slash@^3.0.0": + "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + "version" "3.0.0" + +"slice-ansi@^2.1.0": + "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "ansi-styles" "^3.2.0" + "astral-regex" "^1.0.0" + "is-fullwidth-code-point" "^2.0.0" + +"slice-ansi@^4.0.0": + "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" + "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "ansi-styles" "^4.0.0" + "astral-regex" "^2.0.0" + "is-fullwidth-code-point" "^3.0.0" + +"snapdragon-node@^2.0.1": + "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" + "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "define-property" "^1.0.0" + "isobject" "^3.0.0" + "snapdragon-util" "^3.0.1" + +"snapdragon-util@^3.0.1": + "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" + "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "kind-of" "^3.2.0" + +"snapdragon@^0.8.1": + "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" + "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + "version" "0.8.2" + dependencies: + "base" "^0.11.1" + "debug" "^2.2.0" + "define-property" "^0.2.5" + "extend-shallow" "^2.0.1" + "map-cache" "^0.2.2" + "source-map" "^0.5.6" + "source-map-resolve" "^0.5.0" + "use" "^3.1.0" + +"source-list-map@^2.0.0": + "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + "version" "2.0.1" + +"source-map-js@^0.6.2": + "integrity" "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" + "version" "0.6.2" + +"source-map-resolve@^0.5.0": + "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + "version" "0.5.3" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + "resolve-url" "^0.2.1" + "source-map-url" "^0.4.0" + "urix" "^0.1.0" + +"source-map-resolve@^0.6.0": + "integrity" "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==" + "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "atob" "^2.1.2" + "decode-uri-component" "^0.2.0" + +"source-map-support@^0.5.16", "source-map-support@^0.5.6", "source-map-support@~0.5.12": + "integrity" "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==" + "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz" + "version" "0.5.20" + dependencies: + "buffer-from" "^1.0.0" + "source-map" "^0.6.0" + +"source-map-url@^0.4.0": + "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" + "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + "version" "0.4.1" + +"source-map@^0.5.0": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.5.6": + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + "version" "0.5.7" + +"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": + "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + "version" "0.6.1" + +"source-map@^0.7.3": + "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + "version" "0.7.3" + +"sourcemap-codec@^1.4.4": + "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" + "version" "1.4.8" + +"spdx-correct@^3.0.0": + "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" + "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" + "version" "3.1.1" + dependencies: + "spdx-expression-parse" "^3.0.0" + "spdx-license-ids" "^3.0.0" + +"spdx-exceptions@^2.1.0": + "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" + "version" "2.3.0" + +"spdx-expression-parse@^3.0.0": + "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" + "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "spdx-exceptions" "^2.1.0" + "spdx-license-ids" "^3.0.0" + +"spdx-license-ids@^3.0.0": + "integrity" "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" + "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz" + "version" "3.0.10" + +"split-string@^3.0.1", "split-string@^3.0.2": + "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" + "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "extend-shallow" "^3.0.0" + +"sprintf-js@~1.0.2": + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + "version" "1.0.3" + +"sshpk@^1.7.0": + "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" + "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" + "version" "1.16.1" + dependencies: + "asn1" "~0.2.3" + "assert-plus" "^1.0.0" + "bcrypt-pbkdf" "^1.0.0" + "dashdash" "^1.12.0" + "ecc-jsbn" "~0.1.1" + "getpass" "^0.1.1" + "jsbn" "~0.1.0" + "safer-buffer" "^2.0.2" + "tweetnacl" "~0.14.0" + +"ssri@^6.0.1": + "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" + "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" + "version" "6.0.2" + dependencies: + "figgy-pudding" "^3.5.1" + +"stable@^0.1.8": + "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + "version" "0.1.8" + +"stack-utils@^1.0.1": + "integrity" "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==" + "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "escape-string-regexp" "^2.0.0" + +"static-extend@^0.1.1": + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + "version" "0.1.2" + dependencies: + "define-property" "^0.2.5" + "object-copy" "^0.1.0" + +"stealthy-require@^1.1.1": + "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + "resolved" "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" + "version" "1.1.1" + +"stream-browserify@^2.0.1": + "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" + "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "inherits" "~2.0.1" + "readable-stream" "^2.0.2" + +"stream-each@^1.1.0": + "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" + "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" + "version" "1.2.3" + dependencies: + "end-of-stream" "^1.1.0" + "stream-shift" "^1.0.0" + +"stream-http@^2.7.2": + "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" + "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" + "version" "2.8.3" + dependencies: + "builtin-status-codes" "^3.0.0" + "inherits" "^2.0.1" + "readable-stream" "^2.3.6" + "to-arraybuffer" "^1.0.0" + "xtend" "^4.0.0" + +"stream-shift@^1.0.0": + "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" + "version" "1.0.1" + +"string_decoder@^1.0.0", "string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + +"string_decoder@~1.1.1": + "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "safe-buffer" "~5.1.0" + +"string-length@^3.1.0": + "integrity" "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==" + "resolved" "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "astral-regex" "^1.0.0" + "strip-ansi" "^5.2.0" + +"string-width@^2.1.1": + "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^4.0.0" + +"string-width@^3.0.0": + "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + "version" "3.1.0" + dependencies: + "emoji-regex" "^7.0.1" + "is-fullwidth-code-point" "^2.0.0" + "strip-ansi" "^5.1.0" + +"string-width@^4.1.0", "string-width@^4.2.0": + "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + "version" "4.2.3" + dependencies: + "emoji-regex" "^8.0.0" + "is-fullwidth-code-point" "^3.0.0" + "strip-ansi" "^6.0.1" + +"string.prototype.matchall@^4.0.5": + "integrity" "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==" + "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz" + "version" "4.0.5" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + "es-abstract" "^1.18.2" + "get-intrinsic" "^1.1.1" + "has-symbols" "^1.0.2" + "internal-slot" "^1.0.3" + "regexp.prototype.flags" "^1.3.1" + "side-channel" "^1.0.4" + +"string.prototype.trimend@^1.0.4": + "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" + "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"string.prototype.trimstart@^1.0.4": + "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" + "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" + "version" "1.0.4" + dependencies: + "call-bind" "^1.0.2" + "define-properties" "^1.1.3" + +"strip-ansi@^4.0.0": + "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + "version" "4.0.0" + dependencies: + "ansi-regex" "^3.0.0" + +"strip-ansi@^5.0.0", "strip-ansi@^5.1.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" + +"strip-ansi@^5.2.0": + "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + "version" "5.2.0" + dependencies: + "ansi-regex" "^4.1.0" -stylehacks@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.0.1.tgz#323ec554198520986806388c7fdaebc38d2c06fb" - integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== +"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": + "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + "version" "6.0.1" dependencies: - browserslist "^4.16.0" - postcss-selector-parser "^6.0.4" + "ansi-regex" "^5.0.1" + +"strip-bom@^3.0.0": + "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + "version" "3.0.0" + +"strip-bom@^4.0.0": + "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + "version" "4.0.0" + +"strip-eof@^1.0.0": + "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + "version" "1.0.0" + +"strip-final-newline@^2.0.0": + "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + "version" "2.0.0" + +"strip-json-comments@^3.0.1", "strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1": + "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + "version" "3.1.1" + +"style-loader@^2.0.0": + "integrity" "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==" + "resolved" "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "loader-utils" "^2.0.0" + "schema-utils" "^3.0.0" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== +"stylehacks@^5.0.1": + "integrity" "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==" + "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz" + "version" "5.0.1" dependencies: - has-flag "^3.0.0" + "browserslist" "^4.16.0" + "postcss-selector-parser" "^6.0.4" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== +"supports-color@^5.3.0": + "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + "version" "5.5.0" dependencies: - has-flag "^3.0.0" + "has-flag" "^3.0.0" + +"supports-color@^6.1.0": + "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + "version" "6.1.0" + dependencies: + "has-flag" "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +"supports-color@^7.0.0", "supports-color@^7.1.0": + "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + "version" "7.2.0" dependencies: - has-flag "^4.0.0" + "has-flag" "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" - integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== +"supports-hyperlinks@^2.0.0": + "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" + "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" + "version" "2.2.0" dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" + "has-flag" "^4.0.0" + "supports-color" "^7.0.0" -svgo@^2.3.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.7.0.tgz#e164cded22f4408fe4978f082be80159caea1e2d" - integrity sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w== +"svgo@^2.3.0": + "integrity" "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==" + "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz" + "version" "2.7.0" dependencies: "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - nanocolors "^0.1.12" - stable "^0.1.8" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -table@^6.0.9: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== - dependencies: - ajv "^8.0.1" - lodash.clonedeep "^4.5.0" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -temp@^0.8.1, temp@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.6.2: - version "4.8.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== + "commander" "^7.2.0" + "css-select" "^4.1.3" + "css-tree" "^1.1.3" + "csso" "^4.2.0" + "nanocolors" "^0.1.12" + "stable" "^0.1.8" + +"symbol-tree@^3.2.2": + "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" + "version" "3.2.4" + +"table@^5.2.3": + "integrity" "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==" + "resolved" "https://registry.npmjs.org/table/-/table-5.4.6.tgz" + "version" "5.4.6" + dependencies: + "ajv" "^6.10.2" + "lodash" "^4.17.14" + "slice-ansi" "^2.1.0" + "string-width" "^3.0.0" + +"table@^6.0.9": + "integrity" "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==" + "resolved" "https://registry.npmjs.org/table/-/table-6.7.1.tgz" + "version" "6.7.1" + dependencies: + "ajv" "^8.0.1" + "lodash.clonedeep" "^4.5.0" + "lodash.truncate" "^4.4.2" + "slice-ansi" "^4.0.0" + "string-width" "^4.2.0" + "strip-ansi" "^6.0.0" + +"tapable@^1.0.0", "tapable@^1.1.3": + "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + "version" "1.1.3" + +"temp@^0.8.1", "temp@^0.8.4": + "integrity" "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==" + "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" + "version" "0.8.4" + dependencies: + "rimraf" "~2.6.2" + +"terminal-link@^2.0.0": + "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" + "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "ansi-escapes" "^4.2.1" + "supports-hyperlinks" "^2.0.0" + +"terser-webpack-plugin@^1.4.3": + "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" + "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" + "version" "1.4.5" + dependencies: + "cacache" "^12.0.2" + "find-cache-dir" "^2.1.0" + "is-wsl" "^1.1.0" + "schema-utils" "^1.0.0" + "serialize-javascript" "^4.0.0" + "source-map" "^0.6.1" + "terser" "^4.1.2" + "webpack-sources" "^1.4.0" + "worker-farm" "^1.7.0" + +"terser@^4.1.2", "terser@^4.6.2": + "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" + "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" + "version" "4.8.0" + dependencies: + "commander" "^2.20.0" + "source-map" "~0.6.1" + "source-map-support" "~0.5.12" + +"test-exclude@^6.0.0": + "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" + "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + "version" "6.0.0" dependencies: "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -throat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-glob@^0.2.6: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -ts-jest@^25.3.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" - integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - micromatch "4.x" - mkdirp "0.x" - semver "6.x" - yargs-parser "18.x" - -ts-migrate-plugins@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/ts-migrate-plugins/-/ts-migrate-plugins-0.1.23.tgz#cebbc8771d5bb475f93c94d5f0d1ab6ac4b0c8b8" - integrity sha512-xnExNdslzRVmMBo0wFJxWOxhcZHMD4dRj1Fc+1bj3nfC2x3OA21qhAZfOlTbyoCbHlh1WGLJiqAMQ0r0HOQWZA== - dependencies: - eslint "^7.14.0" - jscodeshift "^0.13.0" - json-schema "^0.3.0" - ts-migrate-server "^0.1.23" - typescript "4.2.4" - -ts-migrate-server@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/ts-migrate-server/-/ts-migrate-server-0.1.23.tgz#57aee31365f00077465105f393b965c2d5f49599" - integrity sha512-q4wxqFqS3MI4DDtQ0sxfmeUjRfFdz2wZEF7em9uILs5V3n4ldrT6EAITwJKT61hRrRQvXrxmtp1sboo2XZlMyA== + "glob" "^7.1.4" + "minimatch" "^3.0.4" + +"text-table@^0.2.0": + "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + "version" "0.2.0" + +"throat@^4.1.0": + "integrity" "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + "resolved" "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz" + "version" "4.1.0" + +"throat@^5.0.0": + "integrity" "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" + "resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" + "version" "5.0.0" + +"through@^2.3.6": + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" + "version" "2.3.8" + +"through2@^2.0.0": + "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" + "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" + "version" "2.0.5" + dependencies: + "readable-stream" "~2.3.6" + "xtend" "~4.0.1" + +"timers-browserify@^2.0.4": + "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" + "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" + "version" "2.0.12" + dependencies: + "setimmediate" "^1.0.4" + +"timsort@^0.3.0": + "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + "version" "0.3.0" + +"tiny-glob@^0.2.6": + "integrity" "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==" + "resolved" "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz" + "version" "0.2.9" + dependencies: + "globalyzer" "0.1.0" + "globrex" "^0.1.2" + +"tmp@^0.0.33": + "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" + "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" + "version" "0.0.33" + dependencies: + "os-tmpdir" "~1.0.2" + +"tmpl@1.0.x": + "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + "version" "1.0.5" + +"to-arraybuffer@^1.0.0": + "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" + "version" "1.0.1" + +"to-fast-properties@^2.0.0": + "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + "version" "2.0.0" + +"to-object-path@^0.3.0": + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + "version" "0.3.0" + dependencies: + "kind-of" "^3.0.2" + +"to-regex-range@^2.1.0": + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + "version" "2.1.1" + dependencies: + "is-number" "^3.0.0" + "repeat-string" "^1.6.1" + +"to-regex-range@^5.0.1": + "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" + "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + "version" "5.0.1" + dependencies: + "is-number" "^7.0.0" + +"to-regex@^3.0.1", "to-regex@^3.0.2": + "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" + "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + "version" "3.0.2" + dependencies: + "define-property" "^2.0.2" + "extend-shallow" "^3.0.2" + "regex-not" "^1.0.2" + "safe-regex" "^1.1.0" + +"totalist@^1.0.0": + "integrity" "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" + "resolved" "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" + "version" "1.1.0" + +"tough-cookie@^2.3.3", "tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "psl" "^1.1.28" + "punycode" "^2.1.1" + +"tough-cookie@^3.0.1": + "integrity" "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "ip-regex" "^2.1.0" + "psl" "^1.1.28" + "punycode" "^2.1.1" + +"tr46@^1.0.1": + "integrity" "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=" + "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "punycode" "^2.1.0" + +"ts-jest@^25.3.1": + "integrity" "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==" + "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz" + "version" "25.5.1" + dependencies: + "bs-logger" "0.x" + "buffer-from" "1.x" + "fast-json-stable-stringify" "2.x" + "json5" "2.x" + "lodash.memoize" "4.x" + "make-error" "1.x" + "micromatch" "4.x" + "mkdirp" "0.x" + "semver" "6.x" + "yargs-parser" "18.x" + +"ts-migrate-plugins@^0.1.23": + "integrity" "sha512-xnExNdslzRVmMBo0wFJxWOxhcZHMD4dRj1Fc+1bj3nfC2x3OA21qhAZfOlTbyoCbHlh1WGLJiqAMQ0r0HOQWZA==" + "resolved" "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.23.tgz" + "version" "0.1.23" + dependencies: + "eslint" "^7.14.0" + "jscodeshift" "^0.13.0" + "json-schema" "^0.3.0" + "ts-migrate-server" "^0.1.23" + "typescript" "4.2.4" + +"ts-migrate-server@^0.1.23": + "integrity" "sha512-q4wxqFqS3MI4DDtQ0sxfmeUjRfFdz2wZEF7em9uILs5V3n4ldrT6EAITwJKT61hRrRQvXrxmtp1sboo2XZlMyA==" + "resolved" "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.23.tgz" + "version" "0.1.23" dependencies: "@ts-morph/bootstrap" "^0.9.1" - pretty-ms "^7.0.1" - typescript "4.2.4" - updatable-log "^0.2.0" - -ts-migrate@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/ts-migrate/-/ts-migrate-0.1.23.tgz#4197b047b4bcc5b70061320527dec1b1c4ea78fc" - integrity sha512-YzMcoVQVOt1bQYMJgO1LtNPXrugzsgZ7vIWm39mrsvUh/PIwgmSE8hU6FI/MkF36j1JS2O303KzF3LDYB3YSgg== - dependencies: - create-jest-runner "^0.5.3" - json5 "^2.1.1" - json5-writer "^0.1.8" - ts-migrate-plugins "^0.1.23" - ts-migrate-server "^0.1.23" - typescript "4.2.4" - updatable-log "^0.2.0" - yargs "^15.0.2" - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - -tsconfig-paths@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" - integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + "pretty-ms" "^7.0.1" + "typescript" "4.2.4" + "updatable-log" "^0.2.0" + +"ts-migrate@^0.1.23": + "integrity" "sha512-YzMcoVQVOt1bQYMJgO1LtNPXrugzsgZ7vIWm39mrsvUh/PIwgmSE8hU6FI/MkF36j1JS2O303KzF3LDYB3YSgg==" + "resolved" "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.23.tgz" + "version" "0.1.23" + dependencies: + "create-jest-runner" "^0.5.3" + "json5" "^2.1.1" + "json5-writer" "^0.1.8" + "ts-migrate-plugins" "^0.1.23" + "ts-migrate-server" "^0.1.23" + "typescript" "4.2.4" + "updatable-log" "^0.2.0" + "yargs" "^15.0.2" + +"ts-pnp@^1.1.6": + "integrity" "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" + "resolved" "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz" + "version" "1.2.0" + +"tsconfig-paths@^3.11.0": + "integrity" "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==" + "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz" + "version" "3.11.0" dependencies: "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" + "json5" "^1.0.1" + "minimist" "^1.2.0" + "strip-bom" "^3.0.0" -tsdx@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/tsdx/-/tsdx-0.14.1.tgz#8771d509b6fc523ad971bae3a63ebe3a88355ab3" - integrity sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w== +"tsdx@^0.14.1": + "integrity" "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==" + "resolved" "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz" + "version" "0.14.1" dependencies: "@babel/core" "^7.4.4" "@babel/helper-module-imports" "^7.0.0" @@ -8407,641 +8690,661 @@ tsdx@^0.14.1: "@types/jest" "^25.2.1" "@typescript-eslint/eslint-plugin" "^2.12.0" "@typescript-eslint/parser" "^2.12.0" - ansi-escapes "^4.2.1" - asyncro "^3.0.0" - babel-eslint "^10.0.3" - babel-plugin-annotate-pure-calls "^0.4.0" - babel-plugin-dev-expression "^0.2.1" - babel-plugin-macros "^2.6.1" - babel-plugin-polyfill-regenerator "^0.0.4" - babel-plugin-transform-rename-import "^2.3.0" - camelcase "^6.0.0" - chalk "^4.0.0" - enquirer "^2.3.4" - eslint "^6.1.0" - eslint-config-prettier "^6.0.0" - eslint-config-react-app "^5.2.1" - eslint-plugin-flowtype "^3.13.0" - eslint-plugin-import "^2.18.2" - eslint-plugin-jsx-a11y "^6.2.3" - eslint-plugin-prettier "^3.1.0" - eslint-plugin-react "^7.14.3" - eslint-plugin-react-hooks "^2.2.0" - execa "^4.0.3" - fs-extra "^9.0.0" - jest "^25.3.0" - jest-watch-typeahead "^0.5.0" - jpjs "^1.2.1" - lodash.merge "^4.6.2" - ora "^4.0.3" - pascal-case "^3.1.1" - prettier "^1.19.1" - progress-estimator "^0.2.2" - regenerator-runtime "^0.13.7" - rollup "^1.32.1" - rollup-plugin-sourcemaps "^0.6.2" - rollup-plugin-terser "^5.1.2" - rollup-plugin-typescript2 "^0.27.3" - sade "^1.4.2" - semver "^7.1.1" - shelljs "^0.8.3" - tiny-glob "^0.2.6" - ts-jest "^25.3.1" - tslib "^1.9.3" - typescript "^3.7.3" - -tslib@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" - integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== - -tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.1, tslib@^2.0.3, tslib@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" - integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== - -typescript@^3.7.3: - version "3.9.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - -typescript@^4.4.3: - version "4.4.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" - integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -updatable-log@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/updatable-log/-/updatable-log-0.2.0.tgz#8adfe35dd744bd87e8bf217425e4e8bb81b6f3c6" - integrity sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ== - dependencies: - chalk "^2.4.2" - figures "^3.0.0" - log-update "^3.3.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -urlsafe-base64@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" - integrity sha1-I/iQaabGL0bPOh07ABac77kL4MY= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + "ansi-escapes" "^4.2.1" + "asyncro" "^3.0.0" + "babel-eslint" "^10.0.3" + "babel-plugin-annotate-pure-calls" "^0.4.0" + "babel-plugin-dev-expression" "^0.2.1" + "babel-plugin-macros" "^2.6.1" + "babel-plugin-polyfill-regenerator" "^0.0.4" + "babel-plugin-transform-rename-import" "^2.3.0" + "camelcase" "^6.0.0" + "chalk" "^4.0.0" + "enquirer" "^2.3.4" + "eslint" "^6.1.0" + "eslint-config-prettier" "^6.0.0" + "eslint-config-react-app" "^5.2.1" + "eslint-plugin-flowtype" "^3.13.0" + "eslint-plugin-import" "^2.18.2" + "eslint-plugin-jsx-a11y" "^6.2.3" + "eslint-plugin-prettier" "^3.1.0" + "eslint-plugin-react" "^7.14.3" + "eslint-plugin-react-hooks" "^2.2.0" + "execa" "^4.0.3" + "fs-extra" "^9.0.0" + "jest" "^25.3.0" + "jest-watch-typeahead" "^0.5.0" + "jpjs" "^1.2.1" + "lodash.merge" "^4.6.2" + "ora" "^4.0.3" + "pascal-case" "^3.1.1" + "prettier" "^1.19.1" + "progress-estimator" "^0.2.2" + "regenerator-runtime" "^0.13.7" + "rollup" "^1.32.1" + "rollup-plugin-sourcemaps" "^0.6.2" + "rollup-plugin-terser" "^5.1.2" + "rollup-plugin-typescript2" "^0.27.3" + "sade" "^1.4.2" + "semver" "^7.1.1" + "shelljs" "^0.8.3" + "tiny-glob" "^0.2.6" + "ts-jest" "^25.3.1" + "tslib" "^1.9.3" + "typescript" "^3.7.3" + +"tslib@^1.8.1": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^1.9.0": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^1.9.3": + "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + "version" "1.14.1" + +"tslib@^2.0.1", "tslib@^2.0.3", "tslib@^2.3.1": + "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" + "version" "2.3.1" + +"tslib@2.0.1": + "integrity" "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz" + "version" "2.0.1" + +"tsutils@^3.17.1": + "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" + "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + "version" "3.21.0" + dependencies: + "tslib" "^1.8.1" + +"tty-browserify@0.0.0": + "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" + "version" "0.0.0" + +"tunnel-agent@^0.6.0": + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + "version" "0.6.0" + dependencies: + "safe-buffer" "^5.0.1" + +"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" + "version" "0.14.5" + +"type-check@^0.4.0", "type-check@~0.4.0": + "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + "version" "0.4.0" + dependencies: + "prelude-ls" "^1.2.1" + +"type-check@~0.3.2": + "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" + "version" "0.3.2" + dependencies: + "prelude-ls" "~1.1.2" + +"type-detect@4.0.8": + "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + "version" "4.0.8" + +"type-fest@^0.20.2": + "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + "version" "0.20.2" + +"type-fest@^0.21.3": + "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + "version" "0.21.3" + +"type-fest@^0.6.0": + "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" + "version" "0.6.0" + +"type-fest@^0.8.1": + "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" + "version" "0.8.1" + +"typedarray-to-buffer@^3.1.5": + "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" + "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + "version" "3.1.5" + dependencies: + "is-typedarray" "^1.0.0" + +"typedarray@^0.0.6": + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + "version" "0.0.6" + +"typescript@^3.7.3", "typescript@>=2.4.0", "typescript@>=3.4 <4.0": + "integrity" "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz" + "version" "3.9.10" + +"typescript@^4.4.3": + "integrity" "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz" + "version" "4.4.3" + +"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": + "version" "3.9.10" + +"typescript@4.2.4": + "integrity" "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" + "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz" + "version" "4.2.4" + +"unbox-primitive@^1.0.1": + "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" + "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "function-bind" "^1.1.1" + "has-bigints" "^1.0.1" + "has-symbols" "^1.0.2" + "which-boxed-primitive" "^1.0.2" + +"unicode-canonical-property-names-ecmascript@^2.0.0": + "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" + "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-match-property-ecmascript@^2.0.0": + "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" + "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" + "version" "2.0.0" + dependencies: + "unicode-canonical-property-names-ecmascript" "^2.0.0" + "unicode-property-aliases-ecmascript" "^2.0.0" + +"unicode-match-property-value-ecmascript@^2.0.0": + "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" + "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"unicode-property-aliases-ecmascript@^2.0.0": + "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" + "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" + "version" "2.0.0" + +"union-value@^1.0.0": + "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" + "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "arr-union" "^3.1.0" + "get-value" "^2.0.6" + "is-extendable" "^0.1.1" + "set-value" "^2.0.1" + +"uniqs@^2.0.0": + "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + "version" "2.0.0" + +"unique-filename@^1.1.1": + "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" + "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + "version" "1.1.1" + dependencies: + "unique-slug" "^2.0.0" + +"unique-slug@^2.0.0": + "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" + "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "imurmurhash" "^0.1.4" + +"universalify@^0.1.0": + "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + "version" "0.1.2" + +"universalify@^2.0.0": + "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + "version" "2.0.0" + +"unset-value@^1.0.0": + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "has-value" "^0.3.1" + "isobject" "^3.0.0" + +"upath@^1.1.1": + "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + "version" "1.2.0" + +"updatable-log@^0.2.0": + "integrity" "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==" + "resolved" "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz" + "version" "0.2.0" + dependencies: + "chalk" "^2.4.2" + "figures" "^3.0.0" + "log-update" "^3.3.0" + +"uri-js@^4.2.2": + "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" + "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + "version" "4.4.1" + dependencies: + "punycode" "^2.1.0" + +"urix@^0.1.0": + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + "version" "0.1.0" + +"url@^0.11.0": + "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" + "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + "version" "0.11.0" + dependencies: + "punycode" "1.3.2" + "querystring" "0.2.0" + +"urlsafe-base64@^1.0.0": + "integrity" "sha1-I/iQaabGL0bPOh07ABac77kL4MY=" + "resolved" "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz" + "version" "1.0.0" + +"use@^3.1.0": + "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + "version" "3.1.1" + +"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + "version" "1.0.2" + +"util@^0.11.0": + "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" + "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" + "version" "0.11.1" + dependencies: + "inherits" "2.0.3" + +"util@0.10.3": + "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" + "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" + "version" "0.10.3" + dependencies: + "inherits" "2.0.1" + +"uuid@^3.3.2": + "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + "version" "3.4.0" -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +"v8-compile-cache@^2.0.3": + "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" + "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" + "version" "2.3.0" -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== +"v8-to-istanbul@^4.1.3": + "integrity" "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==" + "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz" + "version" "4.1.4" dependencies: "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" + "convert-source-map" "^1.6.0" + "source-map" "^0.7.3" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== +"validate-npm-package-license@^3.0.1": + "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" + "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" + "version" "3.0.4" dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + "spdx-correct" "^3.0.0" + "spdx-expression-parse" "^3.0.0" -vendors@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== +"vendors@^1.0.3": + "integrity" "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + "resolved" "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" + "version" "1.0.4" -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= +"verror@1.10.0": + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" + "version" "1.10.0" dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" + "assert-plus" "^1.0.0" + "core-util-is" "1.0.2" + "extsprintf" "^1.2.0" -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +"vm-browserify@^1.0.1": + "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" + "version" "1.1.2" -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== +"w3c-hr-time@^1.0.1": + "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" + "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" + "version" "1.0.2" dependencies: - browser-process-hrtime "^1.0.0" + "browser-process-hrtime" "^1.0.0" -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== +"w3c-xmlserializer@^1.1.2": + "integrity" "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==" + "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz" + "version" "1.1.2" dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" + "domexception" "^1.0.1" + "webidl-conversions" "^4.0.2" + "xml-name-validator" "^3.0.0" -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= +"walker@^1.0.7", "walker@~1.0.5": + "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" + "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" + "version" "1.0.7" dependencies: - makeerror "1.0.x" + "makeerror" "1.0.x" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== +"watchpack-chokidar2@^2.0.1": + "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" + "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" + "version" "2.0.1" dependencies: - chokidar "^2.1.8" + "chokidar" "^2.1.8" -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +"watchpack@^1.7.4": + "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" + "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" + "version" "1.7.5" dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" + "graceful-fs" "^4.1.2" + "neo-async" "^2.5.0" optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - -weak-map@~1.0.x: - version "1.0.5" - resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.5.tgz#79691584d98607f5070bd3b70a40e6bb22e401eb" - integrity sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-bundle-analyzer@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz#39898cf6200178240910d629705f0f3493f7d666" - integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^6.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.44.1: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + "chokidar" "^3.4.1" + "watchpack-chokidar2" "^2.0.1" + +"wcwidth@^1.0.1": + "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" + "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" + "version" "1.0.1" + dependencies: + "defaults" "^1.0.3" + +"weak-map@~1.0.x": + "integrity" "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" + "resolved" "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz" + "version" "1.0.5" + +"webidl-conversions@^4.0.2": + "integrity" "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + "version" "4.0.2" + +"webpack-bundle-analyzer@^4.4.2": + "integrity" "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==" + "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz" + "version" "4.4.2" + dependencies: + "acorn" "^8.0.4" + "acorn-walk" "^8.0.0" + "chalk" "^4.1.0" + "commander" "^6.2.0" + "gzip-size" "^6.0.0" + "lodash" "^4.17.20" + "opener" "^1.5.2" + "sirv" "^1.0.7" + "ws" "^7.3.1" + +"webpack-sources@^1.1.0", "webpack-sources@^1.4.0", "webpack-sources@^1.4.1": + "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" + "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + "version" "1.4.3" + dependencies: + "source-list-map" "^2.0.0" + "source-map" "~0.6.1" + +"webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.44.1": + "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" + "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" + "version" "4.46.0" dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^2.3.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^7.0.0, ws@^7.3.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xregexp@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-5.1.0.tgz#c87e7ae5ffa5fdc520f898a467dcba02b0d391e9" - integrity sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA== + "acorn" "^6.4.1" + "ajv" "^6.10.2" + "ajv-keywords" "^3.4.1" + "chrome-trace-event" "^1.0.2" + "enhanced-resolve" "^4.5.0" + "eslint-scope" "^4.0.3" + "json-parse-better-errors" "^1.0.2" + "loader-runner" "^2.4.0" + "loader-utils" "^1.2.3" + "memory-fs" "^0.4.1" + "micromatch" "^3.1.10" + "mkdirp" "^0.5.3" + "neo-async" "^2.6.1" + "node-libs-browser" "^2.2.1" + "schema-utils" "^1.0.0" + "tapable" "^1.1.3" + "terser-webpack-plugin" "^1.4.3" + "watchpack" "^1.7.4" + "webpack-sources" "^1.4.1" + +"whatwg-encoding@^1.0.1", "whatwg-encoding@^1.0.5": + "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" + "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" + "version" "1.0.5" + dependencies: + "iconv-lite" "0.4.24" + +"whatwg-mimetype@^2.2.0", "whatwg-mimetype@^2.3.0": + "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" + "version" "2.3.0" + +"whatwg-url@^7.0.0": + "integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + "version" "7.1.0" + dependencies: + "lodash.sortby" "^4.7.0" + "tr46" "^1.0.1" + "webidl-conversions" "^4.0.2" + +"which-boxed-primitive@^1.0.2": + "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" + "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + "version" "1.0.2" + dependencies: + "is-bigint" "^1.0.1" + "is-boolean-object" "^1.1.0" + "is-number-object" "^1.0.4" + "is-string" "^1.0.5" + "is-symbol" "^1.0.3" + +"which-module@^2.0.0": + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + "version" "2.0.0" + +"which@^1.2.9", "which@^1.3.1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.1": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"which@^2.0.2": + "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + "version" "2.0.2" + dependencies: + "isexe" "^2.0.0" + +"word-wrap@^1.2.3", "word-wrap@~1.2.3": + "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + "version" "1.2.3" + +"worker-farm@^1.7.0": + "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" + "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" + "version" "1.7.0" + dependencies: + "errno" "~0.1.7" + +"wrap-ansi@^3.0.1": + "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" + "version" "3.0.1" + dependencies: + "string-width" "^2.1.1" + "strip-ansi" "^4.0.0" + +"wrap-ansi@^5.0.0": + "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + "version" "5.1.0" + dependencies: + "ansi-styles" "^3.2.0" + "string-width" "^3.0.0" + "strip-ansi" "^5.0.0" + +"wrap-ansi@^6.2.0": + "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" + "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" + "version" "6.2.0" + dependencies: + "ansi-styles" "^4.0.0" + "string-width" "^4.1.0" + "strip-ansi" "^6.0.0" + +"wrappy@1": + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + "version" "1.0.2" + +"write-file-atomic@^2.3.0": + "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" + "version" "2.4.3" + dependencies: + "graceful-fs" "^4.1.11" + "imurmurhash" "^0.1.4" + "signal-exit" "^3.0.2" + +"write-file-atomic@^3.0.0": + "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" + "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + "version" "3.0.3" + dependencies: + "imurmurhash" "^0.1.4" + "is-typedarray" "^1.0.0" + "signal-exit" "^3.0.2" + "typedarray-to-buffer" "^3.1.5" + +"write@1.0.3": + "integrity" "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==" + "resolved" "https://registry.npmjs.org/write/-/write-1.0.3.tgz" + "version" "1.0.3" + dependencies: + "mkdirp" "^0.5.1" + +"ws@^7.0.0", "ws@^7.3.1": + "integrity" "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" + "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" + "version" "7.5.5" + +"xml-name-validator@^3.0.0": + "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" + "version" "3.0.0" + +"xmlchars@^2.1.1": + "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" + "version" "2.2.0" + +"xregexp@^5.1.0": + "integrity" "sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA==" + "resolved" "https://registry.npmjs.org/xregexp/-/xregexp-5.1.0.tgz" + "version" "5.1.0" dependencies: "@babel/runtime-corejs3" "^7.14.9" -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@18.x, yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@^15.0.2, yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" +"xtend@^4.0.0", "xtend@~4.0.1": + "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + "version" "4.0.2" + +"y18n@^4.0.0": + "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + "version" "4.0.3" + +"yallist@^3.0.2": + "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + "version" "3.1.1" + +"yallist@^4.0.0": + "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + "version" "4.0.0" + +"yaml@^1.10.2", "yaml@^1.7.2": + "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + "version" "1.10.2" + +"yargs-parser@^18.1.2", "yargs-parser@18.x": + "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" + "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + "version" "18.1.3" + dependencies: + "camelcase" "^5.0.0" + "decamelize" "^1.2.0" + +"yargs@^15.0.2", "yargs@^15.3.1": + "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" + "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + "version" "15.4.1" + dependencies: + "cliui" "^6.0.0" + "decamelize" "^1.2.0" + "find-up" "^4.1.0" + "get-caller-file" "^2.0.1" + "require-directory" "^2.1.1" + "require-main-filename" "^2.0.0" + "set-blocking" "^2.0.0" + "string-width" "^4.2.0" + "which-module" "^2.0.0" + "y18n" "^4.0.0" + "yargs-parser" "^18.1.2" From 0e07d9602d4997d9c60b7ec5c5f49b7cf9530bb2 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 16 Dec 2022 18:53:45 -0800 Subject: [PATCH 003/463] Implementation of text to raw domain for all cryptographic primitives required to create an implementation of Signify with all communication being done over qb64 CESR. Test coverage ported from keripy to ensure compatibility. --- src/keri/core/SigCounter.ts | 50 -- src/keri/core/cigar.ts | 19 + src/keri/core/cipher.ts | 25 + src/keri/core/core.ts | 24 +- src/keri/core/cryCounter.ts | 51 -- src/keri/core/cryMat.ts | 234 ------- src/keri/core/decrypter.ts | 66 ++ src/keri/core/derivationCodes.ts | 389 ----------- src/keri/core/diger.ts | 104 +-- src/keri/core/encrypter.ts | 60 ++ src/keri/core/indexer.ts | 25 + src/keri/core/keeping.ts | 9 + src/keri/core/kering.ts | 12 + src/keri/core/matter.ts | 257 ++++++++ src/keri/core/nexter.ts | 144 ---- src/keri/core/prefixer.ts | 407 ------------ src/keri/core/salter.ts | 86 +++ src/keri/core/serder.ts | 347 ---------- src/keri/core/siger.ts | 13 +- src/keri/core/sigmat.ts | 222 ------- src/keri/core/signer.ts | 262 +++----- src/keri/core/sigver.ts | 38 -- src/keri/core/{utls.ts => utils.ts} | 21 +- src/keri/core/verfer.ts | 61 +- src/keri/eventing/Kever.ts | 533 --------------- src/keri/eventing/TraitCodex.ts | 342 ---------- src/keri/eventing/index.ts | 10 - src/keri/eventing/kevery.ts | 564 ---------------- src/keri/eventing/tsconfig.json | 100 --- src/keri/eventing/util.ts | 40 -- src/keri/help/stringToBinary.ts | 63 -- test/core/decrypter.test.ts | 122 ++++ test/core/diger.test.ts | 39 +- test/core/encrypter.test.ts | 64 ++ test/core/matter.test.ts | 14 + test/core/prefixer.test.ts | 301 --------- test/core/salter.test.ts | 39 ++ test/core/signer.test.ts | 26 + test/core/verfer.test.ts | 35 +- tsconfig.json | 1 + yarn.lock | 977 ++++++++++++++-------------- 41 files changed, 1586 insertions(+), 4610 deletions(-) delete mode 100644 src/keri/core/SigCounter.ts create mode 100644 src/keri/core/cigar.ts create mode 100644 src/keri/core/cipher.ts delete mode 100644 src/keri/core/cryCounter.ts delete mode 100644 src/keri/core/cryMat.ts create mode 100644 src/keri/core/decrypter.ts delete mode 100644 src/keri/core/derivationCodes.ts create mode 100644 src/keri/core/encrypter.ts create mode 100644 src/keri/core/indexer.ts create mode 100644 src/keri/core/keeping.ts create mode 100644 src/keri/core/kering.ts create mode 100644 src/keri/core/matter.ts delete mode 100644 src/keri/core/nexter.ts delete mode 100644 src/keri/core/prefixer.ts create mode 100644 src/keri/core/salter.ts delete mode 100644 src/keri/core/serder.ts delete mode 100644 src/keri/core/sigmat.ts delete mode 100644 src/keri/core/sigver.ts rename src/keri/core/{utls.ts => utils.ts} (84%) delete mode 100644 src/keri/eventing/Kever.ts delete mode 100644 src/keri/eventing/TraitCodex.ts delete mode 100644 src/keri/eventing/index.ts delete mode 100644 src/keri/eventing/kevery.ts delete mode 100644 src/keri/eventing/tsconfig.json delete mode 100644 src/keri/eventing/util.ts delete mode 100644 src/keri/help/stringToBinary.ts create mode 100644 test/core/decrypter.test.ts create mode 100644 test/core/encrypter.test.ts create mode 100644 test/core/matter.test.ts delete mode 100644 test/core/prefixer.test.ts create mode 100644 test/core/salter.test.ts create mode 100644 test/core/signer.test.ts diff --git a/src/keri/core/SigCounter.ts b/src/keri/core/SigCounter.ts deleted file mode 100644 index 169fcbbc..00000000 --- a/src/keri/core/SigCounter.ts +++ /dev/null @@ -1,50 +0,0 @@ -export {}; -const codeAndLength = require('./derivationCodes'); -const { SigMat } = require('./sigmat'); -/** - * """ - SigCounter is subclass of SigMat, indexed signature material, - That provides count of following number of attached signatures. - Useful when parsing attached signatures from stream where SigCounter - instance qb64 is inserted after Serder of event and before attached signatures. - - Changes default initialization code = SigCntDex.Base64 - Raises error on init if code not in SigCntDex - - See SigMat for inherited attributes and properties: - - Attributes: - - Properties: - .count is int count of attached signatures (same as .index) - */ -class Sigcounter extends SigMat { - constructor(raw = null, qb64b = null, qb64 = null, qb2 = null, code = codeAndLength.SigCntCodex.Base64, index = null, count = null) { - if (raw) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - raw = Buffer.from('', 'binary'); - } - - if (raw == null && qb64b == null && qb64 == null && qb2 == null) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - raw = Buffer.from('', 'binary'); - } - // # accept either index or count to init index - - if (count) index = count; - // @ts-expect-error ts-migrate(2322) FIXME: Type '1' is not assignable to type 'null'. - if (!index) index = 1; - - super(raw, qb64, qb2, code, index, qb64b); - - if (!(Object.values(codeAndLength.SigCntCodex).includes(this.code()))) { - throw new Error(`Invalid code = ${this.code()} for SigCounter.`); - } - } - - count() { - return this.index(); - } -} - -module.exports = { Sigcounter }; diff --git a/src/keri/core/cigar.ts b/src/keri/core/cigar.ts new file mode 100644 index 00000000..45738ea5 --- /dev/null +++ b/src/keri/core/cigar.ts @@ -0,0 +1,19 @@ +import {Verfer} from "./verfer"; +import {Matter, MatterArgs} from "./matter"; + + +export class Cigar extends Matter { + private _verfer: Verfer + constructor({raw, code, qb64, qb64b, qb2, strip}:MatterArgs, verfer: Verfer) { + super({raw, code, qb64, qb64b, qb2, strip}); + this._verfer = verfer + } + + get verfer(): Verfer { + return this._verfer + } + + set verfer(verfer:Verfer) { + this._verfer = verfer + } +} \ No newline at end of file diff --git a/src/keri/core/cipher.ts b/src/keri/core/cipher.ts new file mode 100644 index 00000000..6992e1a5 --- /dev/null +++ b/src/keri/core/cipher.ts @@ -0,0 +1,25 @@ +import {Matter, MatterArgs, MtrDex} from "./matter"; +import {Decrypter} from "./decrypter"; + + +export class Cipher extends Matter { + constructor({raw, code, qb64, qb64b, qb2, strip}:MatterArgs) { + if (raw != undefined && code == undefined) { + if (raw.length == Matter._rawSize(MtrDex.X25519_Cipher_Salt)) { + code = MtrDex.X25519_Cipher_Salt + } else if (raw.length == Matter._rawSize(MtrDex.X25519_Cipher_Seed)) { + code = MtrDex.X25519_Cipher_Salt + } + } + super({raw, code, qb64, qb64b, qb2, strip}); + + if (!(Array.from([MtrDex.X25519_Cipher_Salt, MtrDex.X25519_Cipher_Seed]).includes(this.code))) { + throw new Error(`Unsupported Cipher code == ${this.code}`) + } + } + + decrypt(prikey: Uint8Array | undefined = undefined, seed: Uint8Array | undefined = undefined) { + let decrypter = new Decrypter({qb64b: prikey}, seed) + return decrypter.decrypt(this.qb64b) + } +} \ No newline at end of file diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index ecf2a2e0..cd610205 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,4 +1,4 @@ -const util = require('./utls'); +const util = require('./utils'); export const VERRAWSIZE = 6; export const Versionage = {major: 1, minor: 0}; @@ -116,3 +116,25 @@ export function deversify(versionString: string) { } throw new Error(`Invalid version string = ${versionString}`); } + +export const B64ChrByIdx = new Map([[0, 'A'], [1, 'B'], [2, 'C'], [3, 'D'], [4, 'E'], [5, 'F'], + [6, 'G'], [7, 'H'], [8, 'I'], [9, 'J'], [10, 'K'], [11, 'L'], [12, 'M'], [13, 'N'], [14, 'O'], [15, 'P'], + [16, 'Q'], [17, 'R'], [18, 'S'], [19, 'T'], [20, 'U'], [21, 'V'], [22, 'W'], [23, 'X'], [24, 'Y'], [25, 'Z'], + [26, 'a'], [27, 'b'], [28, 'c'], [29, 'd'], [30, 'e'], [31, 'f'], [32, 'g'], [33, 'h'], [34, 'i'], [35, 'j'], + [36, 'k'], [37, 'l'], [38, 'm'], [39, 'n'], [40, 'o'], [41, 'p'], [42, 'q'], [43, 'r'], [44, 's'], [45, 't'], + [46, 'u'], [47, 'v'], [48, 'w'], [49, 'x'], [50, 'y'], [51, 'z'],[ 52, '0'], [53, '1'], [54, '2'], [55, '3'], + [56, '4'], [57, '5'], [58, '6'], [59, '7'], [60, '8'], [61, '9'], [62, '-'], [63, '_']]); + +// TODO: Implement... +export function intToB64(i:number, l=1) { + console.log(B64ChrByIdx.get(i), l); + return "" +} + +export function readInt(array: Uint8Array) { + let value = 0; + for (let i = 0; i < array.length; i++) { + value = (value * 256) + array[i]; + } + return value; +} \ No newline at end of file diff --git a/src/keri/core/cryCounter.ts b/src/keri/core/cryCounter.ts deleted file mode 100644 index 4b444aa6..00000000 --- a/src/keri/core/cryCounter.ts +++ /dev/null @@ -1,51 +0,0 @@ -export {}; -const { Crymat } = require('./cryMat'); -const { CryCntCodex } = require('./derivationCode&Length'); - -/** - * @description : CryCounter is subclass of CryMat, cryptographic material, - CryCrount provides count of following number of attached cryptographic - material items in its .count property. - Useful when parsing attached receipt couplets from stream where CryCounter - instance qb64 is inserted after Serder of receipt statement and - before attached receipt couplets. - */ -class CryCounter extends Crymat { - constructor( - raw = null, - qb64b = null, - qb64 = null, - qb2 = null, - code = CryCntCodex.Base64, - index = null, - count = null, - ...kwf: any[] - ) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - if (raw != null) raw = Buffer.from('', 'binary'); - if (raw == null && qb64 == null && qb64b == null && qb2 == null) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - raw = Buffer.from('', 'binary'); - } - - if (count != null) index = count; - // @ts-expect-error ts-migrate(2322) FIXME: Type '1' is not assignable to type 'null'. - if (index == null) index = 1; - - super(raw, qb64, qb2, code, index, count, ...kwf); - if (!Object.values(CryCntCodex).includes(this.code())) { - throw new Error(`Invalid code = ${this.code()} for CryCounter.`); - } - } - - /** - * @description Property counter: - Returns .index as count - Assumes ._index is correctly assigned - */ - count() { - return this.index(); - } -} - -module.exports = { CryCounter }; diff --git a/src/keri/core/cryMat.ts b/src/keri/core/cryMat.ts deleted file mode 100644 index 06fb1d66..00000000 --- a/src/keri/core/cryMat.ts +++ /dev/null @@ -1,234 +0,0 @@ -/* eslint-disable no-underscore-dangle */ -import Base64 from "urlsafe-base64"; -import { - oneCharCode, CryOneSizes, CryTwoSizes, CryFourSizes, CryCntCodex, cryAllRawSizes, cryAllSizes, - CryCntSizes, crySelectCodex, CRYCNTMAX, fourCharCode, CryCntIdxSizes, twoCharCode -} from "./derivationCodes"; - -import { b64ToInt, intToB64 } from '../help/stringToBinary'; - -/** - * @description CRYPTOGRAPHC MATERIAL BASE CLASS - * @subclasses provides derivation codes and key event element context specific - * @Properties - * .code str derivation code to indicate cypher suite - .raw bytes crypto material only without code - .pad int number of pad chars given raw - .qb64 str in Base64 with derivation code and crypto material - .qb2 bytes in binary with derivation code and crypto material - */ -export class Crymat { - getCode: any; - getIndex: any; - getRaw: any; - getqb64: any; - constructor( - raw: Buffer, - qb64 = null, - qb2 = null, - code = oneCharCode.Ed25519N, - index = 0 - ) { - /* - Validate as fully qualified - Parameters: - raw is bytes of unqualified crypto material usable for crypto operations - qb64 is str of fully qualified crypto material - qb2 is bytes of fully qualified crypto material - code is str of derivation code - - When raw provided then validate that code is correct for length of raw - and assign .raw - Else when qb64 or qb2 provided extract and assign .raw and .code - */ - if (raw) { - if (!(Buffer.isBuffer(raw) || Array.isArray(raw))) { - throw new Error(`Not a bytes or bytearray, raw= ${raw}.`); - } - - const pad = this._pad(raw); - if ( - !( - (pad === 1 && - Object.values(JSON.stringify(CryOneSizes)).includes( - code - )) || - (pad === 2 && - Object.values( - JSON.stringify(CryTwoSizes).includes(code) - )) || - (pad === 0 && - Object.values( - JSON.stringify(CryFourSizes).includes(code) - )) - ) - ) { - throw new Error(`Wrong code= ${code} for raw= ${raw} .`); - } - if ( - (Object.values(CryCntCodex).includes(code) && - index < 0) || - index > CRYCNTMAX - ) { - throw new Error(`Invalid index=${index} for code=${code}.`); - } - - raw = raw.slice(0, cryAllRawSizes[code]); - - if (raw.length !== cryAllRawSizes[code]) { - throw new Error(`Unexpected raw size= ${raw.length} for code= ${code}" - " not size= ${cryAllRawSizes[code]}.`); - } - this.getCode = code; - this.getIndex = index; - this.getRaw = raw; // crypto ops require bytes not bytearray - } else if (qb64 != null) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - let x = qb64.toString('utf-8'); - this.exfil(x); - } else if (qb2 != null) { - this.exfil(Base64.encode(qb2)); - } else { - throw new Error('Improper initialization need raw or b64 or b2.'); - } - } - - // eslint-disable-next-line no-underscore-dangle - // eslint-disable-next-line class-methods-use-this - _pad(raw: any) { - const reminder = Buffer.byteLength(raw, 'binary') % 3; // length for bytes - if (reminder === 0) { - return 0; - } - return 3 - reminder; - } - - exfil(qb64: string) { - const base64Pad = '='; - let cs = 1; // code size - let codeSlice = qb64.slice(0, cs); - let index; - - if (Object.values(oneCharCode).includes(codeSlice)) { - qb64 = qb64.slice(0, CryOneSizes[codeSlice]); - } else if (codeSlice === crySelectCodex.two) { - cs += 1; - codeSlice = qb64.slice(0, cs); - - if (!Object.values(twoCharCode).includes(codeSlice)) { - throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); - } - - qb64 = qb64.slice(0, CryTwoSizes[codeSlice]); - } else if (codeSlice === crySelectCodex.four) { - cs += 3; - codeSlice = qb64.slice(0, cs); - - if (!Object.values(fourCharCode).includes(codeSlice)) { - throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); - } - qb64 = qb64.slice(0, CryFourSizes[codeSlice]); - } else if (codeSlice === crySelectCodex.dash) { - cs += 1; - codeSlice = qb64.slice(0, cs); - - if (!Object.values(CryCntCodex).includes(codeSlice)) { - throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); - } - - qb64 = qb64.slice(0, CryCntSizes[codeSlice]); - cs += 2; // increase code size - index = b64ToInt(qb64.slice(cs - 2, cs)); - // index = Object.keys(b64ChrByIdx).find(key => - // b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) // last two characters for index - } else { - throw new Error(`Improperly coded material = ${qb64}`); - } - - if (qb64.length !== cryAllSizes[codeSlice]) { - throw new Error( - `Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${cryAllSizes[codeSlice]}.` - ); - } - const derivedRaw = Base64.decode( - // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. - qb64.slice(cs, qb64.length) + base64Pad.repeat(cs % 4).toString('utf-8') - ); - - if (derivedRaw.length !== Math.floor(((qb64.length - cs) * 3) / 4)) { - throw new Error(`Improperly qualified material = ${qb64}`); - } - this.getCode = codeSlice; - this.getRaw = Buffer.from(derivedRaw); // encode - // eslint-disable-next-line radix - this.getIndex = index; - this.getqb64 = qb64; - } - - infil() { - let l = null; - let full = this.getCode; - if (Object.values(CryCntCodex).includes(this.getCode)) { - l = CryCntIdxSizes[this.getCode]; - full = `${this.getCode}${intToB64(this.getIndex, l)}`; - } - - const pad = this.pad(); - // Validate pad for code length - if (full.length % 4 !== pad) { - throw new Error( - `Invalid code = ${this.getCode} for converted raw pad = ${this.pad()}.` - ); - } - return full + Base64.encode(this.getRaw); - } - - /** - * qb64 = Qualified Base64 version,this will return qualified base64 version assuming - self.raw and self.code are correctly populated - */ - qb64() { - return this.infil(); - } - - /** - * """ - Property qb64b: - Returns Fully Qualified Base64 Version encoded as bytes - Assumes self.raw and self.code are correctly populated - """ - */ - qb64b() { - return Buffer.from(this.qb64(), 'binary'); // encode - } - - qb2() { - /* Property qb2: - Returns Fully Qualified Binary Version Bytes - redo to use b64 to binary decode table since faster - """ - # rewrite to do direct binary infiltration by - # decode self.code as bits and prepend to self.raw - */ - - return Base64.decode(Buffer.from(this.infil()).toString()); - // check here - } - - raw() { - return this.getRaw; - } - - pad() { - // eslint-disable-next-line no-underscore-dangle - return this._pad(this.getRaw); - } - - code() { - return this.getCode; - } - - index() { - return this.getIndex; - } -} diff --git a/src/keri/core/decrypter.ts b/src/keri/core/decrypter.ts new file mode 100644 index 00000000..0c0e8c07 --- /dev/null +++ b/src/keri/core/decrypter.ts @@ -0,0 +1,66 @@ +import libsodium from "libsodium-wrappers-sumo"; + +import {Matter, MatterArgs, MtrDex} from './matter'; +import {Signer} from "./signer"; +import {Cipher} from "./cipher"; +import {EmptyMaterialError} from "./kering"; +import {Salter} from "./salter"; + + +export class Decrypter extends Matter { + private readonly _decrypt: any; + constructor({raw, code = MtrDex.X25519_Private, qb64, qb64b, qb2, strip}:MatterArgs, seed: Uint8Array | undefined = undefined) { + try { + super({raw, code, qb64, qb64b, qb2, strip}) + } catch(e) { + if(e instanceof EmptyMaterialError) { + if (seed != undefined) { + let signer = new Signer({qb64b: seed}) + if (signer.code != MtrDex.Ed25519_Seed) { + throw new Error(`Unsupported signing seed derivation code ${signer.code}`) + } + let sigkey = new Uint8Array(signer.raw.length + signer.verfer.raw.length) + sigkey.set(signer.raw) + sigkey.set(signer.verfer.raw, signer.raw.length) + raw = libsodium.crypto_sign_ed25519_sk_to_curve25519(sigkey) + super({raw, code, qb64, qb64b, qb2, strip}) + } + else { + throw e + } + } else { + throw e + } + } + + if (this.code == MtrDex.X25519_Private) { + this._decrypt = this._x25519 + } else { + throw new Error(`Unsupported decrypter code = ${this.code}.`) + } + } + + decrypt(ser: Uint8Array | null = null, cipher: Cipher | null = null, transferable: boolean = false) { + if (ser == null && cipher == null) { + throw new EmptyMaterialError("Neither ser or cipher were provided") + } + + if (ser != null) { + cipher = new Cipher({qb64b: ser}) + } + + return this._decrypt(cipher, this.raw, transferable) + } + + _x25519(cipher: Cipher, prikey: Uint8Array, transferable: boolean = false) { + let pubkey = libsodium.crypto_scalarmult_base(prikey) + let plain = libsodium.crypto_box_seal_open(cipher.raw, pubkey, prikey) + if (cipher.code == MtrDex.X25519_Cipher_Salt) { + return new Salter({qb64b: plain}) + } else if (cipher.code == MtrDex.X25519_Cipher_Seed) { + return new Signer({qb64b: plain, transferable: transferable}) + } else { + throw new Error(`Unsupported cipher text code == ${cipher.code}`) + } + } +} \ No newline at end of file diff --git a/src/keri/core/derivationCodes.ts b/src/keri/core/derivationCodes.ts deleted file mode 100644 index c88b4e2b..00000000 --- a/src/keri/core/derivationCodes.ts +++ /dev/null @@ -1,389 +0,0 @@ -'use strict'; -export {}; - -export const oneCharCode: any = { - Ed25519_Seed: 'A', // Ed25519 256 bit random seed for private key - Ed25519N: 'B', // Ed25519 verification key non-transferable, basic derivation. - X25519: 'C', // X25519 public encryption key, converted from Ed25519. - Ed25519: 'D', // Ed25519 verification key basic derivation - Blake3_256: 'E', // Blake3 256 bit digest self-addressing derivation. - Blake2b_256: 'F', // Blake2b 256 bit digest self-addressing derivation. - Blake2s_256: 'G', // Blake2s 256 bit digest self-addressing derivation. - SHA3_256: 'H', // SHA3 256 bit digest self-addressing derivation. - SHA2_256: 'I', // SHA2 256 bit digest self-addressing derivation. - ECDSA_secp256k1_Seed: 'J', // ECDSA secp256k1 448 bit random Seed for private key - Ed448_Seed: 'K', // Ed448 448 bit random Seed for private key - X448: 'L', // X448 public encryption key, converted from Ed448 -}; - -export const CryOneSizes: any = { - A: 44, - B: 44, - C: 44, - D: 44, - E: 44, - F: 44, - G: 44, - H: 44, - I: 44, - J: 44, - K: 76, - L: 76, -}; - -// Mapping of Code to Size -export const CryOneRawSizes: any = { - A: 32, - B: 32, - C: 32, - D: 32, - E: 32, - F: 32, - G: 32, - H: 32, - I: 32, - J: 32, - K: 56, - L: 56, -}; - -export const twoCharCode: any = { - Seed_128: '0A', // 128 bit random seed. - Ed25519: '0B', // Ed25519 signature. - ECDSA_256k1: '0C', // ECDSA secp256k1 signature. -}; - -export const CryTwoSizes: any = { - '0A': 24, - '0B': 88, -}; - -export const CryTwoRawSizes: any = { - '0A': 16, - '0B': 64, -}; - -export const fourCharCode: any = { - ECDSA_256k1N: '1AAA', // ECDSA secp256k1 verification key non-transferable, basic derivation. - ECDSA_256k1: '1AAB', // Ed25519 public verification or encryption key, basic derivation -}; - -export const CryFourSizes : any = { - '1AAA': 48, - '1AAB': 48, -}; - -export const CryFourRawSizes: any = { - '1AAA': 33, - '1AAB': 33, -}; - -export const crySelectCodex: any = { - two: '0', - four: '1', - dash: '-', -}; - -export const cryAllSizes: any = { - A: 44, - B: 44, - C: 44, - D: 44, - E: 44, - F: 44, - G: 44, - H: 44, - I: 44, - J: 44, - K: 76, - L: 76, - '0A': 24, - '0B': 88, - '1AAA': 48, - '1AAB': 48, - '-A': 4, - '-B': 4, -}; - -export const cryAllRawSizes: any = { - '-A': 0, - '-B': 0, - 'A': 32, - 'B': 32, - 'C': 32, - 'D': 32, - 'E': 32, - 'F': 32, - 'G': 32, - 'H': 32, - 'I': 32, - 'J': 32, - 'K': 56, - 'L': 56, - '0A': 16, - '0B': 64, - '1AAA': 33, - '1AAB': 33, -}; - -export const CryCntSizes: any = { - '-A': 4, - '-B': 4, -}; - -// size of index portion of code qb64 -export const CryCntIdxSizes: any = { - '-A': 2, - '-B': 2, -}; - -// total size of raw unqualified -export const CryCntRawSizes: any = { - '-A': 0, - '-B': 0, -}; - -export const CRYCNTMAX = 4095; // maximum count value given two base 64 digits - -/* - """ - CryCntCodex codex of four character length derivation codes that indicate - count (number) of attached receipt couplets following a receipt statement . - Only provide defined codes. - Undefined are left out so that inclusion(exclusion) via 'in' operator works. - .raw is empty - - Note binary length of everything in CryCntCodex results in 0 Base64 pad bytes. - - First two code characters select format of attached signatures - Next two code charaters select count total of attached signatures to an event - Only provide first two characters here - """ - */ - -export const CryCntCodex: any = { - Base64: '-A', // Fully Qualified Base64 Format Receipt Couplets. - Base2: '-B', // Fully Qualified Base2 Format Receipt Couplets. -}; - -// = { -// '0': '52', '1': '53', '2': '54', '3': '55', '4': '56', '5': '57', -// '6': '58', '7': '59', '8': '60', '9': '61', -// A: '0', B: '1', C: '2', D: '3', E: '4', F: '5', G: '6', H: '7', I: '8', -// J: '9', K: '10', L: '11', M: '12', N: '13', O: '14', P: '15', Q: '16', R: '17', S: '18', -// T: '19', U: '20', V: '21', W: '22', X: '23', Y: '24', Z: '25', -// a: '26', b: '27', c: '28', d: '29', e: '30', f: '31', -// g: '32', h: '33', i: '34', j: '35', k: '36', l: '37', -// m: '38', n: '39', o: '40', p: '41', q: '42', r: '43', s: '44', -// t: '45', u: '46', v: '47', w: '48', x: '49', -// y: '50', z: '51', '-': '62', _: '63' -// } - -// =================================SIG Derivation codes started ============= - -export const SigSelectCodex: any = { - four: '0', // # use four character table. - five: '1', // # use five character table. - six: '2', // # use six character table. - dash: '-', // # use signature count table -}; - -export const SigTwoCodex: any = { - Ed25519: 'A', // Ed25519 signature. - ECDSA_256k1: 'B', //# ECDSA secp256k1 signature. -}; - -//# Mapping of Code to Size -export const SigTwoSizes: any = { - A: 88, - B: 88, -}; - -//# size of index portion of code qb64 -export const SigTwoIdxSizes: any = { - A: 1, - B: 1, -}; - -export const SigTwoRawSizes: any = { - A: 64, - B: 64, -}; - -export const SIGTWOMAX = 63; // # maximum index value given one base64 digit - -export const SigFourCodex: any = { - /* - SigFourCodex codex of four character length derivation codes - Only provide defined codes. - Undefined are left out so that inclusion(exclusion) via 'in' operator works. - Note binary length of everything in SigFourCodex results in 0 Base64 pad bytes. - First two code characters select signature cipher suite - Next two code charaters select index into current signing key list - Only provide first two characters here - """ */ - Ed448: '0A', // # Ed448 signature. -}; - -export const SigFourSizes: any = { - '0A': 156, -}; - -// # size of index portion of code qb64 -export const SigFourIdxSizes: any = { - '0A': 2, -}; - -export const SigFourRawSizes: any = { - '0A': 114, -}; - -export const SigFiveCodex: any = { - /* -Five codex of five character length derivation codes -Only provide defined codes. Undefined are left out so that inclusion -exclusion via 'in' operator works. - -Note binary length of everything in Four results in 0 Base64 pad bytes. - -First three code characters select signature cipher suite -Next two code charaters select index into current signing key list -Only provide first three characters here -""" -*/ -}; - -export const SigFiveSizes: any = {}; -export const SigFiveIdxSizes: any = {}; -export const SigFiveRawSizes: any = {}; - -export const SIGFOURMAX = 4095; // # maximum index value given two base 64 digits -export const SigCntCodex: any = { - /* - SigCntCodex codex of four character length derivation codes that indicate - count (number) of attached signatures following an event . - Only provide defined codes. - Undefined are left out so that inclusion(exclusion) via 'in' operator works. - .raw is empty - - Note binary length of everything in SigCntCodex results in 0 Base64 pad bytes. - - First two code characters select format of attached signatures - Next two code charaters select count total of attached signatures to an event - Only provide first two characters here - */ - Base64: '-A', // # Fully Qualified Base64 Format Signatures. - Base2: '-B', // # Fully Qualified Base2 Format Signatures. -}; - -// # Mapping of Code to Size -// # Total size qb64 -export const SigCntSizes: any = { - '-A': 4, - '-B': 4, -}; - -// # size of index portion of code qb64 -export const SigCntIdxSizes: any = { - '-A': 2, - '-B': 2, -}; - -// # total size of raw unqualified -export const SigCntRawSizes: any = { - '-A': 0, - '-B': 0, -}; - -export const SIGCNTMAX = 4095; // # maximum count value given two base 64 digits - -export const SigIdxSizes: any = { - '-A': 2, - '-B': 2, - A: 1, - B: 1, - '0A': 2, -}; - -export const SigSizes: any = { - '-A': 4, - '-B': 4, - A: 88, - B: 88, - '0A': 156, -}; - -export const SigRawSizes: any = { - '-A': 0, - '-B': 0, - A: 64, - B: 64, - '0A': 114, -}; -export const SIGFIVEMAX = 4095; -export const b64ChrByIdx: any = { - 0: 'A', - 1: 'B', - 2: 'C', - 3: 'D', - 4: 'E', - 5: 'F', - 6: 'G', - 7: 'H', - 8: 'I', - 9: 'J', - 10: 'K', - 11: 'L', - 12: 'M', - 13: 'N', - 14: 'O', - 15: 'P', - 16: 'Q', - 17: 'R', - 18: 'S', - 19: 'T', - 20: 'U', - 21: 'V', - 22: 'W', - 23: 'X', - 24: 'Y', - 25: 'Z', - 26: 'a', - 27: 'b', - 28: 'c', - 29: 'd', - 30: 'e', - 31: 'f', - 32: 'g', - 33: 'h', - 34: 'i', - 35: 'j', - 36: 'k', - 37: 'l', - 38: 'm', - 39: 'n', - 40: 'o', - 41: 'p', - 42: 'q', - 43: 'r', - 44: 's', - 45: 't', - 46: 'u', - 47: 'v', - 48: 'w', - 49: 'x', - 50: 'y', - 51: 'z', - 52: '0', - 53: '1', - 54: '2', - 55: '3', - 56: '4', - 57: '5', - 58: '6', - 59: '7', - 60: '8', - 61: '9', - 62: '-', - 63: '_', -}; diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index 232087ac..db10d184 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -1,60 +1,82 @@ const blake3 = require('blake3'); -import { Crymat } from './cryMat'; -import { oneCharCode } from './derivationCodes'; +import {Matter, MatterArgs, MtrDex} from './matter'; /** - * @description : Diger is subset of Crymat and is used to verify the digest of serialization + * @description : Diger is subset of Matter and is used to verify the digest of serialization * It uses .raw : as digest * .code as digest algorithm * */ -export class Diger extends Crymat { - verifyFunc: any; - // This constructor will assign digest verification function to ._verify - constructor(raw: Buffer, ser = null, code = oneCharCode.Blake3_256, qb64 = null) { - try { - super(raw, qb64, null, code, 0); - } catch (error:any) { - if (!ser) { - throw new Error(error); - } - if (code === oneCharCode.Blake3_256) { - const hasher = blake3.createHash(); - // let dig = blake3.hash(ser); - const dig = hasher.update(ser).digest(''); - super(dig , null , null, code,0); - } else { - throw new Error(`Unsupported code = ${code} for digester.`); - } - } - if (code === oneCharCode.Blake3_256) { - this.verifyFunc = this.blake3_256; - } else { - throw new Error(`Unsupported code = ${code} for digester.`); - } - } +export class Diger extends Matter { + private readonly _verify: any + + // This constructor will assign digest verification function to ._verify + constructor({raw, code = MtrDex.Blake3_256, qb64, qb64b, qb2, strip}: MatterArgs, ser: Uint8Array | null = null) { + try { + super({raw, code, qb64, qb64b, qb2, strip}); + } catch (error: any) { + if (ser == null) { + throw error; + } + + if (code === MtrDex.Blake3_256) { + const hasher = blake3.createHash(); + const dig = hasher.update(ser).digest(''); + super({raw: dig, code: code}); + } else { + throw new Error(`Unsupported code = ${code} for digester.`); + } + } + + if (code === MtrDex.Blake3_256) { + this._verify = this.blake3_256; + } else { + throw new Error(`Unsupported code = ${code} for digester.`); + } + } - /** - * - * @param {bytes} ser serialization bytes + /** + * + * @param {Uint8Array} ser serialization bytes * @description This method will return true if digest of bytes serialization ser matches .raw * using .raw as reference digest for ._verify digest algorithm determined - by .code + by .code */ - verify(ser: any) { + verify(ser: Uint8Array): boolean { + return this._verify(ser, this.raw); + } + + compare(ser: Uint8Array, dig: any = null, diger: Diger | null = null ) { + if (dig != null) { + if (dig.toString() == this.qb64) { + return true + } - return this.verifyFunc(ser, this.raw()); - } + diger = new Diger({qb64b: dig}) + } else if (diger != null) { + if (diger.qb64b == this.qb64b) { + return true; + } + } + else { + throw new Error("Both dig and diger may not be None.") + } - blake3_256(ser: any, dig: any) { + if (diger.code == this.code) { + return false + } + + return diger.verify(ser) && this.verify(ser) + } - const hasher = blake3.createHash(); - // let dig = blake3.hash(ser); - let digest = hasher.update(ser).digest(''); - return (digest.toString() === dig.toString()); - } + + blake3_256(ser: Uint8Array, dig: any) { + const hasher = blake3.createHash(); + let digest = hasher.update(ser).digest(''); + return (digest.toString() === dig.toString()); + } } diff --git a/src/keri/core/encrypter.ts b/src/keri/core/encrypter.ts new file mode 100644 index 00000000..36287120 --- /dev/null +++ b/src/keri/core/encrypter.ts @@ -0,0 +1,60 @@ +import libsodium from "libsodium-wrappers-sumo"; + +import {Matter, MatterArgs, MtrDex} from './matter'; +import {Verfer} from "./verfer"; +import {Signer} from "./signer"; +import {Cipher} from "./cipher"; +import {arrayEquals} from "./utils"; + + +export class Encrypter extends Matter { + private _encrypt: any; + constructor({raw, code = MtrDex.X25519, qb64, qb64b, qb2, strip}:MatterArgs, verkey: Uint8Array | null = null) { + if (raw == undefined && verkey != null) { + let verfer = new Verfer({qb64b: verkey}) + if (!Array.from([MtrDex.Ed25519N, MtrDex.Ed25519]).includes(verfer.code)) { + throw new Error(`Unsupported verkey derivation code = ${verfer.code}.`) + } + raw = libsodium.crypto_sign_ed25519_pk_to_curve25519(verfer.raw) + } + + super({raw, code, qb64, qb64b, qb2, strip}); + + if (this.code == MtrDex.X25519) { + this._encrypt = this._x25519; + } else { + throw new Error(`Unsupported encrypter code = ${this.code}.`) + } + } + + verifySeed(seed: Uint8Array) { + let signer = new Signer({qb64b: seed}) + let keypair = libsodium.crypto_sign_seed_keypair(signer.raw); + let pubkey = libsodium.crypto_sign_ed25519_pk_to_curve25519(keypair.publicKey) + return arrayEquals(pubkey, this.raw) + } + + encrypt(ser: Uint8Array | null = null, matter: Matter | null = null) { + if (ser == null && matter == null) { + throw new Error("Neither ser nor matter are provided.") + } + + if (ser != null) { + matter = new Matter({qb64b: ser}) + } + + let code + if (matter!.code == MtrDex.Salt_128) { + code = MtrDex.X25519_Cipher_Salt + } else { + code = MtrDex.X25519_Cipher_Seed + } + + return this._encrypt(matter!.qb64, this.raw, code) + } + + _x25519(ser: Uint8Array, pubkey: Uint8Array, code: string) { + let raw = libsodium.crypto_box_seal(ser, pubkey) + return new Cipher({raw: raw, code: code}) + } +} \ No newline at end of file diff --git a/src/keri/core/indexer.ts b/src/keri/core/indexer.ts new file mode 100644 index 00000000..446064d2 --- /dev/null +++ b/src/keri/core/indexer.ts @@ -0,0 +1,25 @@ + +export {} + + +export class IndexerCodex { + Ed25519_Sig: string = 'A' // Ed25519 sig appears same in both lists if any. + Ed25519_Crt_Sig: string = 'B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Sig: string = 'C' // ECDSA secp256k1 sig appears same in both lists if any. + ECDSA_256k1_Crt_Sig: string = 'D' // ECDSA secp256k1 sig appears in current list. + Ed448_Sig: string = '0A' // Ed448 signature appears in both lists. + Ed448_Crt_Sig: string = '0B' // Ed448 signature appears in current list only. + Ed25519_Big_Sig: string = '2A' // Ed25519 sig appears in both lists. + Ed25519_Big_Crt_Sig: string = '2B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Big_Sig: string = '2C' // ECDSA secp256k1 sig appears in both lists. + ECDSA_256k1_Big_Crt_Sig: string = '2D' // ECDSA secp256k1 sig appears in current list only. + Ed448_Big_Sig: string = '3A' // Ed448 signature appears in both lists. + Ed448_Big_Crt_Sig: string = '3B' // Ed448 signature appears in current list only. + +} + +export const IdrDex = new IndexerCodex() + + + + diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts new file mode 100644 index 00000000..df29931b --- /dev/null +++ b/src/keri/core/keeping.ts @@ -0,0 +1,9 @@ +export {}; +const { SigMat } = require('./sigmat'); + +class Keeper { + constructor() { + } +} + +module.exports = { Keeper } \ No newline at end of file diff --git a/src/keri/core/kering.ts b/src/keri/core/kering.ts new file mode 100644 index 00000000..36dacf29 --- /dev/null +++ b/src/keri/core/kering.ts @@ -0,0 +1,12 @@ + + +export class EmptyMaterialError { + private readonly _err: Error + constructor(err: string) { + this._err = new Error(err) + } + + get err() { + return this._err + } +} \ No newline at end of file diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts new file mode 100644 index 00000000..fa7787f6 --- /dev/null +++ b/src/keri/core/matter.ts @@ -0,0 +1,257 @@ +import {EmptyMaterialError} from "./kering"; + +const {intToB64, readInt} = require('./core'); +const Base64 = require('urlsafe-base64'); +import {TextEncoder, TextDecoder} from 'util' + + +export class MatterCodex { + Ed25519_Seed: string = 'A' // Ed25519 256 bit random seed for private key + Ed25519N: string = 'B' // Ed25519 verification key non-transferable, basic derivation. + X25519: string = 'C' // X25519 public encryption key, converted from Ed25519 or Ed25519N. + Ed25519: string = 'D' // Ed25519 verification key basic derivation + Blake3_256: string = 'E' // Blake3 256 bit digest self-addressing derivation. + X25519_Private: string = 'O' // X25519 private decryption key converted from Ed25519 + X25519_Cipher_Seed: string = 'P' // X25519 124 char b64 Cipher of 44 char qb64 Seed + X25519_Cipher_Salt: string = '1AAH' // X25519 100 char b64 Cipher of 24 char qb64 Salt + Salt_128: string = '0A' // 128 bit random salt or 128 bit number (see Huge) + Ed25519_Sig: string = '0B' // Ed25519 signature. +} + +export const MtrDex = new MatterCodex() + +export class Sizage { + public hs: number; + public ss: number; + public ls: number; + public fs: number; + + constructor(hs: number, ss: number, fs: number, ls: number) { + this.hs = hs; + this.ss = ss; + this.fs = fs; + this.ls = ls; + } +} + +export interface MatterArgs { + raw?: Uint8Array | undefined + code?: string + qb64b?: Uint8Array | undefined + qb64?: string + qb2?: Uint8Array | undefined + strip?: boolean +} + +export class Matter { + + static Sizes = new Map(Object.entries({ + 'A': new Sizage(1, 0, 44, 0), + 'B': new Sizage(1, 0, 44, 0), + 'C': new Sizage(1, 0, 44, 0), + 'D': new Sizage(1, 0, 44, 0), + 'E': new Sizage(1, 0, 44, 0), + 'O': new Sizage(1, 0, 44, 0), + 'P': new Sizage(1, 0, 124, 0), + "0A": new Sizage(2, 0, 24, 0), + '0B': new Sizage(2, 0, 88, 0), + '1AAH': new Sizage(4, 0, 100, 0), + })); + + static Hards = new Map([['A', 1], ['B', 1], ['C', 1], ['D', 1], ['E', 1], ['F', 1], ['G', 1], + ['H', 1], ['I', 1], ['J', 1], ['K', 1], ['L', 1], ['M', 1], ['N', 1], ['O', 1], ['P', 1], ['Q', 1], ['R', 1], + ['S', 1], ['T', 1], ['U', 1], ['V', 1], ['W', 1], ['X', 1], ['Y', 1], ['Z', 1], ['a', 1], ['b', 1], ['c', 1], + ['d', 1], ['e', 1], ['f', 1], ['g', 1], ['h', 1], ['i', 1], ['j', 1], ['k', 1], ['l', 1], ['m', 1], ['n', 1], + ['o', 1], ['p', 1], ['q', 1], ['r', 1], ['s', 1], ['t', 1], ['u', 1], ['v', 1], ['w', 1], ['x', 1], ['y', 1], + ['z', 1], ['0', 2], ['1', 4], ['2', 4], ['3', 4], ['4', 2], ['5', 2], ['6', 2], ['7', 4], ['8', 4], ['9', 4]]) + + + private _code: string = ""; + private _size: number = -1; + private _raw: Uint8Array = new Uint8Array(0); + + constructor({raw, code = MtrDex.Ed25519N, qb64b, qb64, qb2, strip = false}: MatterArgs) { + + let size = -1 + if (raw !== undefined) { + if (code.length === 0) { + throw new Error("Improper initialization need either (raw and code) or qb64b or qb64 or qb2.") + } + + // Add support for variable size codes here if needed, this code only works for stable size codes + let sizage = Matter.Sizes.get(code) + if (sizage!.fs === -1) { // invalid + throw new Error(`Unsupported variable size code=${code}`) + } + + let rize = Matter._rawSize(code) + raw = raw.slice(0, rize) // copy only exact size from raw stream + if (raw.length != rize) { // forbids shorter + throw new Error(`Not enougth raw bytes for code=${code} expected ${rize} got ${raw.length}.`) + } + + this._code = code // hard value part of code + this._size = size // soft value part of code in int + this._raw = raw // crypto ops require bytes not bytearray + + } else if (qb64 !== undefined) { + this._exfil(qb64) + } else if (qb64b !== undefined) { + let qb64 = new TextDecoder().decode(qb64b) + this._exfil(qb64) + if (strip) { + console.log("stripping qb64b") + } + + } else if (qb2 !== undefined) { + if (strip) { + console.log("stripping qb2") + } + + } else { + throw new EmptyMaterialError("EmptyMaterialError"); + } + } + + get code(): string { + return this._code; + } + + get size() { + return this._size; + } + + get raw(): Uint8Array { + return this._raw + } + + get qb64() { + return this._infil(); + } + + get qb64b() { + let utf8Encode = new TextEncoder(); + return utf8Encode.encode(this.qb64) + } + + get transferable(): boolean { + return !Array.from([MtrDex.Ed25519N]).includes(this.code) + } + + static _rawSize(code: string) { + let sizage = this.Sizes.get(code) // get sizes + let cs = sizage!.hs + sizage!.ss // both hard + soft code size + if (sizage!.fs === -1) { + throw Error(`Non-fixed raw size code ${code}.`) + } + + return (Math.floor((sizage!.fs - cs) * 3 / 4)) - sizage!.ls + + } + + static _leadSize(code: string) { + let sizage = this.Sizes.get(code); + return sizage!.ls + } + + get both() { + let sizage = Matter.Sizes.get(this.code); + return `${this.code}${intToB64(this.size, sizage!.ls)}` + } + + + private _infil() { + let code = this.code; + let raw = this.raw; + + let ps = ((3 - (raw.length % 3)) % 3); // pad size chars or lead size bytes + let sizage = Matter.Sizes.get(code); + + if (sizage!.fs === -1) { // Variable size code, NOT SUPPORTED + throw new Error("Variable sized codes not supported... yet"); + } else { + let both = code + let cs = both.length + if ((cs % 4) != ps - sizage!.ls) { // adjusted pad given lead bytes + throw new Error(`Invalid code=${both} for converted raw pad size=${ps}, ${raw.length}.`); + } + // prepad, convert, and replace upfront + // when fixed and ls != 0 then cs % 4 is zero and ps==ls + // otherwise fixed and ls == 0 then cs % 4 == ps + let bytes = new Uint8Array(ps + raw.length); + for (let i = 0; i < ps; i++) { + bytes[i] = 0; + } + for (let i = 0; i < raw.length; i++) { + let odx = i + ps + bytes[odx] = raw[i]; + } + + return both + Base64.encode(Buffer.from(bytes)).slice(cs % 4) + } + } + + private _exfil(qb64: string) { + if (qb64.length == 0) { + throw new Error("Empty Material") + } + + let first = qb64[0]; + if (!Array.from(Matter.Hards.keys()).includes(first)) { + throw new Error(`Unexpected code ${first}`) + } + + let hs = Matter.Hards.get(first); + if (qb64.length < hs!) { + throw new Error(`Shortage Error`) + } + + let hard = qb64.slice(0, hs); + if (!Array.from(Matter.Sizes.keys()).includes(hard)) { + throw new Error(`Unsupported code ${hard}`) + } + + let sizage = Matter.Sizes.get(hard); + let cs = sizage!.hs + sizage!.ss; + let size = -1; + if (sizage!.fs == -1) { // Variable size code, Not supported + throw new Error("Variable size codes not supported yet") + } else { + size = sizage!.fs + } + + if (qb64.length < sizage!.fs) { + throw new Error(`Need ${sizage!.fs - qb64.length} more chars.`) + } + + qb64 = qb64.slice(0, sizage!.fs) + let ps = cs % 4 + let pbs = 2 * (ps == 0 ? sizage!.ls : ps) + let raw; + if (ps != 0) { + let base = new Array(ps + 1).join('A') + qb64.slice(cs); + let paw = Base64.decode(base) // decode base to leave prepadded raw + let pi = (readInt(paw.slice(0, ps), "big")) // prepad as int + if (pi & (2 ** pbs - 1)) { // masked pad bits non-zero + throw new Error(`Non zeroed prepad bits = {pi & (2 ** pbs - 1 ):<06b} in {qb64b[cs:cs+1]}.`) + } + raw = paw.slice(ps) // strip off ps prepad paw bytes + } else { + let base = qb64.slice(cs); + let paw = Base64.decode(base); + let li = readInt(paw.slice(0, sizage!.ls)) + if (li != 0) { + if (li == 1) { + throw new Error(`Non zeroed lead byte = 0x{li:02x}.`) + } else { + throw new Error(`Non zeroed lead bytes = 0x{li:04x}`) + } + } + raw = paw.slice(sizage!.ls) + } + + this._code = hard // hard only + this._size = size + this._raw = Uint8Array.from(raw) // ensure bytes so immutable and for crypto ops + } +} diff --git a/src/keri/core/nexter.ts b/src/keri/core/nexter.ts deleted file mode 100644 index 4ddef661..00000000 --- a/src/keri/core/nexter.ts +++ /dev/null @@ -1,144 +0,0 @@ -export {}; -const _ = require('lodash'); -const { Diger } = require('./diger'); -const codeAndLength = require('./derivationCodes'); - -let getSer; -let getSith: any; -let getKeys: any; -/** - * @description Nexter is Diger subclass with support to create itself from - next sith and next keys - */ - -export class Nexter extends Diger { - /** - * - Assign digest verification function to ._verify - - See CryMat for inherited parameters - - Parameters: - ser is bytes serialization from which raw is computed if not raw - sith is int threshold or lowercase hex str no leading zeros - keys is list of keys each is qb64 public key str - - Raises error if not any of raw, ser, keys, ked - - if not raw and not ser - If keys not provided - get keys from ked - - If sith not provided - get sith from ked - but if not ked then compute sith as simple majority of keys - */ - constructor( - ser = null, - sith?:number, - keys?: any[], - ked?: {}, - qb64 = null, - code = codeAndLength.oneCharCode.Blake3_256, - ) { - try { - super(null, ser, code, qb64); - } catch (error) { - if (!keys && !ked) { - throw error; - } - [getSer, getSith, getKeys] = deriveSer(sith, keys, ked); - - super(null, getSer); - } - if (getSith) { - this.getSith = _.cloneDeep(getSith); - } else this.getSith = null; - if (getKeys) this.getKeys = _.cloneDeep(getKeys); - else this.getKeys = null; - } - - /** - * """ Property ._sith getter """ - */ - sith() { - return this.getSith; - } - - /** - * """ Property ._keys getter """ - */ - keys() { - return this.getKeys; - } - - // eslint-disable-next-line class-methods-use-this - derive(sith = null, keys = null, ked = null) { - return deriveSer(sith, keys, ked); - } - - /** - * @description Returns True if digest of bytes serialization ser matches .raw - using .raw as reference digest for ._verify digest algorithm determined - by .code If ser not provided then extract ser from either (sith, keys) or ked - * @param {*} ser - * @param {*} sith - * @param {*} keys - * @param {*} ked - */ - verify( - ser = Buffer.from('', 'binary'), - sith = null, - keys = null, - ked = null, - ) { - let derivedSer; - // let derivedSith; - // let derivedKeys; - if (!ser) { - [derivedSer, , ] = this.derive(sith, keys, ked); - } - - return this.verifyFunc(derivedSer, this.raw()); - } -} - -/** -* -@description Returns serialization derived from sith, keys, or ked -*/ -function deriveSer(sith: any, keys: any, ked: any) { - let nxts = []; - if (!keys) { - try { - keys = ked.keys; - } catch (error) { - throw new Error(`Error extracting keys from ked = ${error}`); - } - } - if (!keys) throw new Error('"Keys not found"'); - if (!sith) { - try { - sith = ked.sith; - } catch (error) { - sith = Math.max(1, Math.ceil(keys.length / 2)); - } - } - if (sith instanceof Array) { - throw new Error(`List form of sith = ${sith} not yet supporte`); - } else { - try { - sith = parseInt(sith, 16); - } catch (error:any) { throw new Error(error); } - sith = Math.max(1, sith); - sith = sith.toString(16); - } - - nxts = [Buffer.from(sith, 'binary')]; // create list to concatenate for hashing sith.toString("utf-8") - keys.forEach((key: any) => { - nxts.push(Buffer.from(key, 'binary')); - }); - getSer = Buffer.from(nxts.join(''), 'binary'); - - return [getSer, sith, keys]; -} diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts deleted file mode 100644 index 08d4c825..00000000 --- a/src/keri/core/prefixer.ts +++ /dev/null @@ -1,407 +0,0 @@ -/* eslint-disable class-methods-use-this */ -/* eslint-disable no-underscore-dangle */ -export {}; -const blake3 = require('blake3'); -const libsodium = require('libsodium-wrappers-sumo'); -const { Crymat } = require('./cryMat'); -const { extractValues } = require('./utls'); -const derivationCodes = require('./derivationCodes'); -const { Verfer } = require('./verfer'); - -const { Sigver } = require('./sigver'); -const { Ilks, IcpLabels, DipLabels, IcpExcludes } = require('./core'); -const { Serder } = require('./serder'); -const { Signer } = require('./signer'); - -/** - * @description Prefixer is CryMat subclass for autonomic identifier prefix using basic derivation - from public key - inherited attributes and properties: - Attributes: - Properties: - Methods:verify(): Verifies derivation of aid - */ - -export class Prefixer extends Crymat { - // elements in digest or signature derivation from inception icp - // IcpLabels ["sith", "keys", "nxt", "toad", "wits", "cnfg"] - - // elements in digest or signature derivation from delegated inception dip - // DipLabels ["sith", "keys", "nxt", "toad", "wits", "perm", "seal"] - - /** - * @description // This constructor will assign - * ._verify to verify derivation of aid = .qb64 - */ - constructor( - raw?: Buffer, - code = derivationCodes.oneCharCode.Ed25519N, - ked = {}, - seed?:Uint8Array, - secret = null, - qb64 = null, - qb2 = null, - ) { - let deriveFunc = null; - - try { - super(raw, qb64, qb2, code); - } catch (error) { - if (!(ked || code)) throw error; // throw error if no ked found - - if (code === derivationCodes.oneCharCode.Ed25519N) { - deriveFunc = DeriveBasicEd25519N; - } else if (code === derivationCodes.oneCharCode.Ed25519) { - deriveFunc = DeriveBasicEd25519; - } else if (code === derivationCodes.oneCharCode.Blake3_256) { - deriveFunc = DeriveDigBlake3_256; - } else if (code === derivationCodes.twoCharCode.Ed25519) { - deriveFunc = DeriveSigEd25519; - } else throw new Error(`Unsupported code = ${code} for prefixer.`); - - const verfer = deriveFunc(ked, seed, secret); // else obtain AID using ked - super(verfer.raw, null, null, verfer.code, 0); - } - - if (this.getCode === derivationCodes.oneCharCode.Ed25519N) { - this.verifyDerivation = this.VerifyBasicEd25519N; - } else if (this.getCode === derivationCodes.oneCharCode.Ed25519) { - this.verifyDerivation = this.VerifyBasicEd25519; - } else if (this.getCode === derivationCodes.oneCharCode.Blake3_256) { - this.verifyDerivation = this.verifyDigBlake3_256; - } else if (this.getCode === derivationCodes.twoCharCode.Ed25519) { - this.verifyDerivation = this.VerifySigEd25519; - } else throw new Error(`Unsupported code = ${this.code()} for prefixer.`); - } - - static async initLibsodium() { - await libsodium.ready; - } - - /** - * @description Returns tuple (raw, code) of basic nontransferable - * Ed25519 prefix (qb64) as derived from key event dict ke - * @param {*} ked ked is inception key event dict - * @param {*} seed seed is only used for sig derivation it is the secret key/secret - * @param {*} secret secret or private key - */ - // @ts-expect-error ts-migrate(7023) FIXME: 'derive' implicitly has return type 'any' because ... Remove this comment to see the full error message - derive(ked: any, seed = null, secret = null) { - return this.derive(ked, seed, secret); - } - - /** - * @description This function will return TRUE if derivation from iked for .code matches .qb64 - * @param {*} ked inception key event dict - */ - verify(ked: any) { - return this.verifyDerivation(ked, this.qb64()); - } - - /** - * @description This will return True if verified raises exception otherwise - Verify derivation of fully qualified Base64 pre from inception iked dict - * @param {*} ked ked is inception key event dict - * @param {*} pre pre is Base64 fully qualified prefix - */ - // eslint-disable-next-line class-methods-use-this - VerifyBasicEd25519N(ked: any, pre: any) { - let keys = null; - - try { - keys = ked.keys; - if (keys.length !== 1) { - return false; - } - if (keys[0] !== pre) { return false; } - if (ked.nxt) { - return false; } - } catch (e) { - return false; - } - return true; - } - - /** - * @description Returns True if verified raises exception otherwise - Verify derivation of fully qualified Base64 prefix from - inception key event dict (ked) - * @param {*} ked ked is inception key event dict - * @param {*} pre pre is Base64 fully qualified prefix - */ - // eslint-disable-next-line class-methods-use-this - VerifyBasicEd25519(ked: any, pre: any) { - const { keys } = ked; - try { - if (keys.length !== 1) return false; - if (keys[0] !== pre) { - return false; - } - } catch (e) { - return false; - } - return true; - } - - /** - * @description : Verify derivation of fully qualified Base64 prefix from - inception key event dict (ked). returns TRUE if verified else raise exception - * @param {*} ked ked is inception key event dict - * @param {*} pre pre is Base64 fully qualified prefix - */ - // eslint-disable-next-line camelcase - verifyDigBlake3_256(ked: any, pre: any) { - // @ts-expect-error ts-migrate(2569) FIXME: Type 'string' is not an array type or a string typ... Remove this comment to see the full error message - let [raw, code, response, crymat] = ''; - try { - response = DeriveDigBlake3_256(ked); - raw = response.raw; - code = response.code; - - crymat = new Crymat(raw, null, null, code); - if (crymat.qb64() !== pre) return false; - } catch (error) { - return false; - } - return true; - } - - /** -* @description : Verify derivation of fully qualified Base64 prefix from - inception key event dict (ked). returns TRUE if verified else raise exception - * @param {*} ked ked is inception key event dict - * @param {*} pre pre is Base64 fully qualified prefix - */ - // eslint-disable-next-line no-underscore-dangle - // eslint-disable-next-line class-methods-use-this - VerifySigEd25519(ked: any, pre: any) { - let ilk = null; - let labels; - let values; - let ser; - const keys = ked.keys; - let verfer; - let sigver = null; - try { - ilk = ked.ilk; - if (ilk === Ilks.icp) labels = IcpLabels; - if (ilk === Ilks.icp) labels = DipLabels; - else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); - - for (const l in labels) { - if (!Object.values(ked).includes(l)) { - throw new Error(`Missing element = ${l} from ked.`); - } - } - - - values = extractValues(ked, labels); - ser = Buffer.from(''.concat(values), 'utf-8'); - try { - if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); - verfer = new Verfer(null, keys[0]); - } catch (e) { - throw new Error(`Error extracting public key = ${e}`); - } - if ( - !Object.values(derivationCodes.oneCharCode.Ed25519).includes( - verfer.code(), - ) - ) { - throw new Error(`Invalid derivation code = ${verfer.code()}`); - } - - sigver = new Sigver( - null, - derivationCodes.twoCharCode.Ed25519, - verfer, - 0, - pre, - ); - const result = sigver.verfer().verify(sigver.raw(), ser); - return result; - } catch (exception) { - return false; - } - } -} - -/** - * @description Returns tuple raw, code of basic Ed25519 prefix (qb64) - as derived from key event dict ked - * @param {*} ked - * @param {*} _seed - * @param {*} _secret - * @param _code - */ -function DeriveBasicEd25519( - ked: any, - _seed?: Uint8Array, - _secret = null, - _code = derivationCodes.oneCharCode.Ed25519, -) { - let verfer = null; - let keys; - try { - keys = ked.keys; - if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); - - verfer = new Verfer(null, keys[0]); - } catch (e) { - throw new Error(`Error extracting public key = ${e}`); - } - - if ( - !Object.values(derivationCodes.oneCharCode.Ed25519).includes(verfer.code()) - ) { - throw new Error(`Invalid derivation code = ${verfer.code()}.`); - } - - return { raw: verfer.raw(), code: verfer.code() }; -} - -/** - * @descriptionReturns return (raw, code) of basic nontransferable Ed25519 prefix (qb64) - * @param {*} ked ked is inception key event dict - * @param {*} seed seed is only used for sig derivation it is the secret key/secret - * @param {*} secret secret or private key - */ - -function DeriveBasicEd25519N(ked: any) { - let verfer = null; - let keys; - try { - keys = ked.keys; - if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); - verfer = new Verfer(null, keys[0]); - } catch (e) { - throw new Error(`Error extracting public key = ${e}`); - } - - if ( - !Object.values(derivationCodes.oneCharCode.Ed25519N).includes( - verfer.code(), - ) - ) { - throw new Error(`Invalid derivation code = ${verfer.code()}.`); - } - - try { - if ( - Object.values(derivationCodes.oneCharCode.Ed25519N).includes( - verfer.code(), - ) - && ked.nxt - ) { - throw new Error(`Non-empty nxt = ${ - ked.nxt - } for non-transferable code = ${verfer.code()}`); - } - } catch (e) { - throw new Error(`Error checking nxt = ${e}`); - } - - return { raw: verfer.raw(), code: verfer.code() }; -} - -/** -* @description Returns raw, code of basic Ed25519 pre (qb64) - as derived from key event dict ked -* @param {*} ked ked is inception key event dict -* @param {*} seed seed is only used for sig derivation it is the secret key/secret -* @param {*} secret secret or private key -*/ -function DeriveDigBlake3_256(ked: any) { - let labels = []; - let objKeys = []; - let values = null; - let ser = null; - let dig = null; - const { ilk } = ked; - - if (ilk === Ilks.icp) { - objKeys = Object.keys(ked); - for(let keys in objKeys){ - if(!(IcpExcludes.includes(objKeys[keys]))){ - labels.push(objKeys[keys]); - } - } - // labels = IcpLabels; - } - // if (ilk === Ilks.icp) labels = IcpLabels; - else if (ilk === Ilks.dip) labels = DipLabels; - else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); - - ked.pre = 'a'.repeat( - derivationCodes.CryOneSizes[derivationCodes.oneCharCode.Blake3_256], - ); - const serder = new Serder(null, ked); - // serder.set_raw(serder.getRaw); - ked = serder.ked(); - serder.set_ked(ked); - // serder.set_kind() -// serder.set_raw(serder.getRaw); - // # put in dummy pre to get size correct - for (let l in labels) { - if (Object.values(ked).includes(labels[l])) { - throw new Error(`Missing element = ${l} from ked.`); - } - } - - values = extractValues(ked, labels); - ser = Buffer.from(''.concat(values), 'utf-8'); - const hasher = blake3.createHash(); - dig = hasher.update(ser).digest({length: 64 }); - - return { raw: dig, code: derivationCodes.oneCharCode.Blake3_256 }; -} - -/** - * @description Returns raw, code of basic Ed25519 pre (qb64) - as derived from key event dict ked - * @param {*} ked ked is inception key event dict - * @param {*} seed seed is only used for sig derivation it is the secret key/secret - * @param {*} secret secret or private key - * - * - */ -function DeriveSigEd25519(ked: any, seed?:Uint8Array, secret = null) { - let labels = null; - let values = null; - let ser = null; - let keys = null; - let verfer = null; - let signer = null; - let sigver = null; - const { ilk } = ked; - if (ilk === Ilks.icp) { - labels = IcpLabels; - } else if (ilk === Ilks.dip) { - labels = DipLabels; - } else throw new Error(`Invalid ilk = ${ilk} to derive pre.`); - - for (let l in labels) { - if (!Object.keys(ked).includes(labels[l])) { - throw new Error(`Missing element = ${labels[l]} from ked.`); - } - } - values = extractValues(ked, labels); - ser = Buffer.from(''.concat(values), 'utf-8'); - - try { - keys = ked.keys; - if (keys.length !== 1) throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`); - verfer = new Verfer(null, keys[0]); - } catch (exception) { - throw new Error(`extracting public key = ${exception}`); - } - - if (verfer.code() !== derivationCodes.oneCharCode.Ed25519) throw new Error(`Invalid derivation code = ${verfer.code()}`); - if (!(seed || secret)) throw new Error('Missing seed or secret.'); - - signer = new Signer(seed, derivationCodes.oneCharCode.Ed25519_Seed, true, libsodium, secret); - if (verfer.raw().toString() !== (signer.verfer().raw()).toString()) throw new Error('Key in ked not match seed.'); - - sigver = signer.sign(ser); - return { raw: sigver.raw(), code: derivationCodes.twoCharCode.Ed25519 }; -} diff --git a/src/keri/core/salter.ts b/src/keri/core/salter.ts new file mode 100644 index 00000000..c10e2cd4 --- /dev/null +++ b/src/keri/core/salter.ts @@ -0,0 +1,86 @@ +import {Signer} from "./signer"; + +export {}; +const { Matter, MtrDex } = require('./matter'); +const { EmptyMaterialError } = require('./kering') +import libsodium from 'libsodium-wrappers-sumo'; + +export const enum Tier { + Low = "Low", + Med = "Med", + High = "High" +} + +interface SalterArgs { + raw?: Uint8Array | undefined + code? :string + tier?:string + qb64b? :Uint8Array | undefined + qb64?: string + qb2?: Uint8Array | undefined + strip?: boolean +} +export class Salter extends Matter { + + constructor({raw, code = MtrDex.Salt_128, tier=Tier.Low, qb64, qb64b, qb2, strip=false}:SalterArgs) { + try { + super({raw, code, qb64, qb64b, qb2, strip}); + } catch (e) { + if(e instanceof EmptyMaterialError) { + if (code == MtrDex.Salt_128) { + let salt = libsodium.randombytes_buf(libsodium.crypto_pwhash_SALTBYTES); + super({raw: salt, code: code}) + } else { + throw new Error("invalid code for Salter, only Salt_128 accepted") + } + } else { + throw e; + } + } + + if (this.code != MtrDex.Salt_128) { + throw new Error("invalid code for Salter, only Salt_128 accepted") + } + + this.tier = tier !== null ? tier : Tier.Low + } + + private stretch(size: number = 32, path: string = "", tier: Tier | null = null, temp: boolean = false): Uint8Array { + tier = tier == null ? this.tier : tier; + + let opslimit: number, memlimit: number + + if (temp) { + opslimit = libsodium.crypto_pwhash_OPSLIMIT_MIN + memlimit = libsodium.crypto_pwhash_MEMLIMIT_MIN + + } else { + switch (tier) { + case Tier.Low: + opslimit = libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE + memlimit = libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE + break; + case Tier.Med: + opslimit = libsodium.crypto_pwhash_OPSLIMIT_MODERATE + memlimit = libsodium.crypto_pwhash_MEMLIMIT_MODERATE + break; + case Tier.High: + opslimit = libsodium.crypto_pwhash_OPSLIMIT_SENSITIVE + memlimit = libsodium.crypto_pwhash_MEMLIMIT_SENSITIVE + break; + default: + throw new Error(`Unsupported security tier = ${tier}.`) + } + } + + return libsodium.crypto_pwhash(size, path, this.raw, opslimit, memlimit, libsodium.crypto_pwhash_ALG_DEFAULT) + } + + signer(code: string=MtrDex.Ed25519_Seed, transferable: boolean=true, path: string = "", + tier: Tier | null = null, temp:boolean = false): Signer { + let seed = this.stretch(Matter._rawSize(code), path, tier, temp) + + return new Signer({raw: seed, code: code, transferable: transferable}) + } + +} \ No newline at end of file diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts deleted file mode 100644 index c92950a0..00000000 --- a/src/keri/core/serder.ts +++ /dev/null @@ -1,347 +0,0 @@ -export {}; -/* eslint-disable class-methods-use-this */ -const _ = require('lodash'); -const msgpack = require('msgpack5')(); -// namespace our extensions -const { encode } = msgpack; -const { decode } = msgpack; -// const cbor = require('cbor'); -const blake3 = require('blake3'); -const XRegExp = require('xregexp'); -const { Diger } = require('./diger'); -const { Verfer } = require('./verfer'); -const { - Versionage, - Serials, - deversify, - versify, - MINSNIFFSIZE, -} = require('./core'); -const codeAndLength = require('./derivationCodes'); -/** - * @description Serder is KERI key event serializer-deserializer class - Only supports current version VERSION - - Has the following public properties: - - Properties: - .raw is bytes of serialized event only - .ked is key event dict - .kind is serialization kind string value (see namedtuple coring.Serials) - .version is Versionage instance of event version - .size is int of number of bytes in serialed event only - */ -class Serder { - getDiger: any; - getKed: any; - getKind: any; - getRaw: any; - getSize: any; - getVersion: any; - /** - * - *@description Deserialize if raw provided - Serialize if ked provided but not raw - When serilaizing if kind provided then use kind instead of field in ked - - Parameters: - raw is bytes of serialized event plus any attached signatures - ked is key event dict or None - if None its deserialized from raw - kind is serialization kind string value or None (see namedtuple coring.Serials) - supported kinds are 'json', 'cbor', 'msgpack', 'binary' - if kind is None then its extracted from ked or raw - size is int number of bytes in raw if any - - Attributes: - ._raw is bytes of serialized event only - ._ked is key event dict - ._kind is serialization kind string value (see namedtuple coring.Serials) - supported kinds are 'json', 'cbor', 'msgpack', 'binary' - ._version is Versionage instance of event version - ._size is int of number of bytes in serialed event only - ._diger is Diger instance of digest of .raw - - Properties: - .raw is bytes of serialized event only - .ked is key event dict - .kind is serialization kind string value (see namedtuple coring.Serials) - .version is Versionage instance of event version - .size is int of number of bytes in serialed event only - .diger is Diger instance of digest of .raw - .dig is qb64 digest from .diger - .digb is qb64b digest from .diger - - Note: - loads and jumps of json use str whereas cbor and msgpack use bytes - */ - constructor(raw = Buffer.from('', 'binary'), ked = null, kind = null) { - if (raw) this.getRaw = raw; - else if (ked) { - this.getKed = ked; - this.getKind = kind; - } else throw new Error('Improper initialization need raw or ked.'); - } - - /** - * @description Returns serialization kind, version and size from serialized event raw - by investigating leading bytes that contain version string - * @param {buffer bytes} raw - */ - - sniff(raw: any) { - // @ts-expect-error ts-migrate(2569) FIXME: Type 'string' is not an array type or a string typ... Remove this comment to see the full error message - let [major, minor, kind, size] = ''; - if (raw.length < MINSNIFFSIZE) {throw new Error('"Need more bytes."'); } - - const versionPattern = Buffer.from( - 'KERI(?[0-9a-f])(?[0-9a-f])(?[A-Z]{4})(?[0-9a-f]{6})_', - 'binary', - ); - const regex = XRegExp(versionPattern); - const response = XRegExp.exec(raw, regex); - if (!response || response.kind > 12) throw new Error(`Invalid version string in raw = ${raw}`); - major = response.groups.major; - minor = response.groups.minor; - kind = response.groups.kind; - size = response.groups.size; - // response.minor,response.kind,response.size - Versionage.major = parseInt(major, 16); - Versionage.minor = parseInt(minor, 16); - const version = Versionage; - - - - if (!Object.values(Serials).includes(kind)) { - throw new Error(`Invalid serialization kind = ${kind}`); - } - - size = parseInt(size, 16); - return [kind, version, size]; - - // let match = re.exec(raw) - // let match = version_pattern.exec(raw) - // let t = Buffer.from(raw,'binary') - // let match_string = raw.match(re) - } - - /** - * @description Parses serilized event ser of serialization kind and assigns to - instance attributes. - @NOTE : - loads and jumps of json use str whereas cbor and msgpack use bytes - - * @param {*} raw raw is bytes of serialized event - * @param {} kind kind is str of raw serialization kind (see namedtuple Serials) - * @param {} size size is int size of raw to be deserialized - */ - inhale(raw: any) { - const [kind, version, size] = this.sniff(raw); - let ked = null; - if (!_.isEqual(version, Versionage)) { - throw new Error( - `Unsupported version = ${Versionage.major}.${Versionage.minor}`, - ); - } - - if (raw.length < size) throw new Error('Need more bytes'); - if (kind === Serials.json) { - try { - ked = JSON.parse(raw.slice(0, size)); - } catch (error:any) { - throw new Error(error); - } - } else if (kind === Serials.mgpk) { - try { - ked = decode(raw.slice(0, size)); - } catch (error:any) { - throw new Error(error); - } - // } else if (kind === Serials.cbor) { - // try { - // ked = cbor.decodeAllSync(raw.slice(0, size)); - // } catch (error) { - // throw new Error(error); - // } - } else {ked = null;} - return [ked, kind, version, size]; - } - - /** - * @description ked is key event dict - kind is serialization if given else use one given in ked - Returns tuple of (raw, kind, ked, version) where: - * @param {*} ked ked is key event Json - * @param {*} kind kind is serialzation kind - */ - exhale(ked: any, kind = null) { - let raw; - const versionPattern = Buffer.from( - 'KERI(?[0-9a-f])(?[0-9a-f])(?[A-Z]{4})(?[0-9a-f]{6})_', - 'binary', - ); - const regex = XRegExp(versionPattern); - let response; - if (Object.keys(JSON.stringify(ked)).includes('v')) { - throw new Error(`Missing or empty version string in key event dict =${ked}`); - } - - let [knd, version, size] = deversify(ked.v); - - if (!_.isEqual(version, Versionage)) throw new Error(`Unsupported version = ${Versionage.major}.${Versionage.minor}`); - - if (!kind) kind = knd; - - if (!Object.values(Serials).includes(kind)) { - throw new Error(`Invalid serialization kind = ${kind}`); - } - - if (kind === Serials.json) { - raw = JSON.stringify(ked); // replacer - } else if (kind === Serials.mgpk) raw = encode(ked).toString('hex'); - // else if (kind === Serials.cbor) { - // raw = cbor.encode(ked); - // response = XRegExp.exec(raw, regex); - // } - else { - throw new Error(`Invalid serialization kind = ${kind}`); - } - - console.log(raw) - console.log(raw.length) - size = raw.length; - - // let re = new RegExp(versionPattern) - // const regex = XRegExp(versionPattern); - - // let abc = XRegExp.matchRecursive(Buffer.from(raw),'\\(', '\\)', 'g'); - response = XRegExp.exec(Buffer.from(raw, 'binary'), regex); - // let match = re.exec(raw) - // let match = versionPattern.exec(raw) - // let t = Buffer.from(raw,'binary') - // let match_string = raw.match(re) - // let search = raw.search(versionPattern) - if (!response || response.kind > 12) { - throw new Error(`Invalid version string in raw = ${raw}`); - } - - // while (match = re.exec(raw)) { - // fore = match.index - // back = re.lastIndex - // match ++ - // } - - const vs = versify(version, kind, size); - raw = JSON.parse(raw); - raw.v = vs; - const traw = JSON.stringify(raw); - if (size !== traw.length) throw new Error(`Malformed version string size = ${vs}`); - - ked.v = vs; - - return [traw, kind, ked, version]; - } - - raw() { - return this.getRaw; - } - - set_raw(raw: any) { - const [ked, kind, version, size] = this.inhale(raw); - - this.getRaw = Buffer.from(raw.slice(0, size), 'binary'); // # crypto ops require bytes not bytearray - this.getKed = ked; - this.getKind = kind; - this.getVersion = version; - this.getSize = size; - const hasher = blake3.createHash(); - // const dig = blake3.hash(this.getRaw); - const digest = hasher.update(this.getRaw).digest(''); - this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); - } - - ked() { - return this.getKed; - } - - set_ked(ked: any) { - let [raw, kind, getKed, version] = this.exhale(ked, this.getKind); - - // raw = JSON.stringify(raw); - raw = Buffer.from(raw, 'binary'); - this.getRaw = raw; // # crypto ops require bytes not bytearray - - const size = raw.length; - this.getKed = getKed; - this.getKind = kind; - this.getVersion = version; - this.getSize = size; - - - const hasher = blake3.createHash(); - const digest = hasher.update(this.raw()).digest({length: 64 }); - this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); - } - - kind() { - return this.getKind; - } - - // eslint-disable-next-line camelcase - set_kind() { - let [raw, kind, ked, version] = this.exhale(this.getKed); - const size = raw.length; - raw = JSON.stringify(raw); - this.getRaw = raw.slice(0, size); - this.getKed = ked; - this.getKind = kind; - this.getSize = size; - this.getVersion = version; - } - - version() { - return this.getVersion; - } - - size() { - return this.getSize; - } - - diger() { - const hasher = blake3.createHash(); - console.log("hashing", this.getRaw) - const digest = hasher.update(this.getRaw).digest(''); - this.getDiger = new Diger(digest, null, codeAndLength.oneCharCode.Blake3_256); - return this.getDiger; - } - - dig() { - return this.diger().qb64(); - } - - digb() { - return this.diger().qb64b(); - } - - /** - * Returns list of Verifier instances as converted from .ked.keys - verfers property getter - */ - verfers() { - let keys = null; - const val = []; - - if (Object.keys(this.ked()).includes('keys')) { - keys = this.ked().keys; - } else { - keys = []; - } - for (let key in keys) { - val.push(new Verfer(null, keys[key])); - } - - return val; - } -} - -module.exports = { Serder }; diff --git a/src/keri/core/siger.ts b/src/keri/core/siger.ts index 20641942..bbbe4b7b 100644 --- a/src/keri/core/siger.ts +++ b/src/keri/core/siger.ts @@ -1,5 +1,7 @@ + export {}; -const { SigMat } = require('./sigmat'); +const { Matter } = require('./matter'); + /** * Siger is subclass of SigMat, indexed signature material, @@ -16,10 +18,9 @@ const { SigMat } = require('./sigmat'); Methods: */ -class Siger extends SigMat { - constructor(verfer = null, ...args: any[]) { - super(...args); - this.getVerfer = verfer; +export class Siger extends Matter { + constructor({}) { + super(); } verfer() { @@ -30,5 +31,3 @@ class Siger extends SigMat { this.getVerfer = verfer; } } - -module.exports = { Siger }; diff --git a/src/keri/core/sigmat.ts b/src/keri/core/sigmat.ts deleted file mode 100644 index ce31d88d..00000000 --- a/src/keri/core/sigmat.ts +++ /dev/null @@ -1,222 +0,0 @@ -/* eslint-disable max-len */ -export {}; -const Base64 = require('urlsafe-base64'); -const codeAndLength = require('./derivationCodes'); -const intToB64 = require('../help/stringToBinary'); -const { MINSIGSIZE } = require('./core'); - -/** - * SigMat is fully qualified attached signature crypto material base class - Sub classes are derivation code specific. - - Includes the following attributes and properites. - - Attributes: - - Properties: - .code str derivation code of cipher suite for signature - .index int zero based offset into signing key list - or if from SigCntDex then its count of attached signatures - .raw bytes crypto material only without code - .pad int number of pad chars given .raw - .qb64 str in Base64 with derivation code and signature crypto material - .qb2 bytes in binary with derivation code and signature crypto material - */ -class SigMat { - getCode: any; - getIndex: any; - getQb64: any; - getRaw: any; - // pad = "" - // BASE64_PAD = '=' - - constructor(raw = null, qb64 = null, qb2 = null, code = codeAndLength.SigTwoCodex.Ed25519, index = 0, qb64b = null) { - /* - Validate as fully qualified - Parameters: - raw is bytes of unqualified crypto material usable for crypto operations - qb64 is str of fully qualified crypto material - qb2 is bytes of fully qualified crypto material - code is str of derivation code cipher suite - index is int of offset index into current signing key list - or if from SigCntDex then its count of attached signatures - qb64b is bytes of fully qualified crypto material - - When raw provided then validate that code is correct for length of raw - and assign .raw .code and .index - Else when either qb64 or qb2 provided then extract and assign .raw and .code - - */ - - if (raw) { - if (!(Buffer.isBuffer(raw) || Array.isArray(raw))) { - throw new Error(`Not a bytes or bytearray, raw= ${raw}.`); - } - const pad = this.getPad(raw); - - if (!((pad === 2 && Object.values(JSON.stringify(codeAndLength.SigTwoCodex)).includes(code)) - || (pad === 0 && Object.values(JSON.stringify(codeAndLength.SigCntCodex).includes(code)) - || (pad === 0 && Object.values(JSON.stringify(codeAndLength.SigFourCodex).includes(code)) - || (pad === 1 && Object.values(JSON.stringify(codeAndLength.SigFiveCodex).includes(code))))))) { - throw new Error(`Wrong code= ${code} for raw= ${raw} .`); - } - if ((Object.values(codeAndLength.SigTwoCodex).includes(code) - && (index < 0) || (index > codeAndLength.SIGTWOMAX)) - || (Object.values(codeAndLength.SigCntCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFOURMAX))) - || (Object.values(codeAndLength.SigFourCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFOURMAX))) - || (Object.values(codeAndLength.SigFiveCodex).includes(code) && ((index < 0) || (index > codeAndLength.SIGFIVEMAX)))) { - throw new Error(`Invalid index=${index} for code=${code}.`); - } - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - raw = raw.slice(0, codeAndLength.SigRawSizes[code]); - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if (raw.length !== codeAndLength.SigRawSizes[code]) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - throw new Error(`Unexpected raw size= ${raw.length} for code= ${code} - not size= ${codeAndLength.cryAllRawSizes[code]}.`); - } - this.getCode = code; - this.getIndex = index; - // @ts-expect-error ts-migrate(2769) FIXME: No overload matches this call. - this.getRaw = Buffer.from(raw, 'binary'); // crypto ops require bytes not bytearray - } else if (qb64b != null) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - qb64b = qb64b.toString('utf-8'); - this.exfil(qb64b); - } else if (qb64 != null) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - qb64 = qb64.toString('utf-8'); - this.exfil(qb64); - } else if (qb2 != null) { - // encodeB64(qb2).decode("utf-8") - this.exfil(Base64.encode(qb2)); - } else { - throw new Error('Improper initialization need raw or b64 or b2.'); - } - } - - // eslint-disable-next-line class-methods-use-this - getPad(raw: any) { - const reminder = Buffer.byteLength(raw, 'binary') % 3; - if (reminder === 0) return 0; - return 3 - reminder; - } - - exfil(qb64: any) { - const BASE64_PAD = '='; - if (qb64.length < MINSIGSIZE) // # Need more bytes - { throw new Error('Need more bytes.'); } - let cs = 1; // code size - let codeSlice = qb64.slice(0, cs); - codeSlice = codeSlice.toString(); - let index = 0; - - if (Object.values(codeAndLength.SigTwoCodex).includes(codeSlice)) { - qb64 = qb64.slice(0, codeAndLength.SigTwoSizes[codeSlice]); - cs += 1; - // @ts-expect-error ts-migrate(2322) FIXME: Type 'string | undefined' is not assignable to typ... Remove this comment to see the full error message - index = Object.keys(codeAndLength.b64ChrByIdx).find((key) => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 1, cs)); - } else if (codeSlice === codeAndLength.SigSelectCodex.four) { - cs += 1; - codeSlice = qb64.slice(0, cs); - if (!Object.values(codeAndLength.SigFourCodex).includes(codeSlice)) throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); - - qb64 = qb64.slice(0, codeAndLength.SigFourSizes[codeSlice]); - - cs += 2; - // @ts-expect-error ts-migrate(2322) FIXME: Type 'string | undefined' is not assignable to typ... Remove this comment to see the full error message - index = Object.keys(codeAndLength.b64ChrByIdx).find((key) => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)); - } else if (codeSlice === codeAndLength.SigSelectCodex.dash) { - cs += 1; - codeSlice = qb64.slice(0, cs); - if (!Object.values(codeAndLength.SigCntCodex).includes(codeSlice)) throw new Error(`Invalid derivation code = ${codeSlice} in ${qb64}.`); - - qb64 = qb64.slice(0, codeAndLength.SigCntSizes[codeSlice]); - cs += 2; - index = intToB64.b64ToInt(qb64.slice(cs - 2, cs)); - // Object.keys(codeAndLength.b64ChrByIdx).find(key => codeAndLength.b64ChrByIdx[key] === qb64.slice(cs - 2, cs)) - } else { - throw new Error(`Improperly coded material = ${qb64}`); - } - - if (qb64.length !== codeAndLength.SigSizes[codeSlice]) throw new Error(`Unexpected qb64 size= ${qb64.length} for code= ${codeSlice} not size= ${codeAndLength.cryAllSizes[codeSlice]}.`); - - const pad = cs % 4; - const base = qb64.slice(cs, qb64.length) + BASE64_PAD.repeat(pad); - // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. - const decodedBase = Base64.decode(base.toString('utf-8')); // Buffer.from(base, "utf-8") - if (decodedBase.length !== Math.floor(((qb64.length - cs) * 3) / 4)) { - throw new Error(`Improperly qualified material = ${qb64}`); - } - this.getCode = codeSlice; - this.getRaw = Buffer.from(decodedBase, 'binary'); - // @ts-expect-error ts-migrate(2345) FIXME: Argument of type 'number' is not assignable to par... Remove this comment to see the full error message - this.getIndex = parseInt(index); - this.getQb64 = qb64; // this.getQb64 - } - - infil() { - const l = codeAndLength.SigIdxSizes[this.getCode]; - const full = `${this.getCode}${intToB64.intToB64(this.getIndex, l)}`; - const pad = this.pad(); - // Validate pad for code length - if ((full).length % 4 !== pad) { - // Here pad is not the reminder of code length - throw new Error(`Invalid code = ${this.code()} for converted raw pad = ${this.pad()}.`); - } - // encodeURIComponent(Base64.encode(this._raw)) - - return (full + decodeURIComponent(Base64.encode(this.raw()))); - // .slice(0, -pad)) - } - - qb64() { - // qb64 = Qualified Base64 version,this will return qualified base64 version assuming - // self.raw and self.code are correctly populated - - return this.infil(); - } - - /** - * """ - Property qb64b: - Returns Fully Qualified Base64 Version encoded as bytes - Assumes self.raw and self.code are correctly populated - """ - */ - qb64b() { - return Buffer.from(this.qb64(), 'utf-8'); - } - - qb2() { - /* Property qb2: - Returns Fully Qualified Binary Version Bytes - redo to use b64 to binary decode table since faster - """ - # rewrite to do direct binary infiltration by - # decode self.code as bits and prepend to self.raw - */ - // Buffer.from(this.infil(), 'utf-8') - - return Base64.decode(Buffer.from(this.infil(), 'binary')).toString('utf-8'); - } - - raw() { - return this.getRaw; - } - - pad() { - return this.getPad(this.getRaw); - } - - code() { - return this.getCode; - } - - index() { - return this.getIndex; - } -} - -module.exports = { SigMat }; diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts index 51d6d151..2807bfd7 100644 --- a/src/keri/core/signer.ts +++ b/src/keri/core/signer.ts @@ -1,183 +1,113 @@ +import {EmptyMaterialError} from "./kering"; + export {}; -const libsodium = require('libsodium-wrappers-sumo'); -const { Crymat } = require('./cryMat'); -const derivationCodes = require('./derivationCodes'); -const { Verfer } = require('./verfer'); -const { Sigver } = require('./sigver'); -const { Siger } = require('./siger'); -const { range } = require('./utls'); +import libsodium from 'libsodium-wrappers-sumo'; +import {Matter} from './matter'; +import {MtrDex} from './matter'; +import {Verfer} from "./verfer"; +import {Cigar} from "./cigar"; +import {Siger} from "./siger"; +import {IdrDex} from "./indexer"; + /** - * @description Signer is CryMat subclass with method to create signature of serialization + * @description Signer is Matter subclass with method to create signature of serialization * It will use .raw as signing (private) key seed * .code as cipher suite for signing and new property .verfer whose property * .raw is public key for signing. * If not provided .verfer is generated from private key seed using .code - as cipher suite for creating key-pair. + as cipher suite for creating key-pair. */ +interface SignerArgs { + raw?: Uint8Array | undefined + code?: string + qb64b?: Uint8Array | undefined + qb64?: string + qb2?: Uint8Array | undefined + strip?: boolean + transferable?: boolean +} -export class Signer extends Crymat { - constructor( - raw?: Uint8Array, - code = derivationCodes.oneCharCode.Ed25519_Seed, - transferable = true, - qb64 = null, - ) { - let setVerfer; - let seedKeypair; - try { - - super(raw, qb64, null, code); - } catch (error) { - if (code === derivationCodes.oneCharCode.Ed25519_Seed) { - raw = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - raw = Buffer.from(raw, 'binary'); - super(raw, null, null, code); - } else { - throw new Error(`Unsupported signer code = ${code}.`); - } - } - if (code === derivationCodes.oneCharCode.Ed25519_Seed) { - this.getSign = this.ed25519; - if (raw == null) { - raw = this.raw(); - } - seedKeypair = libsodium.crypto_sign_seed_keypair(raw); - const verkey = Buffer.from(seedKeypair.publicKey, 'binary'); - - this.sigkey = Buffer.from(seedKeypair.privateKey, 'binary'); - if (transferable) { - setVerfer = new Verfer( - verkey, - null, - null, - derivationCodes.oneCharCode.Ed25519, - ); - } else { - setVerfer = new Verfer( - verkey, - null, - null, - derivationCodes.oneCharCode.Ed25519N, - ); - } - } else { - throw new Error( - `Unsupported signer code = ${derivationCodes.oneCharCode.Ed25519N}.`, - ); - } - this.getVerfer = setVerfer; - } +export class Signer extends Matter { + private readonly _sign + private readonly _verfer: Verfer - static async initLibsodium() { - await libsodium.ready; - } + constructor({raw, code = MtrDex.Ed25519_Seed, qb64, qb64b, qb2, transferable = true, strip = false}: SignerArgs) { + try { + super({raw, code, qb64, qb64b, qb2, strip}) + } catch (e) { + if (e instanceof EmptyMaterialError) { + if (code == MtrDex.Ed25519_Seed) { + let raw = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); + super({raw, code, qb64, qb64b, qb2, strip}) + } else { + throw new Error(`Unsupported signer code = ${code}.`) + } + } else { + throw e + } + } + let verfer + if (this.code == MtrDex.Ed25519_Seed) { + this._sign = this._ed25519 + const keypair = libsodium.crypto_sign_seed_keypair(this.raw) + verfer = new Verfer({raw: keypair.publicKey, code: transferable ? MtrDex.Ed25519 : MtrDex.Ed25519N}) + + } else { + throw new Error(`Unsupported signer code = ${this.code}.`) + } + + this._verfer = verfer - /** - * @description Property verfer: - Returns Verfer instance - Assumes ._verfer is correctly assigned - */ - verfer() { - return this.getVerfer; - } - - /** - * @description Returns either Sigver or Siger (indexed) instance of cryptographic - signature material on bytes serialization ser - - If index is None - return Sigver instance - Else - return Siger instance - - ser is bytes serialization - index is int index of associated verifier key in event keys - * @param {*} ser - * @param {*} index - */ - sign(ser: any, index = null) { - return this.getSign(ser, this.raw(), this.verfer(), index); - } - - /** - * @description Returns signature - * @param {*} ser ser is bytes serialization - * @param {*} seed seed is bytes seed (private key) - * @param {*} verfer verfer is Verfer instance. verfer.raw is public key - * @param {*} index index is index of offset into signers list or None - */ - // eslint-disable-next-line class-methods-use-this - ed25519(ser: any, seed: any, verfer: any, index: any) { - let sig = libsodium.crypto_sign_detached( - ser, - Buffer.concat([seed, verfer.raw()]), - ); - sig = Buffer.from(sig, 'binary'); - if (index == null) { - const response = new Sigver( - sig, - derivationCodes.twoCharCode.Ed25519, - verfer, - ); - response.setVerfer(verfer); - return response; } - const args = [sig, null, null, derivationCodes.SigTwoCodex.Ed25519]; - return new Siger(verfer, ...args); - } -} -/** - * @description Returns list of Signers for Ed25519 - * @param {*} root root is bytes 16 byte long root key (salt/seed) from - * which seeds for Signers - in list are derived - random root created if not provided - * @param {*} count count is number of signers in list - * @param {*} transferable transferable is boolean true means signer.verfer code is transferable - non-transferable otherwise - */ -async function generateSigners(root = null, count = 8) { - await libsodium.ready; - if (!root) { - root = libsodium.randombytes_buf(libsodium.crypto_pwhash_SALTBYTES); - } - const signers = []; - // @ts-expect-error ts-migrate(2461) FIXME: Type 'null' is not an array type. - let [path, seed] = null; - for (const i in range(count)) { - // @ts-expect-error ts-migrate(2554) FIXME: Expected 0 arguments, but got 1. - path = i.toString(16); - seed = libsodium.crypto_pwhash( - 32, - path, - root, - libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE, - libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE, - // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'alg'. - (alg = libsodium.crypto_pwhash_ALG_DEFAULT), - ); - signers.push(new Signer(seed)); - } - return signers; -} -/** - * @description Returns list of fully qualified Base64 secret seeds for Ed25519 private keys - * @param {*} root root is bytes 16 byte long root key (salt/seed) from which seeds for Signers - in list are derived - random root created if not provided - * @param {*} count count is number of signers in list + /** + * @description Property verfer: + Returns Verfer instance + Assumes ._verfer is correctly assigned */ -export function generateSecrets(root = null, count = 8) { - const signrs: any = []; - const signers = generateSigners(root, count); + get verfer(): Verfer { + return this._verfer; + } - for (const signer in signers) { - signrs.push[(signer as any).qb64()]; - } + sign(ser: Uint8Array, index: number | null = null, only: boolean = false, ondex: number | null = null) { + return this._sign(ser, this.raw, this.verfer, index, only, ondex) + } - return signrs; -} + _ed25519(ser: Uint8Array, seed: Uint8Array, verfer: Verfer, index: number | null, + only: boolean = false, ondex: number | null) { + + let sig = libsodium.crypto_sign_detached( + ser, + Buffer.concat([seed, verfer.raw]), + ); + + if (index == null) { + return new Cigar({raw: sig, code: MtrDex.Ed25519_Sig}, verfer); + } else { + let code; + if (only) { + ondex = null + if (index <= 63) { + code = IdrDex.Ed25519_Crt_Sig + } else { + code = IdrDex.Ed25519_Big_Crt_Sig + } + } else { + if(ondex == null) { + ondex = index + } + + if (ondex == index && index <= 63) // both same and small + code = IdrDex.Ed25519_Sig // use small both same + else // otherwise big or both not same so use big both + code = IdrDex.Ed25519_Big_Sig // use use big both + + } + + return new Siger({raw: sig, code: code, index: index, ondex: ondex, verfer: verfer}); + } + + } +} \ No newline at end of file diff --git a/src/keri/core/sigver.ts b/src/keri/core/sigver.ts deleted file mode 100644 index 56893702..00000000 --- a/src/keri/core/sigver.ts +++ /dev/null @@ -1,38 +0,0 @@ -export {}; - -const { Crymat } = require('./cryMat'); -const derivationCode = require('./derivationCodes'); - - -/** - * @description A Crymat subclass holding signature with verfer property - * Verfer verify signature of serialization - * .raw is signature and .code is signature cipher suite - * .verfer property to hold Verfer instance of associated verifier public key - */ -class Sigver extends Crymat { - constructor( - raw = null, - code = derivationCode.twoCharCode.Ed25519, - verfer = null, - index = 0, - qb64 = null, - ) { - // Assign verfer to .verfer attribute - super(raw, qb64, null, code, index); - this.getVerfer = verfer; - } - - /** - * @description this will return verfer instance - */ - verfer() { - return this.getVerfer; - } - - setVerfer(verfer: any) { - this.getVerfer = verfer; - } -} - -module.exports = { Sigver }; diff --git a/src/keri/core/utls.ts b/src/keri/core/utils.ts similarity index 84% rename from src/keri/core/utls.ts rename to src/keri/core/utils.ts index 2e3cabf1..e3106cb9 100644 --- a/src/keri/core/utls.ts +++ b/src/keri/core/utils.ts @@ -1,4 +1,5 @@ -function pad(n: any, width = 3, z = 0) { + +export function pad(n: any, width = 3, z = 0) { return (String(z).repeat(width) + String(n)).slice(String(n).length); } @@ -9,7 +10,7 @@ function pad(n: any, width = 3, z = 0) { * @param {*} ked ked is key event dict * @param {*} labels labels is list of element labels in ked from which to extract values */ -function extractValues(ked: any, labels: any) { +export function extractValues(ked: any, labels: any) { let values = []; for (let label of labels) { values = extractElementValues(ked[label], values); @@ -18,8 +19,12 @@ function extractValues(ked: any, labels: any) { return values; } - - +export function arrayEquals(ar1: Uint8Array, ar2: Uint8Array) { + return ( + ar1.length === ar2.length && + ar1.every((val, index) => val === ar2[index]) + ); +} /** * @description Recusive depth first search that recursively extracts value(s) from element @@ -65,7 +70,7 @@ function extractElementValues(element: any, values: any) { -function range(start: any, stop: any, step: any) { +export function range(start: any, stop: any, step: any) { if (typeof stop == 'undefined') { // one param defined stop = start; @@ -86,8 +91,4 @@ function range(start: any, stop: any, step: any) { } return result; -} - -module.exports = { - pad, extractValues, range, -}; +} \ No newline at end of file diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts index 161f14f2..1a3c9a71 100644 --- a/src/keri/core/verfer.ts +++ b/src/keri/core/verfer.ts @@ -1,52 +1,33 @@ export {}; const libsodium = require('libsodium-wrappers-sumo'); -const { Crymat } = require('./cryMat'); -const codeAndLength = require('./derivationCodes'); +const {Matter} = require('./matter'); +import {MatterArgs, MtrDex} from './matter'; /** - * @description Verfer :sublclass of crymat,helps to verify signature of serialization + * @description Verfer :sublclass of Matter,helps to verify signature of serialization * using .raw as verifier key and .code as signature cypher suite */ -export class Verfer extends Crymat { - verifySig: any; - // eslint-disable-next-line max-len - constructor(raw?: Buffer, qb64 = null, qb2 = null, qb64b = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0) { - super(raw, qb64, qb2, code, index); - this.qb64b = qb64b - if (Object.values(codeAndLength.oneCharCode.Ed25519N).includes(this.getCode) - || Object.values(codeAndLength.oneCharCode.Ed25519).includes(this.getCode)) { - this.verifySig = this.ed25519; - } else { - throw new Error(`Unsupported code = ${this.getCode} for verifier.`); +export class Verfer extends Matter { + constructor({raw, code, qb64, qb64b, qb2, strip}: MatterArgs) { + super({raw, code, qb64, qb64b, qb2, strip}); + + if (Array.from([MtrDex.Ed25519N, MtrDex.Ed25519]).includes(this.code)) { + this._verify = this._ed25519 + } else { + throw new Error(`Unsupported code = ${this.code} for verifier.`) + } } - } - /** - * - * @param {bytes} sig bytes signature - * @param {bytes} ser bytes serialization - */ - verify(sig: any, ser: any) { - return this.verifySig(sig, ser, this.raw()); - } + verify(sig: any, ser: any) { + return this._verify(sig, ser, this.raw) + } - /** - * @description This method will verify ed25519 signature on Serialization using public key - * @param {bytes} sig - * @param {bytes} ser - * @param {bytes} key - */ + _ed25519(sig: any, ser: any, key: any) { + try { + return libsodium.crypto_sign_verify_detached(sig, ser, key); - // eslint-disable-next-line class-methods-use-this - ed25519(sig: any, ser: any, key: any) { - try { - const result = libsodium.crypto_sign_verify_detached(sig, ser, key); - if (result) { - return true; - } - return false; - } catch (error:any) { - throw new Error(error); + } catch (error: any) { + throw new Error(error); + } } - } } diff --git a/src/keri/eventing/Kever.ts b/src/keri/eventing/Kever.ts deleted file mode 100644 index 923ba13a..00000000 --- a/src/keri/eventing/Kever.ts +++ /dev/null @@ -1,533 +0,0 @@ -// @ts-expect-error ts-migrate(6200) FIXME: Definitions of the following identifiers conflict ... Remove this comment to see the full error message -const { keys, times } = require('lodash'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Ilks'. -const { IcpLabels, IxnLabels, RotLabels, Ilks } = require('../core/core'); -const { snkey, Logger, dgkey } = require('../db/database'); -// const { LastEstLoc } = require('../../keri/eventing/util') -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Prefixer'. -const { Prefixer } = require('../core/prefixer'); -const { Nexter } = require('../core/nexter'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'isSorted'. -const { isSorted, hasDuplicates, TraitCodex } = require('./TraitCodex'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Serder'. -const { Serder } = require('../core/serder'); -const verfer = require('../core/verfer'); - -const codeAndLength = require('../core/derivationCodes'); - -/** - * """ - Kever is KERI key event verifier class - Only supports current version VERSION - - Has the following public attributes and properties: - - Class Attributes: - .EstOnly is Boolean - True means allow only establishment events - False means allow all events - - Attributes: - .version is version of current event state - .prefixer is prefixer instance for current event state - .sn is sequence number int - .diger is Diger instance with digest of current event not prior event - .ilk is str of current event type - .sith is int or list of current signing threshold - .verfers is list of Verfer instances for current event state set of signing keys - .nexter is qualified qb64 of next sith and next signing keys - .toad is int threshold of accountable duplicity - .wits is list of qualified qb64 aids for witnesses - .cnfg is list of inception configuration data mappings - .estOnly is boolean - .nonTrans is boolean - .lastEst is LastEstLoc namedtuple of int .sn and qb64 .dig of last est event - - Properties: - - .nonTransferable .nonTrans - - """ - */ - -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Kever'. -class Kever { - EstOnly: any; - cnfg: any; - dig: any; - diger: any; - estOnly: any; - ilk: any; - lastEst: any; - logger: any; - nexter: any; - nonTrans: any; - prefixer: any; - sith: any; - sn: any; - toad: any; - verfers: any; - version: any; - wits: any; - constructor(serder: any, sigers: any, estOnly = null, logger = null, flag = false) { - // var logger_ = null - if (logger == null) { - logger = new Logger().next().value; - } - // dber_gen.next().value - this.logger = logger; - this.version = serder.version(); // # version dispatch ? - this.verfers = serder.verfers(); //# converts keys to verifiers - this.EstOnly = false; - - for (const siger in sigers) { - if (sigers[siger]._index >= (this.verfers).length) { - throw new Error(`Index = ${(siger as any).index} too large for keys.`); - } - - sigers[siger].setVerfer(this.verfers[sigers[siger].index()]); //# assign verfer - } - - const ked = serder.ked(); - serder.set_ked(ked); - - for (const k in IcpLabels) { - if (!Object.keys(ked).includes(IcpLabels[k])) { - throw new Error(`Missing element = ${IcpLabels[k]} from ${Ilks.icp} event.`); - } - } - - const ilk = ked['ilk']; - if (ilk != Ilks.icp) { - throw new Error(`Expected ilk = ${Ilks.icp} got ${ilk}.`); - } - this.ilk = ilk; - const { sith } = ked; - if (typeof (sith) == 'string') { - this.sith = parseInt(sith, 16); - - if ((this.sith).length < 1 || (this.sith).length > (this.verfers).length) { - throw new Error(`Invalid sith = ${sith} for keys = ${this.verfers.qb64()}`); - } - } else { - throw new Error(`Unsupported type for sith = ${sith}`); - } - this.prefixer = new Prefixer(null, codeAndLength.oneCharCode.Ed25519N, null, null, null, ked.pre); - if (!this.prefixer.verify(ked, ked['pre'])) { - throw new Error(`Invalid prefix = ${this.prefixer.qb64()} for inception ked = ${ked['keys']}.`); - } - - const sn = ked['sn']; - if (sn.length > 32) { - throw new Error(`Invalid sn = ${sn} too large.`); - } - - try { - parseInt(sith, 16); - } catch (error) { - throw new Error(`Invalid sn = ${sn}`); - } - if (sn != 0) { - throw new Error(`Nonzero sn = ${sn} for inception ked = ${ked}.`); - } - this.sn = sn; - this.diger = serder.diger(); - - const nxt = ked['nxt']; - if (nxt) { - // let args = [nxt]; - this.nexter = new Nexter(null, null, null, null, nxt); - } else this.nexter = new Nexter(); - - if (!this.nexter) { - this.nonTrans = true; - } else { - this.nonTrans = false; - } - - const wits = ked['wits']; - if (hasDuplicates(wits)) { - throw new Error(`Invalid wits = ${wits}, has duplicates.`); - } - this.wits = wits; - - const toad = parseInt(ked['toad'], 16); - - if (wits) { - if (toad < 1 || toad > wits.length) { - `Invalid toad = ${toad} for wits = ${wits}`; - } - } else { - if (toad != 0) - throw `Invalid toad = ${toad} for wits = ${wits}`; - } - - this.toad = toad; - this.cnfg = ked['cnfg']; - - if (estOnly) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'true' is not assignable to type 'null'. - this.estOnly = estOnly = true; - } else { - this.estOnly = this.EstOnly = false; - } - - const traitcodex = new TraitCodex(); - for (const d in this.cnfg) { - // @ts-expect-error ts-migrate(7015) FIXME: Element implicitly has an 'any' type because index... Remove this comment to see the full error message - if ((Object.keys(JSON.stringify(d)).includes('trait')) && d['trait'] == traitcodex.EstOnly()) { - this.estOnly = true; - } - } - // # other wise agar estonly self.Estonly hai to false hai - // # need this to recognize recovery events and transferable receipts - const LastEstLoc = { sn: '', dig: '' }; - LastEstLoc.sn = this.sn; - LastEstLoc.dig = this.diger.qb64(); - this.lastEst = LastEstLoc; - if (!this.verifySigs(sigers, serder)) { - this.escrowEvent(serder, sigers, this.prefixer.qb64b(), this.sn); - throw new Error(`Failure verifying sith = ${this.sith} on sigs for ${sigers}`); - } - - this.logEvent(serder, sigers, flag); // # update logs - } - - /** - * @description : Not original inception event. So verify event serder and - indexed signatures in sigers and update state - * @param {*} serder - * @param {*} sigers - */ - - update(serder: any, sigers: any) { - if (this.nonTrans) { - throw new Error(`Unexpected event = ${serder} in nontransferable state.`); - } - const ked = serder.ked(); - - serder.set_ked(ked); - const pre = ked['pre']; - let sn = ked['sn']; - - if (sn.length > 32) { - throw new Error(`Invalid sn = ${sn} too large.`); - } - - try { - sn = parseInt(sn, 16); - } catch (error) { - throw new Error(`Invalid sn = ${sn}`); - } - if (sn === 0) { - throw new Error(`Zero sn = ${sn} for non=inception ked = ${ked}.`); - } - - const dig = ked['dig']; - const ilk = ked['ilk']; - if (pre !== this.prefixer.qb64()) - throw new Error(`Mismatch event aid prefix = ${pre} expecting = ${this.prefixer.qb64()}.`); - - if (ilk === Ilks.rot) { - for (const k in RotLabels) { - if (!(RotLabels[k] in ked)) - throw new Error(`Missing element = ${k} from ${Ilks.rot} event.`); - } - - if (sn > this.sn + 1) // Out of order event - { - throw new Error(`Out of order event sn = ${sn} expecting= ${this.sn + 1}.`); - } else if (sn <= this.sn) { - // # stale or recovery - // # stale events could be duplicitous - // # duplicity detection should have happend before .update called - // # so raise exception if stale - - if (sn <= this.lastEst.sn) { - throw new Error(`Stale event sn = ${sn} expecting= ${this.sn + 1}.`); - } else { - - if (this.ilk !== Ilks.ixn) { - throw new Error(`Invalid recovery attempt: Recovery at ilk = ${this.ilk} not ilk = ${Ilks.ixn}.`); - } - - const psn = sn - 1; // sn of prior event - this.logger = new Logger(); - const pdig = this.logger.getKeLast(snkey(pre, psn)); - - if (!pdig) { - throw new Error(`Invalid recovery attempt: Recovery at ilk = ${this.ilk} not ilk = ${Ilks.ixn}. `); - } - - const praw = this.logger.getEvt(dgkey(pre, pdig)); - if (!praw) { - throw new Error(`Invalid recovery attempt: Bad dig = ${pdig}.`); - } - - const pserder = new Serder(Buffer.from(praw, 'binary')); - if (dig != pserder.dig()) { - throw new Error(`Invalid recovery attempt: - Mismatch recovery event prior dig= ${dig} with dig = ${pserder.dig()} of event sn = ${psn}.`); - } - } - } else { - if (dig != this.diger.qb64()) { - throw new Error(`Mismatch event dig = ${dig} with state dig = ${this.dig.qb64()}.`); - } - } - - if (!this.nexter) { - throw new Error(`Attempted rotation for nontransferable prefix = ${this.prefixer.qb64()}`); - } - let sith = ked['sith']; - if (typeof (sith) == 'string') { - sith = parseInt(sith, 16); - if (sith < 1 || sith > (this.verfers).length) { - throw new Error(`Invalid sith = ${sith} for keys = ${verfer}`); - } - } else { - throw new Error(`Unsupported type for sith = ${sith}`); - } - - let keys = ked['keys']; - - if (!(this.nexter.verify(null, sith, keys))) { - throw new Error(`Mismatch nxt digest = ${this.nexter.qb64()} with rotation sith = ${sith}, keys = ${keys}.`); - } - - // # verify nxt from prior - // # also check derivation code of pre for non-transferable - // # check and - - // if (!this.nexter) { - // throw `Attempted rotation for nontransferable prefix = ${this.prefixer.qb64()}` - // } - const verfers = serder.verfers(); //# only for establishment events - - // sith = ked['sith'] - // if (typeof(sith) == 'string') { - // sith = parseInt(sith, 16) - // if (sith < 1 || sith > (this.verfers).length) { - // throw `Invalid sith = ${sith} for keys = ${this.verfers}` - // } - // } else { - // throw `Unsupported type for sith = ${sith}` - // } - - // keys = ked['keys'] - // if (!(this.nexter.verify(null, sith, keys))) { - // throw `Mismatch nxt digest = ${this.nexter.qb64()} with rotation sith = ${sith}, keys = ${keys}.` - // } - - const witset = removeDuplicates(this.wits); - const cuts = ked['cuts']; - const cutset = removeDuplicates(cuts); - if (cutset.length != cuts.length) { - throw new Error(`Invalid cuts = ${cuts}, has duplicates.`); - } - - if (witset != cutset && cutset != cutset) { - throw new Error(`Invalid cuts = ${cuts}, not all members in wits.`); - } - - const adds = ked['adds']; - const addset = removeDuplicates(adds); - if (addset.length != adds.length) { - throw new Error(`Invalid adds = ${adds}, has duplicates.`); - } - - if (cutset.length != 0 && addset.length != 0) { - throw new Error(`Intersecting cuts = ${cuts} and adds = ${adds}.`); - } - if (witset.length != 0 && addset.length != 0) { - throw new Error(`Intersecting witset = ${this.wits} and adds = ${adds}.`); - } - - const wits = witset.filter((n: any) => !cutset.includes(n)) || addset; - - if (wits.length != ((this.wits).length - cuts.length + adds.length)) { - throw new Error(`Invalid member combination among wits = ${this.wits}, cuts = ${cuts}, " - "and adds = ${adds}.`); - } - const toad = parseInt(ked['toad'], 16); - if (wits.length > 0) { - if (toad < 1 || toad > wits.length) { - throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); - } - } else { - if (toad != 0) - throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); - } - - for (const siger in sigers) { - if (sigers[siger].index() >= verfers.length) { - throw new Error(`Index = ${sigers[siger].index()} to large for keys.`); - } - - - sigers[siger].setVerfer(verfers[sigers[siger].index()]); - } - if (!this.verifySigs(sigers, serder)) { - throw new Error(`Failure verifying signatures = ${sigers} for ${serder}`); - } - if (!this.verifySith(sigers, sith)) { - this.escrowEvent(serder, sigers, this.prefixer.qb64b(), sn); - throw new Error(`Failure verifying sith = ${sith} on sigs for ${sigers}`); - } - - this.sn = sn; - this.diger = serder.diger(); - this.ilk = ilk; - this.sith = sith; - this.verfers = verfers; - const nxt = ked['nxt']; - - if (nxt) { - this.nexter = new Nexter(null, null, null, null, nxt); - if (!this.nexter) { - this.nonTrans = true; - } - } - this.toad = toad; - this.wits = wits; - const LastEstLoc = { sn: '', dig: '' }; - LastEstLoc.sn = this.sn; - LastEstLoc.dig = this.diger.qb64(); - this.lastEst = LastEstLoc; - - // @ts-expect-error ts-migrate(2554) FIXME: Expected 3 arguments, but got 2. - this.logEvent(serder, sigers); // # update logs - } else if (ilk === Ilks.ixn) { - if (this.estOnly) { - throw new Error(`Unexpected non-establishment event = ${this.estOnly}.`); - } - for (const k in IxnLabels) { - if (!(IxnLabels[k] in ked)) - throw new Error(`Missing element = ${IxnLabels[k]} from ${Ilks.ixn} event.`); - } - - if (!(sn == this.sn + 1)) // Out of order event - { - throw new Error(`Invalid sn = ${sn} expecting = ${this.sn + 1}.`); - } - if (dig != this.diger.qb64()) { - throw new Error(`Mismatch event dig = ${dig} with state dig = ${this.dig.qb64()}.`); - } - - // # interaction event use keys from existing Kever - // # use prior .verfers - // # verify indexes of attached signatures against verifiers - - for (const siger in sigers) { - if (sigers[siger].index() >= this.verfers.length) { - throw new Error(`Index = ${sigers[siger].index()} too large for keys.`); - } - // sigers[siger].verfer = this.verfers[sigers[siger].index()] //assign verfer - sigers[siger].setVerfer(this.verfers[sigers[siger].index()]); - } - - if (!this.verifySigs(sigers, serder)) { - throw new Error(`Failure verifying signatures = ${sigers} for ${serder}`); - } - - if (!this.verifySith(sigers)) { - this.escrowEvent(serder, sigers, this.prefixer.qb64b(), sn); - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'siger'. Did you mean 'sigers'? - throw new Error(`Failure verifying sith = ${siger} on sigs for ${sigers}`); - } - - // # update state - this.sn = sn; - this.diger = serder.diger(); - this.ilk = ilk; - - // @ts-expect-error ts-migrate(2554) FIXME: Expected 3 arguments, but got 2. - this.logEvent(serder, sigers); // # update logs - } else { - throw new Error(`Unsupported ilk = ${ilk}.`); - } - } - - /** - * @description Use verfer in each siger to verify signature against serder - Assumes that sigers with verfer already extracted correctly wrt indexes - * @param {*} sigers sigers is list of Siger instances - * @param {*} serder serder is Serder instance - */ - verifySigs(sigers: any, serder: any) { - try{ - for (const siger in sigers) { - - if (!(sigers[siger].verfer().verify(sigers[siger].raw(), serder.raw()))) { - return false; - } - } - }catch(e) { - throw new Error(`ERROR = ${e}`); - } - - if (sigers.length < 1) - return false; - - return true; - } - - /** - * @description Assumes that all sigers signatures were already verified - If sith not provided then use .sith instead - * @param {*} sigers sigers is list of Siger instances - * @param {*} serder serder is Serder instance - */ - verifySith(sigers: any, sith = null) { - if (!sith) { - sith = this.sith; - } - if (!(typeof (sith) == 'number')) { - throw new Error(`Unsupported type for sith =${sith}`); - } - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if (sigers.length < sith.length) { - return false; - } - return true; - } - - /** - * @description Update associated logs for verified event - * @param {*} sigers sigers is list of Siger instances - * @param {*} serder serder is Serder instance - */ - logEvent(serder: any, sigers: any, flag: any) { - const dgKey = dgkey(this.prefixer.qb64b(), this.diger.qb64b()); - const date = new Date(); - this.logger.putDts(dgKey, Buffer.from(date.toISOString(), 'binary')); - for (const k in sigers) { - this.logger.putSigs(dgKey, [sigers[k].qb64b()]); - } - this.logger.putEvt(dgKey, serder.raw()); - this.logger.addKe(snkey(this.prefixer.qb64b(), this.sn), this.diger.qb64b(), flag); - } - - /** - * @description Update associated logs for escrow of partially signed event - * @param {*} serder serder is Serder instance of event - * @param {*} sigers sigers is list of Siger instance for event - * @param {*} pre pre is str qb64 ofidentifier prefix of event - * @param {*} sn sn is int sequence number of event - */ - escrowEvent(serder: any, sigers: any, pre: any, sn: any) { - const dgKey = dgkey(pre, serder.digb()); - var date = new Date(); - this.logger.putDts(dgKey, Buffer.from(date.toISOString(), 'binary')); - for (const k in sigers) { - this.logger.putSigs(dgKey, [sigers[k].qb64b()]); - } - this.logger.putEvt(dgKey, serder.raw()); - this.logger.addPses(snkey(pre, sn), serder.digb()); - } -} - -function removeDuplicates(data: any) { - return data.filter((value: any, index: any) => data.indexOf(value) !== index); -} -module.exports = { Kever }; diff --git a/src/keri/eventing/TraitCodex.ts b/src/keri/eventing/TraitCodex.ts deleted file mode 100644 index 5ba2e176..00000000 --- a/src/keri/eventing/TraitCodex.ts +++ /dev/null @@ -1,342 +0,0 @@ -const { - Serials, versify, Ilks,Versionage -} = require('../core/core'); -const _ = require('lodash'); -const { Prefixer } = require('../core/prefixer'); -const { Serder } = require('../core/serder'); -const derivationCodeLength = require('../core/derivationCodes'); - -/** - * @description TraitCodex is codex of inception configuration trait code strings - Only provide defined codes. - Undefined are left out so that inclusion(exclusion) via 'in' operator works. - */ -export class TraitCodex { - - static readonly EstOnly = 'EO' - constructor() { } - - /** - * @description Returns serder of inception event message. - Utility function to automate creation of inception events. - */ - incept(keys: any, - code = null, - version = Versionage, - kind = Serials.json, - sith: number = 0, - nxt = '', - toad: number = 0, - wits: string[] = [], - cnfg = null, - ) { - let vs = versify(version, kind, 0); - let sn = 0; - let ilk = Ilks.icp; - let prefixer = null; - if (sith == null) { - sith = Math.max(1, Math.ceil(keys.length / 2)); - } - if (sith < 1 || sith > keys.length) { - throw new Error(`Invalid sith = ${sith} for keys = ${keys}`); - } - - - if (wits.length === 0) { - toad = 0; - } else { - toad = Math.max(1, Math.ceil(wits.length / 2)); - } - - if (wits.length !== 0) { - if (toad < 1 || toad > wits.length) { - throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); - } - } else { - if (toad !== 0) { - throw new Error(`Invalid toad = ${toad} for wits = ${wits}`); - } - } - - - if (!cnfg) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - cnfg = []; - } - - - let ked = { - vs: vs, // version string - pre: '', //# qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk: ilk, - sith: sith.toString(16), //# hex string no leading zeros lowercase - keys: keys, //# list of qb64 - nxt: nxt, //# hash qual Base64 - toad: toad.toString(16), // # hex string no leading zeros lowercase - wits: wits, // # list of qb64 may be empty - cnfg: cnfg, // # list of config ordered mappings may be empty - }; - if (code == null && keys.length === 1) { - prefixer = new Prefixer(null, derivationCodeLength.oneCharCode.Ed25519N, null, null, null, keys[0]); - } - else { - prefixer = new Prefixer(null, code, ked); - } - ked['pre'] = prefixer.qb64(); - return new Serder(null, ked); - } - - /** - * @description Returns serder of rotation event message. - Utility function to automate creation of rotation events. - */ - rotate(pre: any, - keys: any, - dig: any, sn = 1, - version = Versionage, - kind = Serials.json, - sith = null, - nxt = '', - toad = null, - wits = null, //# prior existing wits - cuts = null, - adds = null, - data = null, - ) { - let cutset: any; let addset = null; - let vs = versify(version, kind, 0); - let ilk = Ilks.rot; - - if (sn < 1) { - throw new Error(`Invalid sn = ${sn} for rot.`); - } - if (sith === null) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'number' is not assignable to type 'null'. - sith = Math.max(1, Math.ceil(keys.length / 2)); - } - if (typeof(sith) == 'number') { - if (sith < 1 || sith > keys.length) { - throw new Error(`Invalid sith = ${sith} for keys = ${keys}`); - } - } - else { - throw new Error(`invalid sith = ${sith}.`); - } - - - - if (!wits) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - wits = [];} - - let witset = wits; - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if ((witset).length !== wits.length) { - throw new Error(`Invalid wits = ${wits}, has duplicates.`); - } - - - - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - if (!cuts) cuts = []; - - cutset = cuts; - if(!(_.isEqual(witset,cutset))) { - throw new Error(`Invalid cuts = ${cuts}, not all members in wits.`); - } - - - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - if (!adds) adds = []; - - addset = adds; - - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if(addset.length !== adds.length ) { - throw new Error(`Invalid adds = ${adds}, has duplicates.`); - } - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if((cutset.length > 0) && (addset.length > 0)) { - throw new Error(`Intersecting cuts = ${cuts} and adds = ${adds}.`); - } - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if((witset.length > 0) && (addset.length > 0)) { - throw new Error(`Intersecting wits = ${wits} and adds = ${adds}.`); - } - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - let newitset = witset.filter((x: any) => !cutset.includes(x)); - - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if((newitset.length) !== (wits.length -cuts.length + adds.length) ) { - throw new Error( `Invalid member combination among wits = ${wits}, cuts = ${cuts},and adds = ${adds}.`); - } - - - - if(!toad) { - // @ts-expect-error ts-migrate(2322) FIXME: Type '0' is not assignable to type 'null'. - if(newitset.length === 0) {toad = 0;} - // @ts-expect-error ts-migrate(2322) FIXME: Type 'number' is not assignable to type 'null'. - else {toad = Math.max(1, Math.ceil(newitset.length / 2));} - } - if(newitset.length > 0) { - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - if(toad <1 || toad > newitset.length) { - throw new Error(`Invalid toad = ${toad} for resultant wits = ${newitset}`); - } - }else { - if(toad !== 0) { - throw new Error(`Invalid toad = ${toad} for resultant wits = ${newitset}`); - } - } - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - if (!data) data = []; - - let ked = { - vs: vs, // version string - pre: pre, //# qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk: ilk, - dig :dig, - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - sith: sith.toString(16), //# hex string no leading zeros lowercase - keys: keys, //# list of qb64 - nxt: nxt, //# hash qual Base64 - // @ts-expect-error ts-migrate(2531) FIXME: Object is possibly 'null'. - toad: toad.toString(16), // # hex string no leading zeros lowercase - cuts :cuts, // # list of qb64 may be empty - adds :adds, // # list of qb64 may be empty - data :data, // # list of seals // # list of config ordered mappings may be empty - }; - - return new Serder(null, ked); - } - - /** - * @description Returns serder of interaction event message. - Utility function to automate creation of interaction events. - */ - - interact(pre: any, - dig: any, - sn=1, - version=Versionage, - kind=Serials.json, - data=null, - ) { - let vs = versify(version, kind, 0); - //let sn = 0 - let ilk = Ilks.ixn; - - if (sn < 1) { - throw new Error(`Invalid sn = ${sn} for rot.`); - } - - - // @ts-expect-error ts-migrate(2322) FIXME: Type 'never[]' is not assignable to type 'null'. - if (!data) data = []; - - - let ked = { - v: vs, // version string - i: pre, //# qb64 prefix - s: sn.toString(16), // # hex string no leading zeros lowercase - t: ilk, - d :dig, - a :data, // # list of seals // # list of config ordered mappings may be empty - }; - return new Serder(null, ked); - } - - /** - * @description Returns serder of event receipt message for non-transferable receipter prefix. - Utility function to automate creation of interaction events. - * @param {*} pre pre is qb64 str of prefix of event being receipted - * @param {*} sn sn is int sequence number of event being receipted - * @param {*} dig dig is qb64 of digest of event being receipted - * @param {*} version version is Version instance of receipt - * @param {*} kind kind is serialization kind of receipt - */ - receipt(pre: any, - sn: any, - dig: any, - version=Versionage, - kind=Serials.json - ) { - let vs = versify(version, kind, 0); - //let sn = 0 - let ilk = Ilks.rct; - - if (sn < 1) { - throw new Error(`Invalid sn = ${sn} for rct.`); - } - - let ked = { - vs:vs, //# version string - pre:pre, //# qb64 prefix - ilk:ilk, //# Ilks.rct - sn:sn.toString(16), //# hex string no leading zeros lowercase - dig:dig, //# qb64 digest of receipted event - }; - - return new Serder(null, ked); - } - - /** - * @description Returns serder of validator event receipt message for transferable receipter - prefix. - Utility function to automate creation of interaction events. - * @param {string} pre pre is qb64 str of prefix of event being receipted - * @param {*} sn sn is int sequence number of event being receipted - * @param {*} dig dig is qb64 of digest of event being receipted - * @param {*} seal seal is namedTuple of SealEvent of receipter's last Est event - * @param {*} version version is Version instance of receipt - * @param {*} kind kind is serialization kind of receipt - */ - - chit(pre: any, - sn: any, - dig: any, - seal: any, - version=Versionage, - kind=Serials.json - ) { - let vs_ = versify(version, kind, 0); - //let sn = 0 - let ilk = Ilks.vrc; - if (sn < 1) { - `Invalid sn = ${sn} for vrc.`; - } - - let ked = { - vs :vs_, // # version string - pre:pre, //# qb64 prefix - ilk:ilk, //# Ilks.vrc - sn:sn.toString(16), // # hex string no leading zeros lowercase - dig:dig, // # qb64 digest of receipted event - seal:seal // # event seal: pre, dig - }; - return new Serder(null, ked); - } -} - -function isSorted(array: any) { - const limit = array.length - 1; - for (let i = 0; i < limit; i++) { - const current = array[i]; const next = array[i + 1]; - if (current > next) { return false; } - } - return true; -} - - -function hasDuplicates(array: any) { - return (new Set(array)).size !== array.length; -} - -module.exports = { isSorted, hasDuplicates, TraitCodex }; diff --git a/src/keri/eventing/index.ts b/src/keri/eventing/index.ts deleted file mode 100644 index 5d61a333..00000000 --- a/src/keri/eventing/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'Kever'. -const Kever = require('./Kever'); -// @ts-expect-error ts-migrate(2451) FIXME: Cannot redeclare block-scoped variable 'TraitCodex... Remove this comment to see the full error message -const TraitCodex = require('./TraitCodex'); -const kevery = require('./kevery'); -const util = require('./util'); - -module.exports = { - Kever, TraitCodex, kevery, util, -}; diff --git a/src/keri/eventing/kevery.ts b/src/keri/eventing/kevery.ts deleted file mode 100644 index e827dcb6..00000000 --- a/src/keri/eventing/kevery.ts +++ /dev/null @@ -1,564 +0,0 @@ - - - -// Kevery processes an incoming message stream and when appropriate generates -// an outgoing steam. When the incoming streams includes key event messages -// then Kevery acts putKes Kever (KERI key event verifier) factory. - -const { Serder } = require('../core/serder') -const derivationCodes = require('../core/derivationCode&Length') -const { Prefixer } = require('../core/prefixer') -const { Kever } = require('../eventing/Kever') -const { CryCounter } = require('../core/cryCounter') -const {Sigcounter} = require('../core/SigCounter') -const {Sigver} = require('../core/sigver') -const {Siger} = require('../core/siger') -const { Serials, Versionage, IcpLabels, Ilks } = require('../core/core') -// const {SealEvent} = require('../eventing/util') -const _ = require('lodash'); -import { range } from "lodash"; -const { Verfer } = require("../core/verfer"); -const { snkey, Logger, dgkey } = require('../db/index') -// Only supports current version VERSION - -// Has the following public attributes and properties: - -// Attributes: -// .ims is bytearray incoming message stream -// .oms is bytearray outgoing message stream -// .kevers is dict of existing kevers indexed by pre (qb64) of each Kever -// .logs is named tuple of logs -// .framed is Boolean stream is packet framed If True Else not framed -class Kevery { - framed: any; - ims: any; - kevers: any; - logger: any; - logger_: any; - oms: any; - - - constructor(ims = null, oms = null, kevers = null, logger = null, framed = true) { - - if (ims) { this.ims = ims } else { - this.ims = Buffer.alloc(256); - } - - if (oms) { this.oms = oms } else { - this.oms = Buffer.alloc(256); - } - - if (framed) { this.framed = true } else { - this.framed = false - } - - if (kevers) { this.kevers = kevers } else { - this.kevers = {} - } - - if (!logger) { - - this.logger_= new Logger().next().value - } - else { - this.logger = logger - } - - } - - - /** - * @description Process all messages from incoming message stream, ims, when provided -Otherwise process all messages from .ims - */ - processAll(ims = null) { - - if (ims) { - // @ts-expect-error ts-migrate(2358) FIXME: The left-hand side of an 'instanceof' expression m... Remove this comment to see the full error message - if (!(ims instanceof Buffer)) { - // @ts-expect-error ts-migrate(2322) FIXME: Type 'Buffer' is not assignable to type 'null'. - ims = Buffer.from(ims,'binary') - } - } - else { - ims = this.ims - } - let ims_ = [ims] - for (let i = 0 ; i < ims_.length ; i ++) { - try { - - this.processOne(ims_[i], this.framed,true) - } catch (error) { - console.log("\nERROR:",error) - throw error - } - } -} - - - /** - * @description Extract one msg with attached signatures from incoming message stream, ims - And dispatch processing of message - * @param {*} ims ims is bytearray of serialized incoming message stream. - May contain one or more sets each of a serialized message with - attached cryptographic material such as signatures or receipts. - - * @param {*} framed framed is Boolean, If True and no sig counter then extract signatures - until end-of-stream. This is useful for framed packets with - one event and one set of attached signatures per invocation. - */ - async processOne(ims: any, framed = true,flag = false) { - let serder, nsigs ,counter = null - let sigers = [] - - try { - serder = new Serder(ims) - let raw = serder.raw() - serder.set_raw(raw) - } catch (err) { - throw new Error(`Error while processing message stream = ${err}`); - } - - let version = serder.version() - - if (!_.isEqual(version, Versionage)) { - throw new Error(`Unsupported version = ${version}, expected ${Versionage}.`) - } - ims = ims.slice(serder.size(),ims.length) - let ilk = serder.ked()['ilk'] //# dispatch abased on ilk (Types of events) - let arr = [Ilks.icp, Ilks.rot, Ilks.ixn, Ilks.dip, Ilks.drt] - if (arr.includes(ilk)) { - - try { - counter = new Sigcounter(null, ims) - nsigs = counter.count() - ims = ims.slice((counter.qb64()).length, ims.length) - } catch (error) { - console.log("ERROR WHILE EXTRACTING SIGNATURES :",error) - nsigs = 0 - } - - // let sigers = [] - - if (nsigs) { - for (let i in range(nsigs)) { - // # check here for type of attached signatures qb64 or qb2 - let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] - var siger = new Siger(null,...args) - siger.setVerfer(siger.verfer()) - sigers.push(siger) - - ims = ims.slice(0, (siger.qb64()).length) - } - } - else { // iF THERE IS no info on attached sigs - if (framed) { //parse for signatures until end-of-stream - while (ims) { - let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] - siger = new Siger(null,...args) - sigers.push(siger) - ims = ims.slice(0, (siger.qb64()).length) - } - } - } - - if (!sigers) { - throw new Error(`Missing attached signature(s).`); - } - this.processEvent(serder, sigers,flag) - - } else if (ilk === Ilks.rct) { - try { - let counter = new CryCounter(null,ims) //# qb64 - let ncpts = counter.count() - ims = ims.slice(0, (counter.qb64()).length) - } catch (error) { - let ncpts = 0 - } - - // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'ncpts'. - if (ncpts) { - // @ts-expect-error ts-migrate(2304) FIXME: Cannot find name 'ncpts'. - for (let i in range(ncpts)) { - let verfer = new Verfer(null,ims) - ims = ims.slice(0, (verfer.qb64()).length) - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'derivation_code'. Did you mean '... Remove this comment to see the full error message - let sigver = new Sigver(null,derivation_code.twoCharCode.Ed25519,verfer,0,) - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigver'? - sigvers.push(sigver) - ims = ims.slice(0, (verfer.qb64()).length) - } - } else { - if (framed) { - while (ims) { - let verfer = new Verfer(ims) - ims = ims.slice(0, (verfer.qb64()).length) - - let sigver = new Sigver(ims, verfer) - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigver'? - sigvers.push(sigver) - - ims = ims.slice(0, (sigver.qb64()).length) - } - } - } - - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigers'? - if (!sigvers) - throw new Error(`Missing attached receipt couplet(s).`); - - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'sigvers'. Did you mean 'sigers'? - await this.processReceipt(serder, sigvers) - - - } else if (ilk === Ilks.vrc) { - let nsigs = null - try { - counter = new Sigcounter(null, ims,null,null,derivationCodes.SigCntCodex.Base64) //# qb64 - nsigs = counter.count() - - ims = ims.slice((counter.qb64()).length, ims.length) - } catch (error) { - console.log("Error :",error) - nsigs = 0 - } - - if (nsigs) { - - for (let i in range(nsigs)) { - let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] - let siger = new Siger(null,...args) - - siger.setVerfer(siger.verfer()) - sigers.push(siger) - ims = ims.slice(0, (siger.qb64()).length) - } - } else { - if (framed) { - while (ims) { - let args = [null,null,null,derivationCodes.SigTwoCodex.Ed25519,0,ims] - let siger = new Siger(null,...args) - sigers.push(siger) - ims = ims.slice(0, (siger.qb64()).length) - } - } - } - - if (!sigers) { - throw new Error(`Missing attached signature(s) to receipt.`) - } - this.processChit(serder, sigers) - } else { - throw new Error(`Unexpected message ilk = ${ilk}.`); - } - } - - - /** - * @description Process one event serder with attached indexd signatures sigers - * Receipt dict labels - vs # version string - pre # qb64 prefix - ilk # rct - dig # qb64 digest of receipted event - */ - async processEvent(serder: any, sigers: any,flag: any) { - let prefixer, dig, kever, dgkey_, sno = null - let signers: any = [] - let signers_icp: any = [] - let ked = serder.ked() - serder.set_ked(ked) - var date = new Date() - - try { - prefixer = new Prefixer(null, derivationCodes.oneCharCode.Ed25519N, null, null, null, ked["pre"]) - } catch (error) { - throw new Error(`Invalid pre = ${ked["pre"]}.`); - - } - - let pre = prefixer.qb64() - let ilk = ked["ilk"] - - let sn = ked['sn'] - if (sn.length > 32) { - throw new Error(`Invalid sn = ${sn} too large.`) - } - - try { - sn = parseInt(sn, 16) - } catch (error) { - throw new Error(`Invalid sn = ${sn}`); - } - - dig = serder.dig() - - - if (!(pre in this.kevers)) { - if (ilk == Ilks.icp) { - - kever = new Kever(serder,sigers, null,this.logger,flag) - - this.kevers[pre] = kever - } else { - dgkey_ = dgkey(pre, dig) - this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) - for(let siger in sigers){ - signers[siger] = sigers[siger].qb64b() - } - - - this.logger.putSigs(dgkey_,signers) - this.logger.putEvt(dgkey_, serder.raw()) - this.logger.addOoe(snkey(pre, sn), dig) - } - } - else { - if (ilk == Ilks.icp) { - dgkey_ = dgkey(pre, dig) - this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) - for(let siger in sigers){ - signers_icp[siger] = sigers[siger].qb64b() - } - this.logger.putSigs(dgkey_, signers_icp) - this.logger.putEvt(dgkey_, serder.raw()) - this.logger.addLde(snkey(pre, sn), dig) - } else { - kever = this.kevers[pre] // # get existing kever for pre - sno = kever.sn + 1 //# proper sn of new inorder event - if (sn > sno) // # sn later than sno so out of order escrow - { - dgkey_ = dgkey(pre, dig) - this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) - - for(let siger in sigers){ - signers[siger] = sigers[siger].qb64b() - } - this.logger.putSigs(dgkey_, signers) - this.logger.putEvt(dgkey_, serder.raw()) - this.logger.addOoe(snkey(pre, sn), dig) - } else if ((sn == sno) || - (ilk == Ilks.rot && kever.lastEst.sn < sn <= sno)) { - kever.update(serder, sigers,null,null,flag) - - } else { - dgkey_= dgkey(pre, dig) - this.logger.putDts(dgkey_, Buffer.from(date.toISOString(),'binary')) - - for(let siger in sigers){ - signers[siger] = sigers[siger].qb64b() - } - this.logger.putSigs(dgkey_,signers) - this.logger.putEvt(dgkey_, serder.raw()) - this.logger.addLde(snkey(pre, sn), dig) - } - } - - - } - - } - - - - /** - * @description Process one receipt serder with attached sigvers - * @param {*} serder - * @param {*} sigvers - */ - async processReceipt(serder: any, sigvers: any){ - - let ked = serder.ked() - let pre = ked["pre"] - let sn = ked["sn"] - let dig,snkey,ldig,eserder,couplet = null - if(sn.length > 32){ - throw new Error(`Invalid sn = ${sn} too large.`) - } - try{ - sn = parseInt(sn,16) - }catch(error){ - throw new Error(`Invalid sn = ${sn}`) - } - - dig = ked["dig"] - // # Only accept receipt if for last seen version of event at sn - // @ts-expect-error ts-migrate(2722) FIXME: Cannot invoke an object which is possibly 'undefin... Remove this comment to see the full error message - snkey = await snkey(pre, sn) - ldig = await this.logger.getKeLast(snkey) // retrieve dig of last event at sn. - - - // # retrieve event by dig - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'dgKey'. Did you mean 'dgkey_'? - let dgkey_ = dgKey(pre, dig) - let raw = (self as any).logger.getEvt(dgkey_); //# retrieve receipted event at dig - //# retrieve receipted event at dig - - if(ldig){ - - ldig = ldig.toString('utf-8') - if(ldig !== dig){ - throw new Error(`Stale receipt at sn = ${ked["sn"]}`) - } - - eserder = new Serder(Buffer.from(raw,'binary')) - - for(let sigver of sigvers) { - if(!sigver.verfer.nontrans){ - {} - } - if(sigver.verfer.verify(sigver.raw(), eserder.raw())){ - couplet = sigver.verfer.qb64b() + sigver.qb64b() - this.logger.addRct(dgkey, couplet) - } - - } - }else { - if(raw){ - - throw new Error(`Bad receipt for sn = ${ked["sn"]} and dig = ${dig }.`) - } - - for(let sigver of sigvers){ - if(!sigver.verfer.nontrans){ - {} - } - // @ts-expect-error ts-migrate(2532) FIXME: Object is possibly 'undefined'. - if(sigver.verfer.verify(sigver.raw(), eserder.raw())){ - - couplet = sigver.verfer.qb64b() + sigver.qb64b() - this.logger.addUre(dgkey, couplet) - } - - } - } - } - - - - /** - * @description Process one transferable validator receipt (chit) serder with attached sigers - * @param {} serder serder is chit serder (transferable validator receipt message) - * @param {*} sigers sigers is list of Siger instances that contain signature - - */ - processChit(serder: any, sigers: any){ - let SealEvent = {pre:"" ,dig: ""} - let dig,seal,sealet,snKey_,dgKey_,ldig,raw,rekever,triplet = null - let ked = serder.ked() - serder.set_ked(ked) - - // serder.set_raw(serder.raw()) - let pre = ked["pre"] - let sn = ked["sn"] - - if(sn.length > 32){ - throw new Error(`Invalid sn = ${sn} too large.`); - } - - try{ - sn = parseInt(sn,16) - }catch(error){ - throw new Error(`Invalid sn = ${sn}`) - } - dig = ked["dig"] - SealEvent.pre = ked["seal"].pre - SealEvent.dig = ked["seal"].dig - // seal = SealEvent - sealet = [Buffer.from(SealEvent.pre,'binary'), Buffer.from(SealEvent.dig,'binary')] - sealet = Buffer.concat(sealet) - - snKey_ = snkey(pre,sn) - ldig = this.logger.getKeLast(snKey_) // # retrieve dig of last event at sn - dgKey_ = dgkey(pre,dig) - raw = this.logger.getEvt(dgKey_) // # retrieve receipted event at dig - if(ldig != null && ldig !== false ){ - - ldig = ldig.toString() - if((ldig !== dig)){ - throw new Error(`Stale receipt at sn = ${dig}, ${ldig} ${ked["seal"].dig}`) - } - } - else { - if(raw !=null){ - throw new Error(`Bad receipt for sn = ${ked["sn"]} and dig = ${dig}.`) - } - - } - - - - if (ldig != null && raw !=null && SealEvent.pre in this.kevers){ - rekever = this.kevers[SealEvent.pre] - - if (rekever.lastEst.dig !== SealEvent.dig) - throw new Error(`Stale receipt for pre = ${SealEvent.pre} dig = ${SealEvent.dig} from validator = ${SealEvent.pre}.`); - - - for (let siger in sigers ){ - if(sigers[siger].index() >=(rekever.verfers).length){ - throw new Error(`Index = ${sigers[siger].index} to large for keys.`) - } - sigers[siger].setVerfer(rekever.verfers[sigers[siger].index()] ) - if(sigers[siger].verfer().verify(sigers[siger].raw(), raw)){ - triplet = [sealet , sigers[siger].qb64b()] - triplet = Buffer.concat(triplet) - this.logger.addVrc(dgKey_,triplet) - } - } - }else { - for (let siger in sigers ){ - triplet = sealet + sigers[siger].qb64b() - this.logger.addVre(dgKey_, triplet) - } - } - - } - - - - - /** - * @description Processes potential duplicitous events in PDELs - - Handles duplicity detection and logging if duplicitous - - * @param {*} serder - * @param {*} sigers - */ - duplicity(serder: any, sigers: any){ - - // @ts-expect-error ts-migrate(2461) FIXME: Type 'null' is not an array type. - let [prefixer,pre,ked,ilk,sn,dig] = null - let ked1 = serder.ked - - try{ - prefixer = new Prefixer(null,null,null,null,null,ked["pre"]) - }catch(err){ -throw new Error(`Invalid pre = ${ked["pre"]}.`); - } - - pre = prefixer.qb64 - ked = serder.ked - ilk = ked["ilk"] - - try{ - sn = parseInt(ked["sn"], 16) - }catch(err){ - throw new Error(`Invalid sn = ${ked["sn"]}`) - } - dig = serder.dig - - - - if (ilk === Ilks.icp){ - // @ts-expect-error ts-migrate(2552) FIXME: Cannot find name 'siger'. Did you mean 'sigers'? - let kever = new Kever(serder, siger, (self as any).logger); - }else { - {} - } - - } -} - -module.exports = {Kevery} \ No newline at end of file diff --git a/src/keri/eventing/tsconfig.json b/src/keri/eventing/tsconfig.json deleted file mode 100644 index 83b5f573..00000000 --- a/src/keri/eventing/tsconfig.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Projects */ - // "incremental": true, /* Enable incremental compilation */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ - // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "resolveJsonModule": true, /* Enable importing .json files */ - // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ - // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ - // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} diff --git a/src/keri/eventing/util.ts b/src/keri/eventing/util.ts deleted file mode 100644 index 9cd7709d..00000000 --- a/src/keri/eventing/util.ts +++ /dev/null @@ -1,40 +0,0 @@ -// # Location of last establishment key event: sn is int, dig is qb64 digest - -const LastEstLoc = { - sn: '', - dig: '', -}; -// # for the following Seal namedtuples use the ._asdict() method to convert to dict -// # when using in events - -// # Digest Seal: dig is qb64 digest of data - -const SealDigest = { - - dig: '', -}; -// # Root Seal: root is qb64 digest that is merkle tree root of data tree - -const SealRoot = { - root: '', -}; -// # Event Seal: pre is qb64 of identifier prefix of KEL, dig is qb64 digest of event - -const SealEvent = { - pre: '', - dig: '', -}; - -// # Event Location Seal: pre is qb64 of identifier prefix of KEL, -// # sn is hex string, ilk is str, dig is qb64 of prior event digest - -const SealLocation = { - pre: '', - dig: '', - sn: '', - -}; - -module.exports = { - LastEstLoc, SealDigest, SealRoot, SealEvent, SealLocation, -}; diff --git a/src/keri/help/stringToBinary.ts b/src/keri/help/stringToBinary.ts deleted file mode 100644 index af81d455..00000000 --- a/src/keri/help/stringToBinary.ts +++ /dev/null @@ -1,63 +0,0 @@ -const derivationCodeLength = require('../core/derivationCodes'); - -export function string2Bin(s: string) { - let b = new Array(); - let last = s.length; - - for (let i = 0; i < last; i++) { - let d = s.charCodeAt(i); - if (d < 128) - b[i] = dec2Bin(d); - else { - b[i] = -1; - } - } - return b; -} - -export function dec2Bin(d: number) { - var b = ''; - - for (var i = 0; i < 8; i++) { - b = (d % 2) + b; - d = Math.floor(d / 2); - } - - return b; -} - -export function intToB64(i: number, l = 1) { - const queue = []; - queue.unshift(derivationCodeLength.b64ChrByIdx[i % 64]); - i = Math.floor(i / 64); - if (i > 0) { - for (let k = 0; k <= i; k++) { - queue.unshift(derivationCodeLength.b64ChrByIdx[i % 64]); - i = Math.floor(i / 64); - } - } - - const {length} = queue; - - for (let j = 0; j < l - length; j++) { - queue.unshift(derivationCodeLength.b64ChrByIdx[j % 64]); - } - return queue.join(''); -} -/** - * @description Returns conversion of Base64 str cs to int - * @param {} cs - */ -export function b64ToInt(cs: string) { - let i = 0; - - const splitString = cs.split(''); - const reverseArray = splitString.reverse(); - - for (const entriesKey in reverseArray.entries()) { - const keyOfValue = Object.keys(derivationCodeLength.b64ChrByIdx)?.find(key => derivationCodeLength.b64ChrByIdx[key] === entriesKey[1]); - i += parseInt(keyOfValue!) * 64 ** parseInt(entriesKey[0]); - } - - return i; -} diff --git a/test/core/decrypter.test.ts b/test/core/decrypter.test.ts new file mode 100644 index 00000000..73e1723e --- /dev/null +++ b/test/core/decrypter.test.ts @@ -0,0 +1,122 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {Signer} from "../../src/keri/core/signer"; +import {Matter, MtrDex} from "../../src/keri/core/matter"; +import {strict as assert} from "assert"; +import {Salter} from "../../src/keri/core/salter"; +import {Decrypter} from "../../src/keri/core/decrypter"; +import {Encrypter} from "../../src/keri/core/encrypter"; +import {TextEncoder} from 'util' + + +describe('Decrypter', () => { + it('should decrypt stuff', async () => { + await libsodium.ready; + + // (b'\x18;0\xc4\x0f*vF\xfa\xe3\xa2Eee\x1f\x96o\xce)G\x85\xe3X\x86\xda\x04\xf0\xdc\xde\x06\xc0+') + let seed = new Uint8Array([24, 59, 48, 196, 15, 42, 118, 70, 250, 227, 162, 69, 101, 101, 31, 150, 111, 206, 41, 71, 133, 227, 88, 134, 218, 4, 240, 220, 222, 6, 192, 43]) + + let signer = new Signer({raw: seed, code: MtrDex.Ed25519_Seed}) + assert.equal(signer.verfer.code, MtrDex.Ed25519) + assert.equal(signer.verfer.transferable, true) // default + let seedqb64 = signer.qb64 + let seedqb64b = signer.qb64b + assert.equal(seedqb64, 'ABg7MMQPKnZG-uOiRWVlH5ZvzilHheNYhtoE8NzeBsAr') + + // also works for Matter + assert.deepStrictEqual(seedqb64b, new Matter({raw: seed, code: MtrDex.Ed25519_Seed}).qb64b) + + // raw = b'6\x08d\r\xa1\xbb9\x8dp\x8d\xa0\xc0\x13J\x87r' + let raw = new Uint8Array([54, 8, 100, 13, 161, 187, 57, 141, 112, 141, 160, 192, 19, 74, 135, 114]) + let salter = new Salter({raw: raw, code: MtrDex.Salt_128}) + assert.equal(salter.code, MtrDex.Salt_128) + let saltqb64 = salter.qb64 + let saltqb64b = salter.qb64b + assert.deepStrictEqual(saltqb64, '0AA2CGQNobs5jXCNoMATSody') + + // also works for Matter + assert.deepStrictEqual(saltqb64b, new Matter({raw: raw, code: MtrDex.Salt_128}).qb64b) + + // cryptseed = b'h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf' + let cryptseed = new Uint8Array([104, 44, 35, 124, 138, 112, 34, 18, 196, 51, 116, 50, 166, 225, 24, 25, 240, 102, 50, 44, 121, 196, 194, 49, 64, 245, 64, 21, 46, 162, 26, 207]) + let cryptsigner = new Signer({raw: cryptseed, code: MtrDex.Ed25519_Seed, transferable: true}) + let keypair = libsodium.crypto_sign_seed_keypair(cryptseed) // raw + let pubkey = libsodium.crypto_sign_ed25519_pk_to_curve25519(keypair.publicKey) + let prikey = libsodium.crypto_sign_ed25519_sk_to_curve25519(keypair.privateKey) + + assert.throws(function() { + new Decrypter({}) + }); + + // create encrypter + let encrypter = new Encrypter({raw: pubkey}) + assert.equal(encrypter.code, MtrDex.X25519) + assert.equal(encrypter.qb64, 'CAF7Wr3XNq5hArcOuBJzaY6Nd23jgtUVI6KDfb3VngkR') + assert.deepStrictEqual(encrypter.raw, pubkey) + + // create cipher of seed + let seedcipher = encrypter.encrypt(seedqb64b) + assert.equal(seedcipher.code, MtrDex.X25519_Cipher_Seed) + // each encryption uses a nonce so not a stable representation for testing + + // create decrypter from prikey + let decrypter = new Decrypter({raw: prikey}) + assert.equal(decrypter.code, MtrDex.X25519_Private) + assert.equal(decrypter.qb64, 'OLCFxqMz1z1UUS0TEJnvZP_zXHcuYdQsSGBWdOZeY5VQ') + assert.deepStrictEqual(decrypter.raw, prikey) + + // decrypt seed cipher using ser + let designer = decrypter.decrypt(seedcipher.qb64b, null, signer.verfer.transferable) + assert.deepStrictEqual(designer.qb64b, seedqb64b) + assert.equal(designer.code, MtrDex.Ed25519_Seed) + assert.equal(designer.verfer.code, MtrDex.Ed25519) + assert.equal(signer.verfer.transferable, true) + + // decrypt seed cipher using cipher + designer = decrypter.decrypt(null, seedcipher, signer.verfer.transferable) + assert.deepStrictEqual(designer.qb64b, seedqb64b) + assert.equal(designer.code, MtrDex.Ed25519_Seed) + assert.equal(designer.verfer.code, MtrDex.Ed25519) + assert.equal(signer.verfer.transferable, true) + + // create cipher of salt + let saltcipher = encrypter.encrypt(saltqb64b) + assert.equal(saltcipher.code, MtrDex.X25519_Cipher_Salt) + // each encryption uses a nonce so not a stable representation for testing + + // decrypt salt cipher using ser + let desalter = decrypter.decrypt(saltcipher.qb64b) + assert.deepStrictEqual(desalter.qb64b, saltqb64b) + assert.equal(desalter.code, MtrDex.Salt_128) + + // decrypt salt cipher using cipher + desalter = decrypter.decrypt(null, saltcipher) + assert.deepStrictEqual(desalter.qb64b, saltqb64b) + assert.equal(desalter.code, MtrDex.Salt_128) + + // use previously stored fully qualified seed cipher with different nonce + // get from seedcipher above + let cipherseed = 'PM9jOGWNYfjM_oLXJNaQ8UlFSAV5ACjsUY7J16xfzrlpc9Ve3A5WYrZ4o_NHtP5lhp78Usspl9fyFdnCdItNd5JyqZ6dt8SXOt6TOqOCs-gy0obrwFkPPqBvVkEw' + designer = decrypter.decrypt(new TextEncoder().encode(cipherseed), null, signer.verfer.transferable) + assert.deepStrictEqual(designer.qb64b, seedqb64b) + assert.equal(designer.code, MtrDex.Ed25519_Seed) + assert.equal(designer.verfer.code, MtrDex.Ed25519) + + // use previously stored fully qualified salt cipher with different nonce + // get from saltcipher above + let ciphersalt = '1AAHjlR2QR9J5Et67Wy-ZaVdTryN6T6ohg44r73GLRPnHw-5S3ABFkhWyIwLOI6TXUB_5CT13S8JvknxLxBaF8ANPK9FSOPD8tYu' + desalter = decrypter.decrypt(new TextEncoder().encode(ciphersalt)) + assert.deepStrictEqual(desalter.qb64b, saltqb64b) + assert.equal(desalter.code, MtrDex.Salt_128) + + // Create new decrypter but use seed parameter to init prikey + decrypter = new Decrypter({}, cryptsigner.qb64b) + assert.equal(decrypter.code, MtrDex.X25519_Private) + assert.equal(decrypter.qb64, 'OLCFxqMz1z1UUS0TEJnvZP_zXHcuYdQsSGBWdOZeY5VQ') + assert.deepStrictEqual(decrypter.raw, prikey) + + // decrypt ciphersalt + desalter = decrypter.decrypt(saltcipher.qb64b) + assert.deepStrictEqual(desalter.qb64b, saltqb64b) + assert.equal(desalter.code, MtrDex.Salt_128) + }); +}); \ No newline at end of file diff --git a/test/core/diger.test.ts b/test/core/diger.test.ts index 63cc3275..ada59308 100644 --- a/test/core/diger.test.ts +++ b/test/core/diger.test.ts @@ -1,9 +1,10 @@ -const Base64 = require('urlsafe-base64'); +import {Matter} from "../../src/keri/core/matter"; + const blake3 = require('blake3'); import {strict as assert} from "assert"; const { Diger } = require('../../src/keri/core/diger'); -const derivationCodes = require('../../src/keri/core/derivationCodes'); +const { MtrDex } = require('../../src/keri/core/matter'); describe('Diger', () => { @@ -11,15 +12,15 @@ describe('Diger', () => { // Create something to digest and verify const ser = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789', 'binary'); const hasher = blake3.createHash(); - const dig = blake3.hash(ser); - console.log(Base64.encode(dig)) const digest = hasher.update(ser).digest(''); - let diger = new Diger(digest); - assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + let diger = new Diger({raw: digest}); + assert.deepStrictEqual(diger.code, MtrDex.Blake3_256); + + let sizage = Matter.Sizes.get(diger.code) assert.deepStrictEqual( - diger.raw().length, - derivationCodes.CryOneRawSizes[diger.code()], + diger.qb64.length, + sizage!.fs, ); let result = diger.verify(ser); assert.equal(result, true); @@ -28,20 +29,26 @@ describe('Diger', () => { Buffer.concat([ser, Buffer.from('2j2idjpwjfepjtgi', 'binary')]), ); assert.equal(result, false); - diger = new Diger(digest, null, derivationCodes.oneCharCode.Blake3_256); - assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + diger = new Diger({raw: digest, code: MtrDex.Blake3_256}); + assert.deepStrictEqual(diger.code, MtrDex.Blake3_256); + + console.log(diger.qb64) + assert.equal(diger.qb64, "ELC5L3iBVD77d_MYbYGGCUQgqQBju1o4x1Ud-z2sL-ux"); + sizage = Matter.Sizes.get(diger.code) assert.deepStrictEqual( - diger.raw().length, - derivationCodes.CryOneRawSizes[diger.getCode], + diger.qb64.length, + sizage!.fs, ); + result = diger.verify(ser); assert.equal(result, true); - diger = new Diger(null, ser); - assert.deepStrictEqual(diger.code(), derivationCodes.oneCharCode.Blake3_256); + diger = new Diger({}, ser); + assert.equal(diger.qb64, "ELC5L3iBVD77d_MYbYGGCUQgqQBju1o4x1Ud-z2sL-ux"); + sizage = Matter.Sizes.get(diger.code) assert.deepStrictEqual( - diger.raw().length, - derivationCodes.CryOneRawSizes[diger.code()], + diger.qb64.length, + sizage!.fs, ); result = diger.verify(ser); assert.equal(result, true); diff --git a/test/core/encrypter.test.ts b/test/core/encrypter.test.ts new file mode 100644 index 00000000..82d59935 --- /dev/null +++ b/test/core/encrypter.test.ts @@ -0,0 +1,64 @@ +import {Matter} from "../../src/keri/core/matter"; + +import {strict as assert} from "assert"; +const { MtrDex } = require('../../src/keri/core/matter'); +import {TextDecoder} from 'util' +import libsodium from "libsodium-wrappers-sumo"; +import {Signer} from "../../src/keri/core/signer"; +import {Encrypter} from "../../src/keri/core/encrypter"; +import {Verfer} from "../../src/keri/core/verfer"; + + +describe('Encrypter', () => { + it('should encrypt stuff', async () => { + await libsodium.ready; + + // (b'\x18;0\xc4\x0f*vF\xfa\xe3\xa2Eee\x1f\x96o\xce)G\x85\xe3X\x86\xda\x04\xf0\xdc\xde\x06\xc0+') + let seed = new Uint8Array([24, 59, 48, 196, 15, 42, 118, 70, 250, 227, 162, 69, 101, 101, 31, 150, 111, 206, 41, 71, 133, 227, 88, 134, 218, 4, 240, 220, 222, 6, 192, 43]) + let seedqb64b = new Matter({raw: seed, code: MtrDex.Ed25519_Seed}).qb64b + + assert.equal(new TextDecoder().decode(seedqb64b), 'ABg7MMQPKnZG-uOiRWVlH5ZvzilHheNYhtoE8NzeBsAr') + + // b'6\x08d\r\xa1\xbb9\x8dp\x8d\xa0\xc0\x13J\x87r' + let salt = new Uint8Array([54, 8, 100, 13, 161, 187, 57, 141, 112, 141, 160, 192, 19, 74, 135, 114]) + let saltqb64 = new Matter({raw: salt, code: MtrDex.Salt_128}).qb64 + let saltqb64b = new Matter({raw: salt, code: MtrDex.Salt_128}).qb64b + assert.equal(saltqb64, '0AA2CGQNobs5jXCNoMATSody'); + + // b'h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf' + let cryptseed = new Uint8Array([104, 44, 35, 124, 138, 112, 34, 18, 196, 51, 116, 50, 166, 225, 24, 25, 240, 102, 50, 44, 121, 196, 194, 49, 64, 245, 64, 21, 46, 162, 26, 207]) + let cryptsigner = new Signer({raw: cryptseed, code: MtrDex.Ed25519_Seed, transferable: true}) + let keypair = libsodium.crypto_sign_seed_keypair(cryptseed) // raw + let pubkey = libsodium.crypto_sign_ed25519_pk_to_curve25519(keypair.publicKey) + let prikey = libsodium.crypto_sign_ed25519_sk_to_curve25519(keypair.privateKey) + + assert.throws(function() { + new Encrypter({}) + }) + + let encrypter = new Encrypter({raw: pubkey}) + assert.equal(encrypter.code,MtrDex.X25519) + assert.equal(encrypter.qb64, 'CAF7Wr3XNq5hArcOuBJzaY6Nd23jgtUVI6KDfb3VngkR') + assert.deepStrictEqual(encrypter.raw, pubkey) + assert.equal(encrypter.verifySeed(cryptsigner.qb64b), true) + + let cipher = encrypter.encrypt(seedqb64b) + assert.equal( cipher.code, MtrDex.X25519_Cipher_Seed) + let uncb = libsodium.crypto_box_seal_open(cipher.raw, encrypter.raw, prikey) + assert.deepStrictEqual(uncb, seedqb64b) + + cipher = encrypter.encrypt(saltqb64b) + assert.equal(cipher.code, MtrDex.X25519_Cipher_Salt) + uncb = libsodium.crypto_box_seal_open(cipher.raw, encrypter.raw, prikey) + assert.deepStrictEqual(uncb, saltqb64b) + + let verfer = new Verfer({raw: keypair.publicKey, code: MtrDex.Ed25519}) + + encrypter = new Encrypter({}, verfer.qb64b) + assert.equal(encrypter.code, MtrDex.X25519) + assert.equal(encrypter.qb64, 'CAF7Wr3XNq5hArcOuBJzaY6Nd23jgtUVI6KDfb3VngkR') + assert.deepStrictEqual(encrypter.raw, pubkey) + + + }); +}); diff --git a/test/core/matter.test.ts b/test/core/matter.test.ts new file mode 100644 index 00000000..4e951249 --- /dev/null +++ b/test/core/matter.test.ts @@ -0,0 +1,14 @@ +import {strict as assert} from "assert"; + +import { Sizage } from '../../src/keri/core/matter'; + +describe('Sizage', () => { + it('should hold size values in 4 properties', async () => { + let sizage = new Sizage(1,2,3,4) + assert.equal(sizage.hs, 1) + assert.equal(sizage.ss, 2) + assert.equal(sizage.fs, 3) + assert.equal(sizage.ls, 4) + }); +}); + diff --git a/test/core/prefixer.test.ts b/test/core/prefixer.test.ts deleted file mode 100644 index 65a09b3f..00000000 --- a/test/core/prefixer.test.ts +++ /dev/null @@ -1,301 +0,0 @@ -import {strict as assert} from "assert"; -import libsodium from 'libsodium-wrappers-sumo'; -import {CryOneRawSizes, CryOneSizes, oneCharCode, twoCharCode} from '../../src/keri/core/derivationCodes'; -import { Crymat } from '../../src/keri/core/cryMat'; -import { Verfer } from '../../src/keri/core/verfer'; -import { Prefixer } from '../../src/keri/core/prefixer'; -import { Nexter } from '../../src/keri/core/nexter'; -import { Signer } from '../../src/keri/core/signer'; -import { - versify, - Serials, - Versionage, - Ilks, -} from '../../src/keri/core/core'; -// namespace our extensions - - - -describe('Prefixer', () => { - it('should generate prefixes', async () => { - // raw = null, qb64 = null, qb2 = null, code = codeAndLength.oneCharCode.Ed25519N, index = 0 - await libsodium.ready; - let vk = '\xacr\xda\xc83~\x99r\xaf\xeb`\xc0\x8cR\xd7\xd7\xf69\xc8E\x1e\xd2\xf0=`\xf7\xbf\x8a\x18\x8a`q'; - let verkey = Buffer.from(vk, 'binary'); - let verfer = new Verfer(verkey); - console.log(verfer.qb64()) - assert.deepStrictEqual( - verfer.qb64(), - 'BrHLayDN-mXKv62DAjFLX1_Y5yEUe0vA9YPe_ihiKYHE', - ); - - let nk = "\xa6_\x894J\xf25T\xc1\x83#\x06\x98L\xa6\xef\x1a\xb3h\xeaA:x'\xda\x04\x88\xb2\xc4_\xf6\x00"; - let nxtkey = Buffer.from(nk, 'binary'); - const nxtfer = new Verfer( - nxtkey, - null, - null, - oneCharCode.Ed25519, - ); - console.log(nxtfer.qb64()) - assert.deepStrictEqual( - nxtfer.qb64(), - 'Bpl-JNEryNVTBgyMGmEym7xqzaOpBOngn2gSIssRf9gA', - ); - - // test creation given raw and code no derivation - - let prefixer = new Prefixer(verkey); - - assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519N); - assert.deepStrictEqual( - prefixer.raw().length, - CryOneRawSizes[prefixer.code()], - ); - assert.deepStrictEqual( - prefixer.qb64().length, - CryOneSizes[prefixer.code()], - ); - - - let ked = { keys: [prefixer.qb64()], nxt: '' }; - assert.deepEqual(prefixer.verify(ked), true); - - ked = { keys: [prefixer.qb64()], nxt: 'ABC' }; - assert.deepEqual(prefixer.verify(ked), false); - - // (raw = null), - // (code = oneCharCode.Ed25519N), - // (ked = null), - // (seed = null), // secret = null, ...kwa - prefixer = new Prefixer( - verkey, - oneCharCode.Ed25519, - undefined, - undefined, - null, - ); // # defaults provide Ed25519N prefixer - assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519); - assert.deepStrictEqual( - prefixer.raw().length, - CryOneRawSizes[prefixer.code()], - ); - assert.deepStrictEqual( - prefixer.qb64().length, - CryOneSizes[prefixer.code()], - ); - - - ked = { keys: [prefixer.qb64()], nxt: '' }; - assert.deepStrictEqual(prefixer.verify(ked), true); - - // raw = null, qb64 = null, qb2 = null, code = oneCharCode.Ed25519N, index = 0 - verfer = new Verfer( - verkey, - null, - null, - null, - oneCharCode.Ed25519, - 0, - ); - prefixer = new Prefixer(verfer.raw()); - assert.deepStrictEqual(prefixer.code(), oneCharCode.Ed25519N); - assert.deepStrictEqual(prefixer.verify(ked), false); - - // // # # Test basic derivation from ked - // - ked = { keys: [verfer.qb64()], nxt: '' }; - - // raw = null, code = derivation_code.oneCharCode.Ed25519N, ked = null, seed = null, secret = null, ...kwa - prefixer = new Prefixer(undefined, oneCharCode.Ed25519, ked); - assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); - assert.deepStrictEqual(prefixer.verify(ked), true); - - verfer = new Verfer( - verkey, - null, - null, - null, - oneCharCode.Ed25519N, - 0, - ); - ked = { keys: [verfer.qb64()], nxt: '' }; - prefixer = new Prefixer(undefined, oneCharCode.Ed25519N, ked); - - assert.deepStrictEqual(prefixer.qb64(), verfer.qb64()); - assert.deepStrictEqual(prefixer.verify(ked), true); - // - // // # # Test digest derivation from inception ked - let vs = versify(Versionage, Serials.json, 0); - let sn = 0; - let ilk = Ilks.icp; - let sith = 1; - let crymat = new Crymat( - verkey, - null, - null, - oneCharCode.Ed25519, - ); - - let keys = [crymat.qb64()]; - let nxt = ''; - let toad = 0; - // @ts-ignore - let wits: string[] = []; - // @ts-ignore - let cnfg: string[] = []; - console.log('key is --------->', vs); - let ked1 = { - vs: vs.toString(), // version string - pre: '', // # qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk, - sith: sith.toString(16), // # hex string no leading zeros lowercase - keys, // # list of qb64 - nxt, // # hash qual Base64 - toad: toad.toString(16), // # hex string no leading zeros lowercase - wits, // # list of qb64 may be empty - cnfg, // # list of config ordered mappings may be empty - }; - // util.pad(size.toString(16), VERRAWSIZE); - // console.log("key is --------->", keys); - let prefixer1 = new Prefixer( - undefined, - oneCharCode.Blake3_256, - ked1, - ); - - assert.deepStrictEqual( - prefixer1.qb64(), - 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', - ); - assert.deepStrictEqual(prefixer1.verify(ked1), true); - console.log(prefixer1.qb64()) - - - // # # Test digest derivation from inception ked - const nexter = new Nexter(null, 1, [nxtfer.qb64()]); - - let ked2 = { - vs: vs.toString(), // version string - pre: '', // # qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk, - sith: sith.toString(16), // # hex string no leading zeros lowercase - keys, // # list of qb64 - nxt, // # hash qual Base64 - toad: toad.toString(16), // # hex string no leading zeros lowercase - wits, // # list of qb64 may be empty - cnfg, // # list of config ordered mappings may be empty - }; - - prefixer1 = new Prefixer( - undefined, - oneCharCode.Blake3_256, - ked2, - ); - assert.deepStrictEqual( - prefixer1.qb64(), - 'EOyxDqUR4YUgT61oRcsE9TPLgsgJ5PAXw1x075kZXz1A', - ); - assert.deepStrictEqual(prefixer1.verify(ked2), true); - - // const perm = []; - const seal = { - pre: 'EkbeB57LYWRYNqg4xarckyfd_LsaH0J350WmOdvMwU_Q', - sn: '2', - ilk: Ilks.ixn, - dig: 'E03rxRmMcP2-I2Gd0sUhlYwjk8KEz5gNGxPwPg-sGJds', - }; - - let ked3 = { - vs: vs.toString(), // version string - pre: '', // # qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk: Ilks.dip, - sith: sith.toString(16), // # hex string no leading zeros lowercase - keys, // # list of qb64 - nxt: nexter.qb64(), // # hash qual Base64 - toad: toad.toString(16), // # hex string no leading zeros lowercase - wits, // # list of qb64 may be empty - perm: cnfg, - seal, // # list of config ordered mappings may be empty - }; - - prefixer1 = new Prefixer( - undefined, - oneCharCode.Blake3_256, - ked3, - ); - assert.deepStrictEqual( - prefixer1.qb64(), - 'E_k7oVnOUQ_rVWhhuGwwkiHR-7LOfhtXybs7HMj5xLlY', - ); - assert.deepStrictEqual(prefixer1.verify(ked3), true); - - - // # # Test signature derivation - // - let seed = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); - const seed1 = '\xdf\x95\xf9\xbcK@s="\xee\x95w\xbf>F&\xbb\x82\x8f)\x95\xb9\xc0\x1eS\x1b{Lt\xcfH\xa6'; - seed = Buffer.from(seed1, 'binary'); - const signer = new Signer(seed, oneCharCode.Ed25519_Seed, true); - - let secret = signer.qb64(); - assert.deepStrictEqual( - secret, - 'A35X5vEtAcz0i7pV3vz5GJruCjymVucAeUxt7THTPSKY', - ); - - vs = versify(Versionage, Serials.json, 0); - sn = 0; - ilk = Ilks.icp; - sith = 1; - keys = [signer.verfer().qb64()]; - nxt = ''; - toad = 0; - wits = []; - cnfg = []; - - const nexter1 = new Nexter(null, 1, [nxtfer.qb64()]); - const t = keys[0]; - console.log( - 'Keys are ******************************************************', - t.toString(), - ); - let ked4 = { - vs: vs.toString(), // version string - pre: '', // # qb64 prefix - sn: sn.toString(16), // # hex string no leading zeros lowercase - ilk, - sith: sith.toString(16), // # hex string no leading zeros lowercase - keys, // # list of qb64 - nxt: nexter1.qb64(), // # hash qual Base64 - toad: toad.toString(16), // # hex string no leading zeros lowercase - wits, // # list of qb64 may be empty - cnfg, - // # list of config ordered mappings may be empty - }; - - prefixer1 = new Prefixer( - undefined, - twoCharCode.Ed25519, - ked4, - seed, - ); - assert.deepStrictEqual( - prefixer1.qb64(), - '0Bs5Yv4vvIBcaq43bsF2s1kiSso0PYrxOILFCT-G1jsFJw2jfxnjcNFYA5pu7okeBfDev_CrA_DtP5MDXp51-AAA', - ); - // TODO: why not? - // assert.deepStrictEqual(prefixer1.verify(ked4), true); - assert.deepStrictEqual(prefixer1.qb64(), '0Bs5Yv4vvIBcaq43bsF2s1kiSso0PYrxOILFCT-G1jsFJw2jfxnjcNFYA5pu7okeBfDev_CrA_DtP5MDXp51-AAA'); - // - // # assert - // # assert prefixer.verify(ked=ked) == True - - // # prefixer = Prefixer(ked=ked, code=CryTwoDex.Ed25519, secret=secret) - // # assert prefixer.qb64 == '0B0uVeeaCtXTAj04_27g5pSKjXouQaC1mHcWswzkL7Jk0XC0yTyNnIvhaXnSxGbzY8WaPv63iAfWhJ81MKACRuAQ' - // # assert prefixer.verify(ked=ked) == True - }); -}); \ No newline at end of file diff --git a/test/core/salter.test.ts b/test/core/salter.test.ts new file mode 100644 index 00000000..4988013c --- /dev/null +++ b/test/core/salter.test.ts @@ -0,0 +1,39 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; + +import { Salter } from '../../src/keri/core/salter'; + +describe('Salter', () => { + it('should generate salts', async () => { + await libsodium.ready; + let salter = new Salter({}) + + assert.notEqual(salter, null) + assert.equal(salter.qb64.length, 24) + + let salt = new Uint8Array([146, 78, 142, 186, 189, 77, 130, 3, 232, 248, 186, 197, 8, 0, 73, 182]) + salter = new Salter({raw: salt}) + assert.notEqual(salter, null) + assert.equal(salter.qb64, "0ACSTo66vU2CA-j4usUIAEm2") + + salter = new Salter({qb64: "0ACSTo66vU2CA-j4usUIAEm2"}) + let raw = new Uint8Array([146, 78, 142, 186, 189, 77, 130, 3, 232, 248, 186, 197, 8, 0, 73, 182]); + assert.deepStrictEqual(salter.raw, raw) + + salter = new Salter({qb64: "0ABa4cx6f0SdfwFawI0A7mOZ"}) + raw = new Uint8Array([90, 225, 204, 122, 127, 68, 157, 127, 1, 90, 192, 141, 0, 238, 99, 153]); + assert.deepStrictEqual(salter.raw, raw) + + }); +}); + +describe('Salter.signer', () => { + it('should return a signer', async () => { + + let salter = new Salter({qb64: "0ACSTo66vU2CA-j4usUIAEm2"}) + let signer = salter.signer() + assert.notEqual(signer, null) + assert.equal(signer.verfer().qb64, "DD28x2a4KCZ8f6OAcA856jAD1chNOo4pT8ICxyzJUJhj") + + }); +}); diff --git a/test/core/signer.test.ts b/test/core/signer.test.ts new file mode 100644 index 00000000..3b16b2df --- /dev/null +++ b/test/core/signer.test.ts @@ -0,0 +1,26 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; + +import { Signer } from '../../src/keri/core/signer'; +import {Matter, MtrDex} from "../../src/keri/core/matter"; +import {TextEncoder} from 'util' + +describe('Signer', () => { + it('should sign things', async () => { + await libsodium.ready; + + let signer = new Signer({}) // defaults provide Ed25519 signer Ed25519 verfer + assert.equal(signer.code, MtrDex.Ed25519_Seed) + assert.equal(signer.raw.length, Matter._rawSize(signer.code)) + assert.equal(signer.verfer.code, MtrDex.Ed25519) + assert.equal(signer.verfer.raw.length, Matter._rawSize(signer.verfer.code)) + + let ser = new TextEncoder().encode('abcdefghijklmnopqrstuvwxyz0123456789') + + let cigar = signer.sign(ser) + assert.equal(cigar.code, MtrDex.Ed25519_Sig) + assert.equal(cigar.raw.length, Matter._rawSize(cigar.code)) + let result = signer.verfer.verify(cigar.raw, ser) + assert.equal(result, true) + }); +}); \ No newline at end of file diff --git a/test/core/verfer.test.ts b/test/core/verfer.test.ts index a935b454..31f956ff 100644 --- a/test/core/verfer.test.ts +++ b/test/core/verfer.test.ts @@ -1,6 +1,6 @@ +import {MtrDex} from "../../src/keri/core/matter"; + const libsodium = require('libsodium-wrappers-sumo'); -const Base64 = require('urlsafe-base64'); -import { oneCharCode} from "../../src/keri/core/derivationCodes"; const assert = require('assert').strict; @@ -15,21 +15,22 @@ describe('Verfer', () => { let verkey = keypair.publicKey; let sigkey = keypair.privateKey; - let pkey = String.fromCharCode.apply(null, sigkey); - let pkeyb = Buffer.from(pkey, 'binary'); - - console.log("sigkey----> ", Base64.encode(pkeyb)) - verkey = String.fromCharCode.apply(null, verkey); - verkey = Buffer.from(verkey, 'binary'); - console.log('verkey-------------->', Base64.encode(verkey)); - const verfer = new Verfer( - Buffer.from(verkey, 'binary'), - null, - null, - oneCharCode.Ed25519N, - ); - assert.deepStrictEqual(verfer.raw(), verkey); - assert.deepStrictEqual(verfer.code(), oneCharCode.Ed25519N); + + let verfer = new Verfer({raw: verkey, code: MtrDex.Ed25519N}) + assert.notEqual(verfer, null) + + assert.deepStrictEqual(verfer.raw, verkey); + assert.deepStrictEqual(verfer.code, MtrDex.Ed25519N); + + let ser = 'abcdefghijklmnopqrstuvwxyz0123456789' + + let sig = libsodium.crypto_sign_detached(ser, sigkey) + + assert.equal(verfer.verify(sig, ser), true) + + verfer = new Verfer({qb64: "BGgVB5Aar1pOr70nRpJmRA_RP68HErflNovoEMP7b7mJ"}) + assert.deepStrictEqual(verfer.raw, new Uint8Array([104, 21, 7, 144, 26, 175, 90, 78, 175, 189, 39, 70, 146, + 102, 68, 15, 209, 63, 175, 7, 18, 183, 229, 54, 139, 232, 16, 195, 251, 111, 185, 137])) }); }); diff --git a/tsconfig.json b/tsconfig.json index 2c85b2d9..42dc68f8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,6 +2,7 @@ // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs "include": ["src", "types"], "compilerOptions": { + "target": "ES2021", "module": "esnext", "lib": ["dom", "esnext"], "importHelpers": true, diff --git a/yarn.lock b/yarn.lock index 6a6bb1e9..4c4a763c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1378,12 +1378,7 @@ "resolved" "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" "version" "1.0.0" -"@types/estree@*": - "integrity" "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" - "version" "0.0.50" - -"@types/estree@0.0.39": +"@types/estree@*", "@types/estree@0.0.39": "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" "version" "0.0.39" @@ -1429,7 +1424,7 @@ "version" "7.0.9" "@types/json5@^0.0.29": - "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" + "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4= sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" "version" "0.0.29" @@ -1778,7 +1773,7 @@ "uri-js" "^4.2.2" "alphanum-sort@^1.0.2": - "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" "version" "1.0.2" @@ -1805,7 +1800,7 @@ "type-fest" "^0.21.3" "ansi-regex@^3.0.0": - "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==" "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" "version" "3.0.0" @@ -1826,7 +1821,14 @@ dependencies: "color-convert" "^1.9.0" -"ansi-styles@^4.0.0", "ansi-styles@^4.1.0": +"ansi-styles@^4.0.0": + "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + "version" "4.3.0" + dependencies: + "color-convert" "^2.0.1" + +"ansi-styles@^4.1.0": "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" "version" "4.3.0" @@ -1841,15 +1843,7 @@ "micromatch" "^3.1.4" "normalize-path" "^2.1.1" -"anymatch@^3.0.3": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"anymatch@~3.1.2": +"anymatch@^3.0.3", "anymatch@~3.1.2": "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" "version" "3.1.2" @@ -1878,7 +1872,7 @@ "@babel/runtime-corejs3" "^7.10.2" "arr-diff@^4.0.0": - "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" "version" "4.0.0" @@ -1888,12 +1882,12 @@ "version" "1.1.0" "arr-union@^3.1.0": - "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" "version" "3.1.0" "array-equal@^1.0.0": - "integrity" "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + "integrity" "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==" "resolved" "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz" "version" "1.0.0" @@ -1914,7 +1908,7 @@ "version" "2.1.0" "array-unique@^0.3.2": - "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" "version" "0.3.2" @@ -1955,7 +1949,7 @@ "safer-buffer" "~2.1.0" "assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" "version" "1.0.0" @@ -1968,12 +1962,12 @@ "util" "0.10.3" "assign-symbols@^1.0.0": - "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" "version" "1.0.0" "ast-types-flow@^0.0.7": - "integrity" "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + "integrity" "sha1-9wtzXGvKGlycItmCw+Oef+ujva0= sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" "version" "0.0.7" @@ -2005,7 +1999,7 @@ "version" "1.0.3" "asynckit@^0.4.0": - "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k= sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" "version" "0.4.0" @@ -2025,7 +2019,7 @@ "version" "2.1.2" "aws-sign2@~0.7.0": - "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" "version" "0.7.0" @@ -2206,7 +2200,7 @@ "version" "1.5.1" "bcrypt-pbkdf@^1.0.0": - "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=" + "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==" "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" "version" "1.0.2" dependencies: @@ -2253,23 +2247,28 @@ "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" "version" "3.7.2" -"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9": +"bn.js@^4.0.0": "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" "version" "4.12.0" -"bn.js@^5.0.0": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" +"bn.js@^4.1.0": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" -"bn.js@^5.1.1": +"bn.js@^4.11.9": + "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" + "version" "4.12.0" + +"bn.js@^5.0.0", "bn.js@^5.1.1": "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" "version" "5.2.0" "boolbase@^1.0.0": - "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24= sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" "version" "1.0.0" @@ -2297,14 +2296,7 @@ "split-string" "^3.0.2" "to-regex" "^3.0.1" -"braces@^3.0.1": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"braces@~3.0.2": +"braces@^3.0.1", "braces@~3.0.2": "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" "version" "3.0.2" @@ -2312,7 +2304,7 @@ "fill-range" "^7.0.1" "brorand@^1.0.1", "brorand@^1.1.0": - "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" "version" "1.1.0" @@ -2420,7 +2412,7 @@ "version" "1.1.2" "buffer-xor@^1.0.3": - "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" "version" "1.0.3" @@ -2447,7 +2439,7 @@ "version" "3.2.0" "builtin-status-codes@^3.0.0": - "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" "version" "3.0.0" @@ -2505,7 +2497,12 @@ "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" "version" "3.1.0" -"camelcase@^5.0.0", "camelcase@^5.3.1": +"camelcase@^5.0.0": + "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + "version" "5.3.1" + +"camelcase@^5.3.1": "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" "version" "5.3.1" @@ -2540,7 +2537,7 @@ "rsvp" "^4.8.4" "caseless@~0.12.0": - "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" "version" "0.12.0" @@ -2551,7 +2548,7 @@ dependencies: "nofilter" "^3.0.2" -"chalk@^2.0.0": +"chalk@^2.0.0", "chalk@^2.4.1", "chalk@^2.4.2": "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" "version" "2.4.2" @@ -2569,24 +2566,6 @@ "escape-string-regexp" "^1.0.5" "supports-color" "^5.3.0" -"chalk@^2.4.1": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - "chalk@^3.0.0": "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" @@ -2688,8 +2667,15 @@ "isobject" "^3.0.0" "static-extend" "^0.1.1" -"cli-cursor@^2.0.0", "cli-cursor@^2.1.0": - "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=" +"cli-cursor@^2.0.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==" + "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "restore-cursor" "^2.0.0" + +"cli-cursor@^2.1.0": + "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==" "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" "version" "2.1.0" dependencies: @@ -2736,12 +2722,12 @@ "shallow-clone" "^3.0.0" "clone@^1.0.2": - "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4= sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" "version" "1.0.4" "co@^4.6.0": - "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" "version" "4.6.0" @@ -2751,7 +2737,7 @@ "version" "1.0.1" "collection-visit@^1.0.0": - "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" + "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -2785,7 +2771,7 @@ "version" "1.1.4" "color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" "version" "1.1.3" @@ -2822,7 +2808,7 @@ "version" "7.2.0" "commondir@^1.0.1": - "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" "version" "1.0.1" @@ -2832,7 +2818,7 @@ "version" "1.3.0" "concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" "version" "0.0.1" @@ -2857,7 +2843,7 @@ "version" "1.2.0" "constants-browserify@^1.0.0": - "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" "version" "1.0.0" @@ -2881,7 +2867,7 @@ "run-queue" "^1.0.0" "copy-descriptor@^0.1.0": - "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" "version" "0.1.1" @@ -2898,13 +2884,8 @@ "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.0.tgz" "version" "3.18.0" -"core-util-is@~1.0.0": - "integrity" "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - "version" "1.0.3" - -"core-util-is@1.0.2": - "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" +"core-util-is@~1.0.0", "core-util-is@1.0.2": + "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" "version" "1.0.2" @@ -3139,7 +3120,7 @@ "cssom" "~0.3.6" "cyclist@^1.0.1": - "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" "version" "1.0.1" @@ -3149,7 +3130,7 @@ "version" "1.0.7" "dashdash@^1.12.0": - "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=" + "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==" "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" "version" "1.14.1" dependencies: @@ -3200,12 +3181,12 @@ "ms" "2.1.2" "decamelize@^1.2.0": - "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" "version" "1.2.0" "decode-uri-component@^0.2.0": - "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" "version" "0.2.0" @@ -3220,7 +3201,7 @@ "version" "4.2.2" "defaults@^1.0.3": - "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=" + "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==" "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" "version" "1.0.3" dependencies: @@ -3234,14 +3215,14 @@ "object-keys" "^1.0.12" "define-property@^0.2.5": - "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" + "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" "version" "0.2.5" dependencies: "is-descriptor" "^0.1.0" "define-property@^1.0.0": - "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" + "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY= sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -3256,7 +3237,7 @@ "isobject" "^3.0.1" "delayed-stream@~1.0.0": - "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk= sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" "version" "1.0.0" @@ -3366,7 +3347,7 @@ "stream-shift" "^1.0.0" "ecc-jsbn@~0.1.1": - "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=" + "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==" "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" "version" "0.1.2" dependencies: @@ -3492,7 +3473,7 @@ "version" "3.1.1" "escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" "version" "1.0.5" @@ -3655,7 +3636,17 @@ dependencies: "eslint-visitor-keys" "^1.1.0" -"eslint-visitor-keys@^1.0.0", "eslint-visitor-keys@^1.1.0", "eslint-visitor-keys@^1.3.0": +"eslint-visitor-keys@^1.0.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint-visitor-keys@^1.1.0": + "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" + "version" "1.3.0" + +"eslint-visitor-keys@^1.3.0": "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" "version" "1.3.0" @@ -3665,50 +3656,7 @@ "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" "version" "2.1.0" -"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.1.0", "eslint@>= 4.12.1", "eslint@>=3.14.1", "eslint@>=5.0.0", "eslint@6.x": - "integrity" "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz" - "version" "6.8.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "ajv" "^6.10.0" - "chalk" "^2.1.0" - "cross-spawn" "^6.0.5" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "eslint-scope" "^5.0.0" - "eslint-utils" "^1.4.3" - "eslint-visitor-keys" "^1.1.0" - "espree" "^6.1.2" - "esquery" "^1.0.1" - "esutils" "^2.0.2" - "file-entry-cache" "^5.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.0.0" - "globals" "^12.1.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "inquirer" "^7.0.0" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.3.0" - "lodash" "^4.17.14" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.1" - "natural-compare" "^1.4.0" - "optionator" "^0.8.3" - "progress" "^2.0.0" - "regexpp" "^2.0.1" - "semver" "^6.1.2" - "strip-ansi" "^5.2.0" - "strip-json-comments" "^3.0.1" - "table" "^5.2.3" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"eslint@^7.14.0": +"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^7.14.0", "eslint@>= 4.12.1", "eslint@>=3.14.1", "eslint@>=5.0.0": "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" "version" "7.32.0" @@ -3754,6 +3702,49 @@ "text-table" "^0.2.0" "v8-compile-cache" "^2.0.3" +"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.1.0", "eslint@6.x": + "integrity" "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==" + "resolved" "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz" + "version" "6.8.0" + dependencies: + "@babel/code-frame" "^7.0.0" + "ajv" "^6.10.0" + "chalk" "^2.1.0" + "cross-spawn" "^6.0.5" + "debug" "^4.0.1" + "doctrine" "^3.0.0" + "eslint-scope" "^5.0.0" + "eslint-utils" "^1.4.3" + "eslint-visitor-keys" "^1.1.0" + "espree" "^6.1.2" + "esquery" "^1.0.1" + "esutils" "^2.0.2" + "file-entry-cache" "^5.0.1" + "functional-red-black-tree" "^1.0.1" + "glob-parent" "^5.0.0" + "globals" "^12.1.0" + "ignore" "^4.0.6" + "import-fresh" "^3.0.0" + "imurmurhash" "^0.1.4" + "inquirer" "^7.0.0" + "is-glob" "^4.0.0" + "js-yaml" "^3.13.1" + "json-stable-stringify-without-jsonify" "^1.0.1" + "levn" "^0.3.0" + "lodash" "^4.17.14" + "minimatch" "^3.0.4" + "mkdirp" "^0.5.1" + "natural-compare" "^1.4.0" + "optionator" "^0.8.3" + "progress" "^2.0.0" + "regexpp" "^2.0.1" + "semver" "^6.1.2" + "strip-ansi" "^5.2.0" + "strip-json-comments" "^3.0.1" + "table" "^5.2.3" + "text-table" "^0.2.0" + "v8-compile-cache" "^2.0.3" + "espree@^6.1.2": "integrity" "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==" "resolved" "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" @@ -3884,12 +3875,12 @@ "strip-final-newline" "^2.0.0" "exit@^0.1.2": - "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" "version" "0.1.2" "expand-brackets@^2.1.4": - "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" + "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI= sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" "version" "2.1.4" dependencies: @@ -3914,22 +3905,14 @@ "jest-regex-util" "^25.2.6" "extend-shallow@^2.0.1": - "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" + "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" "version" "2.0.1" dependencies: "is-extendable" "^0.1.0" -"extend-shallow@^3.0.0": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend-shallow@^3.0.2": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" +"extend-shallow@^3.0.0", "extend-shallow@^3.0.2": + "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" "version" "3.0.2" dependencies: @@ -3964,13 +3947,8 @@ "snapdragon" "^0.8.1" "to-regex" "^3.0.1" -"extsprintf@^1.2.0": - "integrity" "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" - "version" "1.4.0" - -"extsprintf@1.3.0": - "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" +"extsprintf@^1.2.0", "extsprintf@1.3.0": + "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" "version" "1.3.0" @@ -4001,7 +3979,7 @@ "version" "2.1.0" "fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": - "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" "version" "2.0.6" @@ -4059,7 +4037,7 @@ "version" "1.0.0" "fill-range@^4.0.0": - "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" + "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" "version" "4.0.0" dependencies: @@ -4093,8 +4071,15 @@ "make-dir" "^3.0.2" "pkg-dir" "^4.1.0" -"find-up@^2.0.0", "find-up@^2.1.0": - "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=" +"find-up@^2.0.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" + "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + "version" "2.1.0" + dependencies: + "locate-path" "^2.0.0" + +"find-up@^2.1.0": + "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" "version" "2.1.0" dependencies: @@ -4164,12 +4149,12 @@ "readable-stream" "^2.3.6" "for-in@^1.0.2": - "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" "version" "1.0.2" "forever-agent@~0.6.1": - "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" "version" "0.6.1" @@ -4183,14 +4168,14 @@ "mime-types" "^2.1.12" "fragment-cache@^0.2.1": - "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" + "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" "version" "0.2.1" dependencies: "map-cache" "^0.2.2" "from2@^2.1.0": - "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=" + "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==" "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" "version" "2.3.0" dependencies: @@ -4217,7 +4202,7 @@ "universalify" "^0.1.0" "fs-write-stream-atomic@^1.0.8": - "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=" + "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==" "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" "version" "1.0.10" dependencies: @@ -4227,7 +4212,7 @@ "readable-stream" "1 || 2" "fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" "version" "1.0.0" @@ -4250,7 +4235,7 @@ "version" "1.1.1" "functional-red-black-tree@^1.0.1": - "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" "version" "1.0.1" @@ -4306,19 +4291,19 @@ "get-intrinsic" "^1.1.1" "get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" "version" "2.0.6" "getpass@^0.1.1": - "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=" + "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==" "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" "version" "0.1.7" dependencies: "assert-plus" "^1.0.0" "glob-parent@^3.1.0": - "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" + "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==" "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" "version" "3.1.0" dependencies: @@ -4398,7 +4383,7 @@ "version" "4.2.8" "growly@^1.3.0": - "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" + "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" "version" "1.3.0" @@ -4410,7 +4395,7 @@ "duplexer" "^0.1.2" "har-schema@^2.0.0": - "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" "version" "2.0.0" @@ -4428,7 +4413,7 @@ "version" "1.0.1" "has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" "version" "3.0.0" @@ -4450,7 +4435,7 @@ "has-symbols" "^1.0.2" "has-value@^0.3.1": - "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" + "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" "version" "0.3.1" dependencies: @@ -4459,7 +4444,7 @@ "isobject" "^2.0.0" "has-value@^1.0.0": - "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" + "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -4468,12 +4453,12 @@ "isobject" "^3.0.0" "has-values@^0.1.4": - "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E= sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" "version" "0.1.4" "has-values@^1.0.0": - "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" + "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -4505,7 +4490,7 @@ "minimalistic-assert" "^1.0.1" "hmac-drbg@^1.0.1": - "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=" + "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" "version" "1.0.1" dependencies: @@ -4531,7 +4516,7 @@ "version" "2.0.2" "http-signature@~1.2.0": - "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=" + "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==" "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" "version" "1.2.0" dependencies: @@ -4540,7 +4525,7 @@ "sshpk" "^1.7.0" "https-browserify@^1.0.0": - "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" "version" "1.0.0" @@ -4577,7 +4562,7 @@ "version" "1.2.1" "iferr@^0.1.5": - "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE= sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" "version" "0.1.5" @@ -4608,7 +4593,7 @@ "resolve-cwd" "^3.0.0" "imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" "version" "0.1.4" @@ -4618,7 +4603,7 @@ "version" "1.0.4" "inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" + "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" "version" "1.0.6" dependencies: @@ -4631,12 +4616,12 @@ "version" "2.0.4" "inherits@2.0.1": - "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" "version" "2.0.1" "inherits@2.0.3": - "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" "version" "2.0.3" @@ -4674,7 +4659,7 @@ "version" "1.4.0" "ip-regex@^2.1.0": - "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" "version" "2.1.0" @@ -4684,7 +4669,7 @@ "version" "3.0.3" "is-accessor-descriptor@^0.1.6": - "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" + "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" "version" "0.1.6" dependencies: @@ -4698,7 +4683,7 @@ "kind-of" "^6.0.0" "is-arrayish@^0.2.1": - "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" "version" "0.2.1" @@ -4710,7 +4695,7 @@ "has-bigints" "^1.0.1" "is-binary-path@^1.0.0": - "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" + "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==" "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" "version" "1.0.1" dependencies: @@ -4756,7 +4741,7 @@ "has" "^1.0.3" "is-data-descriptor@^0.1.4": - "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" + "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" "version" "0.1.4" dependencies: @@ -4800,7 +4785,12 @@ "version" "2.2.1" "is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" + "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + "version" "0.1.1" + +"is-extendable@^0.1.1": + "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" "version" "0.1.1" @@ -4812,12 +4802,12 @@ "is-plain-object" "^2.0.4" "is-extglob@^2.1.0", "is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" "version" "2.1.1" "is-fullwidth-code-point@^2.0.0": - "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" "version" "2.0.0" @@ -4832,7 +4822,7 @@ "version" "2.1.0" "is-glob@^3.1.0": - "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" + "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==" "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" "version" "3.1.0" dependencies: @@ -4851,7 +4841,7 @@ "version" "1.0.0" "is-module@^1.0.0": - "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" "version" "1.0.0" @@ -4868,7 +4858,7 @@ "has-tostringtag" "^1.0.0" "is-number@^3.0.0": - "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" + "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" "version" "3.0.0" dependencies: @@ -4907,7 +4897,7 @@ "version" "1.1.0" "is-stream@^1.1.0": - "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ= sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" "version" "1.1.0" @@ -4931,7 +4921,7 @@ "has-symbols" "^1.0.2" "is-typedarray@^1.0.0", "is-typedarray@~1.0.0": - "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" "version" "1.0.0" @@ -4941,7 +4931,7 @@ "version" "1.0.2" "is-wsl@^1.1.0": - "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" "version" "1.1.0" @@ -4953,29 +4943,29 @@ "is-docker" "^2.0.0" "isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" "version" "1.0.0" "isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" "version" "2.0.0" "isobject@^2.0.0": - "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" + "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" "version" "2.1.0" dependencies: "isarray" "1.0.0" "isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8= sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" "version" "3.0.1" "isstream@~0.1.2": - "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" "version" "0.1.2" @@ -5380,15 +5370,7 @@ "jest-util" "^25.5.0" "string-length" "^3.1.0" -"jest-worker@^24.0.0": - "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" - "version" "24.9.0" - dependencies: - "merge-stream" "^2.0.0" - "supports-color" "^6.1.0" - -"jest-worker@^24.9.0": +"jest-worker@^24.0.0", "jest-worker@^24.9.0": "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" "version" "24.9.0" @@ -5432,7 +5414,7 @@ "esprima" "^4.0.0" "jsbn@~0.1.0": - "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM= sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" "version" "0.1.1" @@ -5523,7 +5505,7 @@ "version" "2.5.2" "jsesc@~0.5.0": - "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" "version" "0.5.0" @@ -5553,17 +5535,17 @@ "version" "0.3.0" "json-schema@0.2.3": - "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==" "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" "version" "0.2.3" "json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" "version" "1.0.1" "json-stringify-safe@~5.0.1": - "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" "version" "5.0.1" @@ -5589,7 +5571,7 @@ "minimist" "^1.2.5" "jsonfile@^4.0.0": - "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=" + "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" "version" "4.0.0" optionalDependencies: @@ -5605,7 +5587,7 @@ "graceful-fs" "^4.1.6" "jsprim@^1.2.2": - "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=" + "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==" "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" "version" "1.4.1" dependencies: @@ -5622,29 +5604,22 @@ "array-includes" "^3.1.3" "object.assign" "^4.1.2" -"kind-of@^3.0.2": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.0.3": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" +"kind-of@^3.0.2", "kind-of@^3.0.3": + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" "version" "3.2.2" dependencies: "is-buffer" "^1.1.5" "kind-of@^3.2.0": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" + "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" "version" "3.2.2" dependencies: "is-buffer" "^1.1.5" "kind-of@^4.0.0": - "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" + "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc= sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" "version" "4.0.0" dependencies: @@ -5671,7 +5646,7 @@ "version" "0.3.21" "language-tags@^1.0.5": - "integrity" "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=" + "integrity" "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==" "resolved" "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" "version" "1.0.5" dependencies: @@ -5691,7 +5666,7 @@ "version" "3.1.0" "levn@^0.3.0", "levn@~0.3.0": - "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=" + "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" "version" "0.3.0" dependencies: @@ -5724,12 +5699,12 @@ "version" "2.0.3" "lines-and-columns@^1.1.6": - "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==" "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" "version" "1.1.6" "load-json-file@^4.0.0": - "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=" + "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs= sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==" "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" "version" "4.0.0" dependencies: @@ -5762,7 +5737,7 @@ "json5" "^2.1.2" "locate-path@^2.0.0": - "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=" + "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==" "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" "version" "2.0.0" dependencies: @@ -5785,17 +5760,17 @@ "p-locate" "^4.1.0" "lodash.clonedeep@^4.5.0": - "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" "version" "4.5.0" "lodash.debounce@^4.0.8": - "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168= sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" "version" "4.0.8" "lodash.memoize@^4.1.2", "lodash.memoize@4.x": - "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" "version" "4.1.2" @@ -5805,17 +5780,17 @@ "version" "4.6.2" "lodash.sortby@^4.7.0": - "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" "version" "4.7.0" "lodash.truncate@^4.4.2": - "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=" + "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" "version" "4.4.2" "lodash.uniq@^4.5.0": - "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" "version" "4.5.0" @@ -5832,7 +5807,7 @@ "chalk" "^2.4.2" "log-update@^2.3.0": - "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg=" + "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg= sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==" "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" "version" "2.3.0" dependencies: @@ -5891,7 +5866,7 @@ dependencies: "sourcemap-codec" "^1.4.4" -"make-dir@^2.0.0": +"make-dir@^2.0.0", "make-dir@^2.1.0": "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" "version" "2.1.0" @@ -5899,15 +5874,14 @@ "pify" "^4.0.1" "semver" "^5.6.0" -"make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" +"make-dir@^3.0.0": + "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" + "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + "version" "3.1.0" dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" + "semver" "^6.0.0" -"make-dir@^3.0.0", "make-dir@^3.0.2": +"make-dir@^3.0.2": "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" "version" "3.1.0" @@ -5920,19 +5894,19 @@ "version" "1.3.6" "makeerror@1.0.x": - "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=" + "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= sha512-M/XvMZ6oK4edXjvg/ZYyzByg8kjpVrF/m0x3wbhOlzJfsQgFkqP1rJnLnJExOcslmLSSeLiN6NmF+cBoKJHGTg==" "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" "version" "1.0.11" dependencies: "tmpl" "1.0.x" "map-cache@^0.2.2": - "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" "version" "0.2.2" "map-visit@^1.0.0": - "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" + "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -5953,7 +5927,7 @@ "version" "2.0.14" "memory-fs@^0.4.1": - "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" + "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==" "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" "version" "0.4.1" dependencies: @@ -5985,26 +5959,7 @@ dependencies: "nanocolors" "^0.1.1" -"micromatch@^3.1.10": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^3.1.4": +"micromatch@^3.1.10", "micromatch@^3.1.4": "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" "version" "3.1.10" @@ -6072,7 +6027,7 @@ "version" "1.0.1" "minimalistic-crypto-utils@^1.0.1": - "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" "version" "1.0.1" @@ -6112,7 +6067,14 @@ "for-in" "^1.0.2" "is-extendable" "^1.0.1" -"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@0.x": +"mkdirp@^0.5.1", "mkdirp@0.x": + "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" + "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + "version" "0.5.5" + dependencies: + "minimist" "^1.2.5" + +"mkdirp@^0.5.3": "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" "version" "0.5.5" @@ -6125,7 +6087,7 @@ "version" "1.0.4" "move-concurrently@^1.0.1": - "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=" + "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==" "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" "version" "1.0.1" dependencies: @@ -6141,21 +6103,16 @@ "resolved" "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" "version" "1.2.0" -"ms@^2.1.1": - "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - "version" "2.1.3" +"ms@^2.1.1", "ms@2.1.2": + "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + "version" "2.1.2" "ms@2.0.0": - "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" "version" "2.0.0" -"ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - "msgpack5@^5.3.2": "integrity" "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==" "resolved" "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz" @@ -6204,7 +6161,7 @@ "to-regex" "^3.0.1" "natural-compare@^1.4.0": - "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" "version" "1.4.0" @@ -6227,14 +6184,14 @@ "tslib" "^2.0.3" "node-dir@^0.1.17": - "integrity" "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=" + "integrity" "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==" "resolved" "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" "version" "0.1.17" dependencies: "minimatch" "^3.0.2" "node-int64@^0.4.0": - "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" + "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" "version" "0.4.0" @@ -6268,7 +6225,7 @@ "vm-browserify" "^1.0.1" "node-modules-regexp@^1.0.0": - "integrity" "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" + "integrity" "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= sha512-JMaRS9L4wSRIR+6PTVEikTrq/lMGEZR43a48ETeilY0Q0iMwVnccMFrUM1k+tNzmYuIU0Vh710bCUqHX+/+ctQ==" "resolved" "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" "version" "1.0.0" @@ -6304,7 +6261,7 @@ "validate-npm-package-license" "^3.0.1" "normalize-path@^2.1.1": - "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" + "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==" "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" "version" "2.1.1" dependencies: @@ -6321,7 +6278,7 @@ "version" "6.1.0" "npm-run-path@^2.0.0": - "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" + "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==" "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" "version" "2.0.2" dependencies: @@ -6352,12 +6309,12 @@ "version" "0.9.0" "object-assign@^4.1.1": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" "version" "4.1.1" "object-copy@^0.1.0": - "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" + "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw= sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" "version" "0.1.0" dependencies: @@ -6376,7 +6333,7 @@ "version" "1.1.1" "object-visit@^1.0.0": - "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" + "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" "version" "1.0.1" dependencies: @@ -6420,7 +6377,7 @@ "es-abstract" "^1.18.1" "object.pick@^1.3.0": - "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" + "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" "version" "1.3.0" dependencies: @@ -6436,14 +6393,14 @@ "es-abstract" "^1.18.2" "once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" + "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" "version" "1.4.0" dependencies: "wrappy" "1" "onetime@^2.0.0": - "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=" + "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==" "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" "version" "2.0.1" dependencies: @@ -6470,7 +6427,19 @@ "last-call-webpack-plugin" "^3.0.0" "postcss" "^8.2.1" -"optionator@^0.8.1", "optionator@^0.8.3": +"optionator@^0.8.1": + "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" + "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" + "version" "0.8.3" + dependencies: + "deep-is" "~0.1.3" + "fast-levenshtein" "~2.0.6" + "levn" "~0.3.0" + "prelude-ls" "~1.1.2" + "type-check" "~0.3.2" + "word-wrap" "~1.2.3" + +"optionator@^0.8.3": "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" "version" "0.8.3" @@ -6509,12 +6478,12 @@ "wcwidth" "^1.0.1" "os-browserify@^0.3.0": - "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" "version" "0.3.0" "os-tmpdir@~1.0.2": - "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" "version" "1.0.2" @@ -6524,7 +6493,7 @@ "version" "2.2.0" "p-finally@^1.0.0": - "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" "version" "1.0.0" @@ -6548,7 +6517,7 @@ "p-try" "^2.0.0" "p-locate@^2.0.0": - "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=" + "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==" "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" "version" "2.0.0" dependencies: @@ -6569,7 +6538,7 @@ "p-limit" "^2.2.0" "p-try@^1.0.0": - "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" "version" "1.0.0" @@ -6611,7 +6580,7 @@ "safe-buffer" "^5.1.1" "parse-json@^4.0.0": - "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=" + "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" "version" "4.0.0" dependencies: @@ -6647,7 +6616,7 @@ "tslib" "^2.0.3" "pascalcase@^0.1.1": - "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" "version" "0.1.1" @@ -6662,12 +6631,12 @@ "version" "0.0.1" "path-dirname@^1.0.0": - "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" "version" "1.0.2" "path-exists@^3.0.0": - "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" "version" "3.0.0" @@ -6677,21 +6646,16 @@ "version" "4.0.0" "path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" "version" "1.0.1" "path-key@^2.0.0", "path-key@^2.0.1": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" "version" "2.0.1" -"path-key@^3.0.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-key@^3.1.0": +"path-key@^3.0.0", "path-key@^3.1.0": "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" "version" "3.1.1" @@ -6725,7 +6689,7 @@ "sha.js" "^2.4.8" "performance-now@^2.1.0": - "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" "version" "2.1.0" @@ -6735,7 +6699,7 @@ "version" "2.3.0" "pify@^3.0.0": - "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" "version" "3.0.0" @@ -6752,7 +6716,7 @@ "node-modules-regexp" "^1.0.0" "pkg-dir@^2.0.0": - "integrity" "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=" + "integrity" "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==" "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" "version" "2.0.0" dependencies: @@ -6765,7 +6729,14 @@ dependencies: "find-up" "^3.0.0" -"pkg-dir@^4.1.0", "pkg-dir@^4.2.0": +"pkg-dir@^4.1.0": + "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" + "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + "version" "4.2.0" + dependencies: + "find-up" "^4.0.0" + +"pkg-dir@^4.2.0": "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" "version" "4.2.0" @@ -6773,7 +6744,7 @@ "find-up" "^4.0.0" "pkg-up@^2.0.0": - "integrity" "sha1-yBmscoBZpGHKscOImivjxJoATX8=" + "integrity" "sha1-yBmscoBZpGHKscOImivjxJoATX8= sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==" "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" "version" "2.0.0" dependencies: @@ -6792,7 +6763,7 @@ "ts-pnp" "^1.1.6" "posix-character-classes@^0.1.0": - "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" "version" "0.1.1" @@ -7060,7 +7031,7 @@ "version" "1.2.1" "prelude-ls@~1.1.2": - "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" "version" "1.1.2" @@ -7104,7 +7075,7 @@ "version" "2.0.1" "process@^0.11.10": - "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI= sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" "version" "0.11.10" @@ -7124,7 +7095,7 @@ "version" "2.0.3" "promise-inflight@^1.0.1": - "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM= sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" "version" "1.0.1" @@ -7146,7 +7117,7 @@ "react-is" "^16.8.1" "prr@~1.0.1": - "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY= sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" "version" "1.0.1" @@ -7193,7 +7164,7 @@ "pump" "^2.0.0" "punycode@^1.2.4": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4= sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" "version" "1.4.1" @@ -7203,7 +7174,7 @@ "version" "2.1.1" "punycode@1.3.2": - "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" "version" "1.3.2" @@ -7213,12 +7184,12 @@ "version" "6.5.2" "querystring-es3@^0.2.0": - "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" "version" "0.2.1" "querystring@0.2.0": - "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" "version" "0.2.0" @@ -7248,7 +7219,7 @@ "version" "16.13.1" "read-pkg-up@^3.0.0": - "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=" + "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==" "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" "version" "3.0.0" dependencies: @@ -7265,7 +7236,7 @@ "type-fest" "^0.8.1" "read-pkg@^3.0.0": - "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=" + "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==" "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" "version" "3.0.0" dependencies: @@ -7283,7 +7254,7 @@ "parse-json" "^5.0.0" "type-fest" "^0.6.0" -"readable-stream@^2.0.0", "readable-stream@^2.0.1", "readable-stream@^2.0.2", "readable-stream@^2.1.5", "readable-stream@^2.2.2", "readable-stream@^2.3.3", "readable-stream@^2.3.6", "readable-stream@~2.3.6", "readable-stream@1 || 2": +"readable-stream@^2.0.0": "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" "version" "2.3.7" @@ -7296,25 +7267,85 @@ "string_decoder" "~1.1.1" "util-deprecate" "~1.0.1" -"readable-stream@^3.0.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" +"readable-stream@^2.0.1": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.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" -"readable-stream@^3.4.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" +"readable-stream@^2.0.2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.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" + +"readable-stream@^2.1.5": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^2.2.2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^2.3.3": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" -"readable-stream@^3.6.0": +"readable-stream@^2.3.6": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@^3.0.0", "readable-stream@^3.4.0", "readable-stream@^3.6.0": "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" "version" "3.6.0" @@ -7323,6 +7354,32 @@ "string_decoder" "^1.1.1" "util-deprecate" "^1.0.1" +"readable-stream@~2.3.6": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + dependencies: + "core-util-is" "~1.0.0" + "inherits" "~2.0.3" + "isarray" "~1.0.0" + "process-nextick-args" "~2.0.0" + "safe-buffer" "~5.1.1" + "string_decoder" "~1.1.1" + "util-deprecate" "~1.0.1" + +"readable-stream@1 || 2": + "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" + "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + "version" "2.3.7" + 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" + "readdirp@^2.2.1": "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" @@ -7365,7 +7422,7 @@ "tslib" "^2.0.1" "rechoir@^0.6.2": - "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" "version" "0.6.2" dependencies: @@ -7446,7 +7503,7 @@ "jsesc" "~0.5.0" "remove-trailing-separator@^1.0.1": - "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8= sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" "version" "1.1.0" @@ -7456,7 +7513,7 @@ "version" "1.1.4" "repeat-string@^1.6.1": - "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc= sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" "version" "1.6.1" @@ -7503,7 +7560,7 @@ "uuid" "^3.3.2" "require-directory@^2.1.1": - "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" "version" "2.1.1" @@ -7535,7 +7592,7 @@ "version" "5.0.0" "resolve-url@^0.2.1": - "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" "version" "0.2.1" @@ -7556,7 +7613,7 @@ "path-parse" "^1.0.6" "resolve@1.1.7": - "integrity" "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + "integrity" "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==" "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" "version" "1.1.7" @@ -7568,7 +7625,7 @@ "path-parse" "^1.0.6" "restore-cursor@^2.0.0": - "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=" + "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368= sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==" "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" "version" "2.0.0" dependencies: @@ -7593,10 +7650,10 @@ "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" "version" "1.0.4" -"rimraf@^2.5.4", "rimraf@^2.6.3": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" +"rimraf@^2.5.4", "rimraf@^2.6.3", "rimraf@~2.6.2", "rimraf@2.6.3": + "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" + "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" + "version" "2.6.3" dependencies: "glob" "^7.1.3" @@ -7614,20 +7671,6 @@ dependencies: "glob" "^7.1.3" -"rimraf@~2.6.2": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "glob" "^7.1.3" - -"rimraf@2.6.3": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "glob" "^7.1.3" - "ripemd160@^2.0.0", "ripemd160@^2.0.1": "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" @@ -7700,7 +7743,7 @@ "queue-microtask" "^1.2.2" "run-queue@^1.0.0", "run-queue@^1.0.3": - "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=" + "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==" "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" "version" "1.0.3" dependencies: @@ -7731,7 +7774,7 @@ "version" "5.1.2" "safe-regex@^1.1.0": - "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" + "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4= sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" "version" "1.1.0" dependencies: @@ -7792,33 +7835,22 @@ "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" "version" "5.7.1" -"semver@^6.0.0", "semver@^6.1.1", "semver@^6.1.2", "semver@^6.3.0": +"semver@^6.0.0", "semver@^6.3.0": "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" "version" "6.3.0" -"semver@^7.1.1": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - -"semver@^7.2.1": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" +"semver@^6.1.1": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" -"semver@^7.3.2": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" +"semver@^6.1.2": + "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + "version" "6.3.0" -"semver@^7.3.5": +"semver@^7.1.1", "semver@^7.2.1", "semver@^7.3.2", "semver@^7.3.5", "semver@7.3.5": "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" "version" "7.3.5" @@ -7840,13 +7872,6 @@ "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" "version" "7.0.0" -"semver@7.3.5": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - "serialize-javascript@^4.0.0": "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" @@ -7855,7 +7880,7 @@ "randombytes" "^2.1.0" "set-blocking@^2.0.0": - "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" "version" "2.0.0" @@ -7870,7 +7895,7 @@ "split-string" "^3.0.1" "setimmediate@^1.0.4": - "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" "version" "1.0.5" @@ -7890,7 +7915,7 @@ "kind-of" "^6.0.2" "shebang-command@^1.2.0": - "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" + "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" "version" "1.2.0" dependencies: @@ -7904,7 +7929,7 @@ "shebang-regex" "^3.0.0" "shebang-regex@^1.0.0": - "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" "version" "1.0.0" @@ -8064,12 +8089,12 @@ "version" "0.4.1" "source-map@^0.5.0": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" "version" "0.5.7" "source-map@^0.5.6": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" "version" "0.5.7" @@ -8122,7 +8147,7 @@ "extend-shallow" "^3.0.0" "sprintf-js@~1.0.2": - "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" "version" "1.0.3" @@ -8161,7 +8186,7 @@ "escape-string-regexp" "^2.0.0" "static-extend@^0.1.1": - "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" + "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" "version" "0.1.2" dependencies: @@ -8169,7 +8194,7 @@ "object-copy" "^0.1.0" "stealthy-require@^1.1.1": - "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==" "resolved" "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" "version" "1.1.1" @@ -8205,20 +8230,20 @@ "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" "version" "1.0.1" -"string_decoder@^1.0.0", "string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string_decoder@~1.1.1": +"string_decoder@^1.0.0", "string_decoder@~1.1.1": "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" "version" "1.1.1" dependencies: "safe-buffer" "~5.1.0" +"string_decoder@^1.1.1": + "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + "version" "1.3.0" + dependencies: + "safe-buffer" "~5.2.0" + "string-length@^3.1.0": "integrity" "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==" "resolved" "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz" @@ -8284,20 +8309,13 @@ "define-properties" "^1.1.3" "strip-ansi@^4.0.0": - "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8=" + "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==" "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" "version" "4.0.0" dependencies: "ansi-regex" "^3.0.0" -"strip-ansi@^5.0.0", "strip-ansi@^5.1.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^5.2.0": +"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" "version" "5.2.0" @@ -8312,7 +8330,7 @@ "ansi-regex" "^5.0.1" "strip-bom@^3.0.0": - "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" "version" "3.0.0" @@ -8322,7 +8340,7 @@ "version" "4.0.0" "strip-eof@^1.0.0": - "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" "version" "1.0.0" @@ -8475,12 +8493,12 @@ "minimatch" "^3.0.4" "text-table@^0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" "version" "0.2.0" "throat@^4.1.0": - "integrity" "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=" + "integrity" "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==" "resolved" "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz" "version" "4.1.0" @@ -8490,7 +8508,7 @@ "version" "5.0.0" "through@^2.3.6": - "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" "version" "2.3.8" @@ -8510,7 +8528,7 @@ "setimmediate" "^1.0.4" "timsort@^0.3.0": - "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" "version" "0.3.0" @@ -8535,24 +8553,24 @@ "version" "1.0.5" "to-arraybuffer@^1.0.0": - "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" "version" "1.0.1" "to-fast-properties@^2.0.0": - "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" "version" "2.0.0" "to-object-path@^0.3.0": - "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" + "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" "version" "0.3.0" dependencies: "kind-of" "^3.0.2" "to-regex-range@^2.1.0": - "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" + "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" "version" "2.1.1" dependencies: @@ -8581,7 +8599,7 @@ "resolved" "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" "version" "1.1.0" -"tough-cookie@^2.3.3", "tough-cookie@~2.5.0": +"tough-cookie@^2.3.3": "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" "version" "2.5.0" @@ -8598,8 +8616,16 @@ "psl" "^1.1.28" "punycode" "^2.1.1" +"tough-cookie@~2.5.0": + "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" + "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" + "version" "2.5.0" + dependencies: + "psl" "^1.1.28" + "punycode" "^2.1.1" + "tr46@^1.0.1": - "integrity" "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=" + "integrity" "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" "version" "1.0.1" dependencies: @@ -8766,19 +8792,19 @@ "tslib" "^1.8.1" "tty-browserify@0.0.0": - "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" "version" "0.0.0" "tunnel-agent@^0.6.0": - "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=" + "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" "version" "0.6.0" dependencies: "safe-buffer" "^5.0.1" "tweetnacl@^0.14.3", "tweetnacl@~0.14.0": - "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" "version" "0.14.5" @@ -8790,7 +8816,7 @@ "prelude-ls" "^1.2.1" "type-check@~0.3.2": - "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=" + "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" "version" "0.3.2" dependencies: @@ -8829,23 +8855,20 @@ "is-typedarray" "^1.0.0" "typedarray@^0.0.6": - "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" "version" "0.0.6" -"typescript@^3.7.3", "typescript@>=2.4.0", "typescript@>=3.4 <4.0": +"typescript@^3.7.3", "typescript@>=3.4 <4.0": "integrity" "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz" "version" "3.9.10" -"typescript@^4.4.3": +"typescript@^4.4.3", "typescript@>=2.4.0", "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": "integrity" "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz" "version" "4.4.3" -"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": - "version" "3.9.10" - "typescript@4.2.4": "integrity" "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz" @@ -8895,7 +8918,7 @@ "set-value" "^2.0.1" "uniqs@^2.0.0": - "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI= sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" "version" "2.0.0" @@ -8924,7 +8947,7 @@ "version" "2.0.0" "unset-value@^1.0.0": - "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" + "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" "version" "1.0.0" dependencies: @@ -8953,12 +8976,12 @@ "punycode" "^2.1.0" "urix@^0.1.0": - "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" "version" "0.1.0" "url@^0.11.0": - "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" + "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==" "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" "version" "0.11.0" dependencies: @@ -8966,7 +8989,7 @@ "querystring" "0.2.0" "urlsafe-base64@^1.0.0": - "integrity" "sha1-I/iQaabGL0bPOh07ABac77kL4MY=" + "integrity" "sha1-I/iQaabGL0bPOh07ABac77kL4MY= sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" "resolved" "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz" "version" "1.0.0" @@ -8976,7 +8999,7 @@ "version" "3.1.1" "util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" "version" "1.0.2" @@ -8988,7 +9011,7 @@ "inherits" "2.0.3" "util@0.10.3": - "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=" + "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk= sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==" "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" "version" "0.10.3" dependencies: @@ -9027,7 +9050,7 @@ "version" "1.0.4" "verror@1.10.0": - "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=" + "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" "version" "1.10.0" dependencies: @@ -9057,7 +9080,7 @@ "xml-name-validator" "^3.0.0" "walker@^1.0.7", "walker@~1.0.5": - "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=" + "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= sha512-cF4je9Fgt6sj1PKfuFt9jpQPeHosM+Ryma/hfY9U7uXGKM7pJCsF0v2r55o+Il54+i77SyYWetB4tD1dEygRkw==" "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" "version" "1.0.7" dependencies: @@ -9082,14 +9105,14 @@ "watchpack-chokidar2" "^2.0.1" "wcwidth@^1.0.1": - "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=" + "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" "version" "1.0.1" dependencies: "defaults" "^1.0.3" "weak-map@~1.0.x": - "integrity" "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes=" + "integrity" "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= sha512-4u3oWsaowmfznU7I/PcCcq6T49fgxrgZ/1F+ZHQuFpBKruu0+yFsTxvI4uwypg4TE1ue1zhk7VsBTbuf3wimnQ==" "resolved" "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz" "version" "1.0.5" @@ -9183,25 +9206,25 @@ "is-symbol" "^1.0.3" "which-module@^2.0.0": - "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" "version" "2.0.0" -"which@^1.2.9", "which@^1.3.1": +"which@^1.2.9": "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" "version" "1.3.1" dependencies: "isexe" "^2.0.0" -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" +"which@^1.3.1": + "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" + "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + "version" "1.3.1" dependencies: "isexe" "^2.0.0" -"which@^2.0.2": +"which@^2.0.1", "which@^2.0.2": "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" "version" "2.0.2" @@ -9221,7 +9244,7 @@ "errno" "~0.1.7" "wrap-ansi@^3.0.1": - "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=" + "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==" "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" "version" "3.0.1" dependencies: @@ -9247,7 +9270,7 @@ "strip-ansi" "^6.0.0" "wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" "version" "1.0.2" From 456ca4c95a80da4111268897dab78c8b6c11dddb Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Sat, 17 Dec 2022 09:43:27 -0800 Subject: [PATCH 004/463] Updated README with a badge and removed LICENSE file to add a new one from GitHub. --- LICENSE | 21 ----------- README.md | 103 +++++++++--------------------------------------------- 2 files changed, 16 insertions(+), 108 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index fa8fb6b3..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 Phil Feairheller - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index c0a91350..95893870 100644 --- a/README.md +++ b/README.md @@ -1,94 +1,23 @@ -# TSDX User Guide +# TypeScript implementation of Signify - KERI Signing at the Edge -Congrats! You just saved yourself hours of work by bootstrapping this project with TSDX. Let’s get you oriented with what’s here and how to use it. +Project Name: signify-ts -> This TSDX setup is meant for developing libraries (not apps!) that can be published to NPM. If you’re looking to build a Node app, you could use `ts-node-dev`, plain `ts-node`, or simple `tsc`. +[![TypeScript](https://badges.frapsoft.com/typescript/code/typescript.png?v=101)](https://github.com/ellerbrock/typescript-badges/) -> If you’re new to TypeScript, checkout [this handy cheatsheet](https://devhints.io/typescript) +Of the five functions in a KERI agent, -## Commands +1. Key generation +2. Encrypted key storage +3. Event generation +4. Event signing +5. Event Validation -TSDX scaffolds your new library inside `/src`. +Signify-TS splits off two, key generation and event signing into a TypeScript library to provide "signing at the edge". +It accomplishes this by using libsodium to generate ed25510 key pairs for signing and x25519 key pairs for encrypting the +private keys, next public keys any salts used to generate the private keys. The encrypted private key and salts are then stored on a +remote cloud agent the never has access to the decryption keys. New key pair sets (current and next) will be generated +for inception and rotation events with only the public keys and blake3 hash of next keys made available to the agent. -To run TSDX, use: +The communication protocol between a Signify client and KERI agent will encode all cryptographic primitives as CESR base64 +encoded strings for the initial implementation. Support for binary CESR can be added in the future. -```bash -npm start # or yarn start -``` - -This builds to `/dist` and runs the project in watch mode so any edits you save inside `src` causes a rebuild to `/dist`. - -To do a one-off build, use `npm run build` or `yarn build`. - -To run tests, use `npm test` or `yarn test`. - -## Configuration - -Code quality is set up for you with `prettier`, `husky`, and `lint-staged`. Adjust the respective fields in `package.json` accordingly. - -### Jest - -Jest tests are set up to run with `npm test` or `yarn test`. - -### Bundle Analysis - -[`size-limit`](https://github.com/ai/size-limit) is set up to calculate the real cost of your library with `npm run size` and visualize the bundle with `npm run analyze`. - -#### Setup Files - -This is the folder structure we set up for you: - -```txt -/src - index.tsx # EDIT THIS -/test - blah.test.tsx # EDIT THIS -.gitignore -package.json -README.md # EDIT THIS -tsconfig.json -``` - -### Rollup - -TSDX uses [Rollup](https://rollupjs.org) as a bundler and generates multiple rollup configs for various module formats and build settings. See [Optimizations](#optimizations) for details. - -### TypeScript - -`tsconfig.json` is set up to interpret `dom` and `esnext` types, as well as `react` for `jsx`. Adjust according to your needs. - -## Continuous Integration - -### GitHub Actions - -Two actions are added by default: - -- `main` which installs deps w/ cache, lints, tests, and builds on all pushes against a Node and OS matrix -- `size` which comments cost comparison of your library on every pull request using [`size-limit`](https://github.com/ai/size-limit) - -## Optimizations - -Please see the main `tsdx` [optimizations docs](https://github.com/palmerhq/tsdx#optimizations). In particular, know that you can take advantage of development-only optimizations: - - -You can also choose to install and use [invariant](https://github.com/palmerhq/tsdx#invariant) and [warning](https://github.com/palmerhq/tsdx#warning) functions. - -## Module Formats - -CJS, ESModules, and UMD module formats are supported. - -The appropriate paths are configured in `package.json` and `dist/index.js` accordingly. Please report if any issues are found. - -## Named Exports - -Per Palmer Group guidelines, [always use named exports.](https://github.com/palmerhq/typescript#exports) Code split inside your React app instead of your React library. - -## Including Styles - -There are many ways to ship styles, including with CSS-in-JS. TSDX has no opinion on this, configure how you like. - -For vanilla CSS, you can include it at the root directory and add it to the `files` section in your `package.json`, so that it can be imported separately by your users and run through their bundler's loader. - -## Publishing to NPM - -We recommend using [np](https://github.com/sindresorhus/np). From b8245f4c6e4189de124c42ea67c88199dabc6a4c Mon Sep 17 00:00:00 2001 From: Philip Feairheller Date: Sat, 17 Dec 2022 12:47:07 -0500 Subject: [PATCH 005/463] Fixed title --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 95893870..794b0453 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,11 @@ -# TypeScript implementation of Signify - KERI Signing at the Edge +# TypeScript implementation of Signify Project Name: signify-ts [![TypeScript](https://badges.frapsoft.com/typescript/code/typescript.png?v=101)](https://github.com/ellerbrock/typescript-badges/) +## Signify - KERI Signing at the Edge + Of the five functions in a KERI agent, 1. Key generation From 508958e3df44f72dea58bc4406dafe902d56dca6 Mon Sep 17 00:00:00 2001 From: Philip Feairheller Date: Sat, 17 Dec 2022 12:49:25 -0500 Subject: [PATCH 006/463] Create LICENSE for Apache2 --- LICENSE | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. From 8232f24e05a27b1379a69f724e35087bc2a68e53 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 19 Dec 2022 12:34:36 -0800 Subject: [PATCH 007/463] Implementation and tests (ported from keripy) for: - RandyCreator - SaltyCreator - Creatory - Manager - Indexer - Siger And a temporary, in memory version of a potential Keeper interface. This will be replaced with one that persists using calls to a REST API. Signed-off-by: pfeairheller --- .github/workflows/main.yml | 31 +- .github/workflows/size.yml | 12 - keri-skwa.iml | 9 - package.json | 11 +- src/keri/core/cigar.ts | 4 +- src/keri/core/cipher.ts | 4 +- src/keri/core/core.ts | 62 +- src/keri/core/decrypter.ts | 6 +- src/keri/core/diger.ts | 4 +- src/keri/core/encrypter.ts | 4 +- src/keri/core/indexer.ts | 387 +- src/keri/core/manager.ts | 874 ++ src/keri/core/matter.ts | 27 +- src/keri/core/salter.ts | 19 +- src/keri/core/siger.ts | 34 +- src/keri/core/signer.ts | 17 +- src/keri/core/tsconfig.json | 2 +- src/keri/core/verfer.ts | 4 +- src/keri/hold/tsconfig.json | 100 - test/core/coring.test.ts | 92 + test/core/decrypter.test.ts | 6 +- test/core/diger.test.ts | 1 - test/core/encrypter.test.ts | 4 +- test/core/indexer.test.ts | 310 + test/core/manager.test.ts | 232 + test/core/salter.test.ts | 2 +- test/core/serder.test.ts | 340 - test/core/signer.test.ts | 4 +- yarn.lock | 17527 ++++++++++++++++++---------------- 29 files changed, 11070 insertions(+), 9059 deletions(-) delete mode 100644 .github/workflows/size.yml delete mode 100644 keri-skwa.iml create mode 100644 src/keri/core/manager.ts delete mode 100644 src/keri/hold/tsconfig.json create mode 100644 test/core/coring.test.ts create mode 100644 test/core/indexer.test.ts create mode 100644 test/core/manager.test.ts delete mode 100644 test/core/serder.test.ts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 535e4b7c..b8a4515d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,5 +1,11 @@ name: CI -on: [push] +on: + push: + branches: + - 'main' + - 'development' + pull_request: + workflow_dispatch: jobs: build: name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }} @@ -7,26 +13,19 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - node: ['10.x', '12.x', '14.x'] os: [ubuntu-latest, windows-latest, macOS-latest] steps: - name: Checkout repo uses: actions/checkout@v2 - - name: Use Node ${{ matrix.node }} - uses: actions/setup-node@v1 + - uses: actions/setup-node@v2 with: - node-version: ${{ matrix.node }} + node-version: '18.12.1' + cache: 'yarn' - - name: Install deps and build (with cache) - uses: bahmutov/npm-install@v1 - - - name: Lint - run: yarn lint - - - name: Test - run: yarn test --ci --coverage --maxWorkers=2 - - - name: Build - run: yarn build + - name: build + run: | + yarn + yarn test + yarn build diff --git a/.github/workflows/size.yml b/.github/workflows/size.yml deleted file mode 100644 index 6021cda3..00000000 --- a/.github/workflows/size.yml +++ /dev/null @@ -1,12 +0,0 @@ -name: size -on: [pull_request] -jobs: - size: - runs-on: ubuntu-latest - env: - CI_JOB_NUMBER: 1 - steps: - - uses: actions/checkout@v1 - - uses: andresz1/size-limit-action@v1 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/keri-skwa.iml b/keri-skwa.iml deleted file mode 100644 index 8021953e..00000000 --- a/keri-skwa.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/package.json b/package.json index a010bcab..106d1292 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "version": "0.1.0", - "license": "MIT", + "license": "Apache-2.0", "main": "dist/index.js", "typings": "dist/index.d.ts", "files": [ @@ -27,16 +27,16 @@ "singleQuote": true, "trailingComma": "es5" }, - "name": "keri-skwa", + "name": "signify-ts", "author": "Phil Feairheller", - "module": "dist/keri-skwa.esm.js", + "module": "dist/signify-ts.js", "size-limit": [ { - "path": "dist/keri-skwa.cjs.production.min.js", + "path": "dist/signify-ts.cjs.production.min.js", "limit": "10 KB" }, { - "path": "dist/keri-skwa.esm.js", + "path": "dist/signify.esm.js", "limit": "10 KB" } ], @@ -45,6 +45,7 @@ "@types/lodash": "^4.14.185", "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", + "jest": "^29.3.1", "size-limit": "^5.0.4", "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", diff --git a/src/keri/core/cigar.ts b/src/keri/core/cigar.ts index 45738ea5..7e46e6b4 100644 --- a/src/keri/core/cigar.ts +++ b/src/keri/core/cigar.ts @@ -4,8 +4,8 @@ import {Matter, MatterArgs} from "./matter"; export class Cigar extends Matter { private _verfer: Verfer - constructor({raw, code, qb64, qb64b, qb2, strip}:MatterArgs, verfer: Verfer) { - super({raw, code, qb64, qb64b, qb2, strip}); + constructor({raw, code, qb64, qb64b, qb2}:MatterArgs, verfer: Verfer) { + super({raw, code, qb64, qb64b, qb2}); this._verfer = verfer } diff --git a/src/keri/core/cipher.ts b/src/keri/core/cipher.ts index 6992e1a5..9e53eb5d 100644 --- a/src/keri/core/cipher.ts +++ b/src/keri/core/cipher.ts @@ -3,7 +3,7 @@ import {Decrypter} from "./decrypter"; export class Cipher extends Matter { - constructor({raw, code, qb64, qb64b, qb2, strip}:MatterArgs) { + constructor({raw, code, qb64, qb64b, qb2}:MatterArgs) { if (raw != undefined && code == undefined) { if (raw.length == Matter._rawSize(MtrDex.X25519_Cipher_Salt)) { code = MtrDex.X25519_Cipher_Salt @@ -11,7 +11,7 @@ export class Cipher extends Matter { code = MtrDex.X25519_Cipher_Salt } } - super({raw, code, qb64, qb64b, qb2, strip}); + super({raw: raw, code: code, qb64b: qb64b, qb64: qb64, qb2: qb2}); if (!(Array.from([MtrDex.X25519_Cipher_Salt, MtrDex.X25519_Cipher_Seed]).includes(this.code))) { throw new Error(`Unsupported Cipher code == ${this.code}`) diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index cd610205..bf053e50 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,4 +1,5 @@ const util = require('./utils'); +import {TextEncoder, TextDecoder} from 'util' export const VERRAWSIZE = 6; export const Versionage = {major: 1, minor: 0}; @@ -37,17 +38,9 @@ export const KsnLabels = ["v", "i", "s", "t", "p", "d", "f", "dt", "et", "kt", " export const RpyLabels = ["v", "t", "d", "dt", "r", "a"] +const encoder = new TextEncoder() +const decoder = new TextDecoder() -// let mimes = { -// json: "application/keri+json", -// mgpk: "application/keri+msgpack", -// cbor: "application/keri+cbor", -// }; -// let yourNumber = 899 -// let hexString = yourNumber.toString(16); -// let two = '29'.toString(16); -// let three = '39'.toString(16) -// let VERFMT = `KERI${hexString} ${two} ${three}_` /// version format string export const VERFULLSIZE = 17; export const MINSNIFFSIZE = 12 + VERFULLSIZE; export const MINSIGSIZE = 4; @@ -125,12 +118,53 @@ export const B64ChrByIdx = new Map([[0, 'A'], [1, 'B'], [2, 'C'] [46, 'u'], [47, 'v'], [48, 'w'], [49, 'x'], [50, 'y'], [51, 'z'],[ 52, '0'], [53, '1'], [54, '2'], [55, '3'], [56, '4'], [57, '5'], [58, '6'], [59, '7'], [60, '8'], [61, '9'], [62, '-'], [63, '_']]); -// TODO: Implement... -export function intToB64(i:number, l=1) { - console.log(B64ChrByIdx.get(i), l); - return "" +export const B64IdxByChr = new Map(Array.from(B64ChrByIdx, entry => [entry[1], entry[0]])) + +export function intToB64(i:number | undefined, l=1): string { + let out = "" + while(l != 0) { + out = B64ChrByIdx.get(i! % 64) + out + i = Math.floor(i! / 64) + if (i == 0) { + break + } + } + + for(let i = 0; i < (l - out.length); i++) { + out = "A" + out + } + + return out +} + +export function intToB64b(n: number, l: number = 1): Uint8Array { + let s = intToB64(n, l) + return b(s) +} + +export function b64ToInt(s: string): number { + if (s.length == 0) { + throw new Error("Empty string, conversion undefined.") + } + + let i = 0 + let rev = [...s].reverse() + rev.forEach((c: string, e: number) => { + i |= B64IdxByChr.get(c)! << (e * 6) + }) + + return i } +export function b(s?: string): Uint8Array { + return encoder.encode(s) +} + +export function d(u? :Uint8Array): string { + return decoder.decode(u) +} + + export function readInt(array: Uint8Array) { let value = 0; for (let i = 0; i < array.length; i++) { diff --git a/src/keri/core/decrypter.ts b/src/keri/core/decrypter.ts index 0c0e8c07..0a99f851 100644 --- a/src/keri/core/decrypter.ts +++ b/src/keri/core/decrypter.ts @@ -9,9 +9,9 @@ import {Salter} from "./salter"; export class Decrypter extends Matter { private readonly _decrypt: any; - constructor({raw, code = MtrDex.X25519_Private, qb64, qb64b, qb2, strip}:MatterArgs, seed: Uint8Array | undefined = undefined) { + constructor({raw, code = MtrDex.X25519_Private, qb64, qb64b, qb2}:MatterArgs, seed: Uint8Array | undefined = undefined) { try { - super({raw, code, qb64, qb64b, qb2, strip}) + super({raw, code, qb64, qb64b, qb2}) } catch(e) { if(e instanceof EmptyMaterialError) { if (seed != undefined) { @@ -23,7 +23,7 @@ export class Decrypter extends Matter { sigkey.set(signer.raw) sigkey.set(signer.verfer.raw, signer.raw.length) raw = libsodium.crypto_sign_ed25519_sk_to_curve25519(sigkey) - super({raw, code, qb64, qb64b, qb2, strip}) + super({raw, code, qb64, qb64b, qb2}) } else { throw e diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index db10d184..f9f6358c 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -13,9 +13,9 @@ export class Diger extends Matter { private readonly _verify: any // This constructor will assign digest verification function to ._verify - constructor({raw, code = MtrDex.Blake3_256, qb64, qb64b, qb2, strip}: MatterArgs, ser: Uint8Array | null = null) { + constructor({raw, code = MtrDex.Blake3_256, qb64, qb64b, qb2}: MatterArgs, ser: Uint8Array | null = null) { try { - super({raw, code, qb64, qb64b, qb2, strip}); + super({raw, code, qb64, qb64b, qb2}); } catch (error: any) { if (ser == null) { throw error; diff --git a/src/keri/core/encrypter.ts b/src/keri/core/encrypter.ts index 36287120..10af3162 100644 --- a/src/keri/core/encrypter.ts +++ b/src/keri/core/encrypter.ts @@ -9,7 +9,7 @@ import {arrayEquals} from "./utils"; export class Encrypter extends Matter { private _encrypt: any; - constructor({raw, code = MtrDex.X25519, qb64, qb64b, qb2, strip}:MatterArgs, verkey: Uint8Array | null = null) { + constructor({raw, code = MtrDex.X25519, qb64, qb64b, qb2}:MatterArgs, verkey: Uint8Array | null = null) { if (raw == undefined && verkey != null) { let verfer = new Verfer({qb64b: verkey}) if (!Array.from([MtrDex.Ed25519N, MtrDex.Ed25519]).includes(verfer.code)) { @@ -18,7 +18,7 @@ export class Encrypter extends Matter { raw = libsodium.crypto_sign_ed25519_pk_to_curve25519(verfer.raw) } - super({raw, code, qb64, qb64b, qb2, strip}); + super({raw, code, qb64, qb64b, qb2}); if (this.code == MtrDex.X25519) { this._encrypt = this._x25519; diff --git a/src/keri/core/indexer.ts b/src/keri/core/indexer.ts index 446064d2..a24a8511 100644 --- a/src/keri/core/indexer.ts +++ b/src/keri/core/indexer.ts @@ -1,6 +1,6 @@ - -export {} - +import {EmptyMaterialError} from "./kering"; +import {b, b64ToInt, d, intToB64, readInt} from "./core"; +const Base64 = require('urlsafe-base64'); export class IndexerCodex { Ed25519_Sig: string = 'A' // Ed25519 sig appears same in both lists if any. @@ -20,6 +20,387 @@ export class IndexerCodex { export const IdrDex = new IndexerCodex() +export class IndexedSigCodex { + Ed25519_Sig: string = 'A' // Ed25519 sig appears same in both lists if any. + Ed25519_Crt_Sig: string = 'B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Sig: string = 'C' // ECDSA secp256k1 sig appears same in both lists if any. + ECDSA_256k1_Crt_Sig: string = 'D' // ECDSA secp256k1 sig appears in current list. + Ed448_Sig: string = '0A' // Ed448 signature appears in both lists. + Ed448_Crt_Sig: string = '0B' // Ed448 signature appears in current list only. + Ed25519_Big_Sig: string = '2A' // Ed25519 sig appears in both lists. + Ed25519_Big_Crt_Sig: string = '2B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Big_Sig: string = '2C' // ECDSA secp256k1 sig appears in both lists. + ECDSA_256k1_Big_Crt_Sig: string = '2D' // ECDSA secp256k1 sig appears in current list only. + Ed448_Big_Sig: string = '3A' // Ed448 signature appears in both lists. + Ed448_Big_Crt_Sig: string = '3B' // Ed448 signature appears in current list only. + + has(prop: string): boolean { + let m = new Map(Array.from(Object.entries(this), (v) => [v[1], v[0]])) + return m.has(prop) + } +} + +export const IdxSigDex = new IndexedSigCodex() + +export class IndexedCurrentSigCodex { + Ed25519_Crt_Sig: string = 'B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Crt_Sig: string = 'D' // ECDSA secp256k1 sig appears in current list only. + Ed448_Crt_Sig: string = '0B' // Ed448 signature appears in current list only. + Ed25519_Big_Crt_Sig: string = '2B' // Ed25519 sig appears in current list only. + ECDSA_256k1_Big_Crt_Sig: string = '2D' // ECDSA secp256k1 sig appears in current list only. + Ed448_Big_Crt_Sig: string = '3B' // Ed448 signature appears in current list only. + + has(prop: string): boolean { + let m = new Map(Array.from(Object.entries(this), (v) => [v[1], v[0]])) + return m.has(prop) + } +} + +export const IdxCrtSigDex = new IndexedCurrentSigCodex() + +export class IndexedBothSigCodex { + Ed25519_Sig: string = 'A' // Ed25519 sig appears same in both lists if any. + ECDSA_256k1_Sig: string = 'C' // ECDSA secp256k1 sig appears same in both lists if any. + Ed448_Sig: string = '0A' // Ed448 signature appears in both lists. + Ed25519_Big_Sig: string = '2A' // Ed25519 sig appears in both listsy. + ECDSA_256k1_Big_Sig: string = '2C' // ECDSA secp256k1 sig appears in both lists. + Ed448_Big_Sig: string = '3A' // Ed448 signature appears in both lists. + + has(prop: string): boolean { + let m = new Map(Array.from(Object.entries(this), (v) => [v[1], v[0]])) + return m.has(prop) + } +} + +export const IdxBthSigDex = new IndexedBothSigCodex() + +export class Xizage { + public hs: number + public ss: number + public os: number + public fs?: number + public ls: number + + constructor(hs:number, ss: number, os: number, fs?: number, ls?: number) { + this.hs = hs + this.ss = ss + this.os = os + this.fs = fs + this.ls = ls! + } +} + +export interface IndexerArgs { + raw?: Uint8Array | undefined, + code?: string | undefined + index?: number, + ondex?: number, + qb64b?: Uint8Array | undefined, + qb64?: string | undefined, + qb2?: Uint8Array | undefined, +} + +export class Indexer { + public Codex = IdrDex + + static Hards = new Map([['A', 1], ['B', 1], ['C', 1], ['D', 1], ['E', 1], ['F', 1], ['G', 1], ['H', 1], + ['I', 1], ['J', 1], ['K', 1], ['L', 1], ['M', 1], ['N', 1], ['O', 1], ['P', 1], ['Q', 1], ['R', 1], ['S', 1], + ['T', 1], ['U', 1], ['V', 1], ['W', 1], ['X', 1], ['Y', 1], ['Z', 1], ['a', 1], ['b', 1], ['c', 1], ['d', 1], + ['e', 1], ['f', 1], ['g', 1], ['h', 1], ['i', 1], ['j', 1], ['k', 1], ['l', 1], ['m', 1], ['n', 1], ['o', 1], + ['p', 1], ['q', 1], ['r', 1], ['s', 1], ['t', 1], ['u', 1], ['v', 1], ['w', 1], ['x', 1], ['y', 1], ['z', 1], + ['0', 2], ['1', 2], ['2', 2], ['3', 2], ['4', 2]] + ) + + static Sizes = new Map(Object.entries({ + 'A': new Xizage(1, 1, 0, 88, 0), + 'B': new Xizage(1, 1, 0, 88, 0), + 'C': new Xizage(1, 1, 0, 88, 0), + 'D': new Xizage(1, 1, 0, 88, 0), + '0A': new Xizage(2, 2, 1, 156, 0), + '0B': new Xizage(2, 2, 1, 156, 0), + + '2A': new Xizage(2, 4, 2, 92, 0), + '2B': new Xizage(2, 4, 2, 92, 0), + '2C': new Xizage(2, 4, 2, 92, 0), + '2D': new Xizage(2, 4, 2, 92, 0), + + '3A': new Xizage(2, 6, 3, 160, 0), + '3B': new Xizage(2, 6, 3, 160, 0), + + '0z': new Xizage(2, 2, 0, undefined, 0), + '1z': new Xizage(2, 2, 1, 76, 1), + '4z': new Xizage(2, 6, 3, 80, 1), + })) + + private _code: string = ""; + private _index: number = -1; + private _ondex: number | undefined; + private _raw: Uint8Array = new Uint8Array(0); + + constructor({raw = undefined, code = IdrDex.Ed25519_Sig, index = 0, ondex = undefined, + qb64b = undefined, qb64 = undefined, qb2 = undefined}: IndexerArgs) { + + if (raw != undefined) { + if (code == undefined) { + throw new EmptyMaterialError(`Improper initialization need either (raw and code) or qb64b or qb64 or qb2.`) + } + + if (!Indexer.Sizes.has(code)) { + throw new Error(`Unsupported code=${code}.`) + } + + let xizage = Indexer.Sizes.get(code)! + let os = xizage.os + let fs = xizage.fs + let cs = xizage.hs + xizage.ss + let ms = xizage.ss - xizage.os + + if (!Number.isInteger(index) || index < 0 || index > (64 ** ms - 1)) { + throw new Error(`Invalid index=${index} for code=${code}.`) + } + + if (ondex != undefined && xizage.os != 0 && !(ondex >= 0 && ondex <= (64 ** os - 1))) { + throw new Error(`Invalid ondex=${ondex} for code=${code}.`) + } + + if (IdxCrtSigDex.has(code) && ondex != undefined) { + throw new Error(`Non None ondex=${ondex} for code=${code}.`) + } + + if (IdxBthSigDex.has(code)) { + if (ondex == undefined) { + ondex = index + } else { + if (ondex != index && os == 0) { + throw new Error(`Non matching ondex=${ondex} and index=${index} for code=${code}.`) + } + } + } + + if (fs == undefined) { + throw new Error("variable length unsupported") + } + // TODO: Don't support this code + // if not fs: # compute fs from index + // if cs % 4: + // raise InvalidCodeSizeError(f"Whole code size not multiple of 4 for " + // f"variable length material. cs={cs}.") + // if os != 0: + // raise InvalidCodeSizeError(f"Non-zero other index size for " + // f"variable length material. os={os}.") + // fs = (index * 4) + cs + let rawsize = Math.floor((fs - cs) * 3 / 4) + raw = raw.slice(0, rawsize) + + if (raw.length != rawsize) { + throw new Error(`Not enougth raw bytes for code=${code} and index=${index} ,expected ${rawsize} got ${raw.length}.`) + } + + this._code = code + this._index = index + this._ondex = ondex + this._raw = raw + + } else if (qb64b != undefined) { + let qb64 = d(qb64b) + this._exfil(qb64) + + } else if (qb64 != undefined) { + this._exfil(qb64) + } else if (qb2 != undefined) { + this._bexfil(qb2) + } else { + throw new EmptyMaterialError(`Improper initialization need either (raw and code and index) or qb64b or qb64 or qb2.`) + } + } + + private _bexfil(qb2: Uint8Array) { + throw new Error(`qb2 not yet supported: ${qb2}`) + } + + public static _rawSize(code: string) { + let xizage = Indexer.Sizes.get(code)! + return Math.floor(xizage.fs! - (xizage.hs + xizage.ss) * 3 / 4) + } + + get code(): string { + return this._code + } + + get raw(): Uint8Array { + return this._raw + } + + get index(): number { + return this._index + } + + get ondex(): number | undefined { + return this._ondex + } + + get qb64(): string{ + return this._infil(); + } + + get qb64b() { + return b(this.qb64) + } + + + private _infil(): string { + let code = this.code + let index = this.index + let ondex = this.ondex + let raw = this.raw + + let ps = (3 - (raw.length % 3)) % 3 + let xizage = Indexer.Sizes.get(code)! + let cs = xizage.hs + xizage.ss + let ms = xizage.ss - xizage.os + + // TODO: don't support this code + // if not fs: # compute fs from index + // if cs % 4: + // raise InvalidCodeSizeError(f"Whole code size not multiple of 4 for " + // f"variable length material. cs={cs}.") + // if os != 0: + // raise InvalidCodeSizeError(f"Non-zero other index size for " + // f"variable length material. os={os}.") + // fs = (index * 4) + cs + + if (index < 0 || index > (64 ** ms -1)) { + throw new Error(`Invalid index=${index} for code=${code}.`) + } + + if (ondex != undefined && xizage.os != 0 && !(ondex >= 0 && ondex <= (64 ** xizage.os - 1))) { + throw new Error(`Invalid ondex=${ondex} for os=${xizage.os} and code=${code}.`) + } + + let both = `${code}${intToB64(index, ms)}${intToB64(ondex == undefined ? 0 : ondex, xizage.os)}` + + if (both.length != cs) { + throw new Error(`Mismatch code size = ${cs} with table = ${both.length}.`) + } + + if ((cs % 4) != ps - xizage.ls) { + throw new Error(`Invalid code=${both} for converted raw pad size=${ps}.`) + } + + let bytes = new Uint8Array(ps + raw.length); + for (let i = 0; i < ps; i++) { + bytes[i] = 0; + } + for (let i = 0; i < raw.length; i++) { + let odx = i + ps + bytes[odx] = raw[i]; + } + + let full = both + Base64.encode(Buffer.from(bytes)).slice(ps - xizage.ls) + if (full.length != xizage.fs) { + throw new Error(`Invalid code=${both} for raw size=${raw.length}.`) + } + + return full + } + + _exfil(qb64: string) { + if (qb64.length == 0) { + throw new Error("Empty Material") + } + + let first = qb64[0]; + if (!Array.from(Indexer.Hards.keys()).includes(first)) { + throw new Error(`Unexpected code ${first}`) + } + + let hs = Indexer.Hards.get(first)! + if ((qb64.length) < hs) { + throw new Error(`Need ${hs - qb64.length} more characters.`) + } + + let hard = qb64.slice(0, hs) + if (!Array.from(Indexer.Sizes.keys()).includes(hard)) { + throw new Error(`Unsupported code ${hard}`) + } + + let xizage = Indexer.Sizes.get(hard)! + let cs = xizage.hs + xizage.ss // both hard + soft code size + let ms = xizage.ss - xizage.os + + if (qb64.length < cs) { + throw new Error(`Need ${cs - qb64.length} more characters.`) + } + + let sindex = qb64.slice(hs, hs+ms) + let index = b64ToInt(sindex) + + let sondex = qb64.slice(hs+ms, hs+ms+xizage.os) + let ondex + if (IdxCrtSigDex.has(hard)) { + ondex = xizage.os != 0 ? b64ToInt(sondex) : undefined + if (ondex != 0 && ondex != undefined) { + throw new Error(`Invalid ondex=${ondex} for code=${hard}.`) + } else { + ondex = undefined + } + } else { + ondex = xizage.os != 0 ? b64ToInt(sondex) : index + } + + if (xizage.fs == undefined) { + throw new Error("variable length not supported") + } + // TODO: support variable length + // if not fs: # compute fs from index which means variable length + // if cs % 4: + // raise ValidationError(f"Whole code size not multiple of 4 for " + // f"variable length material. cs={cs}.") + // if os != 0: + // raise ValidationError(f"Non-zero other index size for " + // f"variable length material. os={os}.") + // fs = (index * 4) + cs + + if (qb64.length < xizage.fs) { + throw new Error(`Need ${xizage.fs - qb64.length} more chars.`) + } + + qb64 = qb64.slice(0, xizage.fs) + let ps = cs % 4 + let pbs = 2 * ps != 0 ? ps : xizage.ls + let raw + if (ps != 0) { + let base = new Array(ps + 1).join('A') + qb64.slice(cs); + let paw = Base64.decode(base) // decode base to leave prepadded raw + let pi = (readInt(paw.slice(0, ps))) // prepad as int + if (pi & (2 ** pbs - 1)) { // masked pad bits non-zero + throw new Error(`Non zeroed prepad bits = {pi & (2 ** pbs - 1 ):<06b} in {qb64b[cs:cs+1]}.`) + } + raw = paw.slice(ps) // strip off ps prepad paw bytes + } else { + let base = qb64.slice(cs); + let paw = Base64.decode(base); + let li = readInt(paw.slice(0, xizage!.ls)) + if (li != 0) { + if (li == 1) { + throw new Error(`Non zeroed lead byte = 0x{li:02x}.`) + } else { + throw new Error(`Non zeroed lead bytes = 0x{li:04x}`) + } + } + raw = paw.slice(xizage!.ls) + } + + if (raw.length != Math.floor((qb64.length - cs) * 3 / 4)) { + throw new Error(`Improperly qualified material = ${qb64}`) + } + + this._code = hard + this._index = index + this._ondex = ondex + this._raw = new Uint8Array(raw) // must be bytes for crpto opts and immutable not bytearray + } +} diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts new file mode 100644 index 00000000..a4a96ed5 --- /dev/null +++ b/src/keri/core/manager.ts @@ -0,0 +1,874 @@ +import {Encrypter} from "./encrypter" +import {Decrypter} from "./decrypter" +import {Salter, Tier} from "./salter" +import {Signer} from "./signer" +import {Verfer} from "./verfer"; +import {MtrDex} from "./matter"; +import {Diger} from "./diger"; +import {Cigar} from "./cigar"; +import {Siger} from "./siger"; +import {b} from "./core"; + + +export enum Algos { + randy = "randy", + salty = "salty" +} + +class PubLot { + public pubs: Array = new Array() // list qb64 public keys. + public ridx: number = 0 // index of rotation (est event) that uses public key set + public kidx: number = 0 // index of key in sequence of public keys + public dt:string = "" // datetime ISO8601 when key set created +} + +class PreSit { + public old: PubLot = new PubLot() //previous publot + public new: PubLot = new PubLot() //newly current publot + public nxt: PubLot = new PubLot() //next public publot +} + +class PrePrm { + public pidx: number = 0 // prefix index for this keypair sequence + public algo: Algos = Algos.salty // salty default uses indices and salt to create new key pairs + public salt: string = '' // empty salt used for salty algo. + public stem: string = '' // default unique path stem for salty algo + public tier: string = '' // security tier for stretch index salty algo + +} + +class PubSet { + pubs: Array = new Array() // list qb64 public keys. +} + +export interface Creator { + create(codes: Array | undefined, count: number, code: string, transferable: boolean, + pidx: number, ridx: number, kidx: number, temp: boolean): Array + get salt(): string + get stem(): string + get tier(): Tier +} + +export class RandyCreator implements Creator { + + create(codes: Array | undefined = undefined, count: number = 1, code: string = MtrDex.Ed25519_Seed, + transferable: boolean = true): Array { + let signers = new Array() + if (codes == undefined) { + codes = new Array(count).fill(code) + } + + codes.forEach(function(code) { + signers.push(new Signer({code: code, transferable: transferable})) + }) + + return signers + } + + get salt(): string { + return ""; + } + + get stem(): string { + return ""; + } + + get tier(): Tier { + return Tier.low; + } +} + +export class SaltyCreator implements Creator { + + public salter: Salter + private readonly _stem: string + constructor(salt: string | undefined = undefined, tier: Tier | undefined = undefined, + stem: string | undefined = undefined) { + + this.salter = new Salter({qb64: salt, tier: tier}) + this._stem = stem == undefined ? "" : stem + + } + + get salt(): string { + return this.salter.qb64; + } + + get stem(): string { + return this._stem; + } + + get tier(): Tier { + return this.salter.tier; + } + + create(codes: Array | undefined = undefined, count: number = 1, code: string = MtrDex.Ed25519_Seed, + transferable: boolean = true, pidx: number = 0, ridx: number = 0, kidx: number = 0, + temp: boolean = false): Array { + let signers = new Array() + if (codes == undefined) { + codes = new Array(count).fill(code) + } + + let stem = this.stem == "" ? pidx.toString(16) : this.stem + + codes.forEach((code, idx) => { + let path = stem + ridx.toString(16) + (kidx+idx).toString(16) + signers.push(this.salter.signer(code, transferable, path, this.tier, temp)) + }) + + return signers + } + +} + +export class Creatory { + private _make: any + constructor(algo: Algos = Algos.salty) { + switch(algo) { + case Algos.randy: + this._make = this._makeRandy + break; + case Algos.salty: + this._make = this._makeSalty + break; + default: + throw new Error(`unsupported algo=${algo}`) + } + } + + make(...args: any[]) { + return this._make(...args) + } + + _makeRandy() { + return new RandyCreator() + } + + _makeSalty(...args: any[]) { + return new SaltyCreator(...args) + } +} + +export interface ManagerArgs { + ks?: KeyStore | undefined + seed?: string | undefined + aeid?: string | undefined + pidx?: number | undefined + algo?: string | undefined + salt?: string | undefined + tier?: string | undefined +} + +interface InceptArgs { + icodes?: any | undefined + icount?: number + icode?: string + ncodes?: any | undefined + ncount?: number + ncode?: string + dcode?: string + algo?: Algos | undefined + salt?: string | undefined + stem?: string | undefined + tier?: string | undefined + rooted?: boolean + transferable?: boolean + temp?: boolean +} + +interface RotateArgs { + pre: string + ncodes?: any | undefined + ncount?: number + ncode?: string + dcode?: string + transferable?: boolean + temp?: boolean + erase?: boolean +} + +interface SignArgs { + ser: Uint8Array + pubs?: Array | undefined + verfers?: Array | undefined + indexed?: boolean + indices?: Array | undefined + ondices?: Array | undefined +} + +export class Manager { + private _seed: string + private _encrypter: Encrypter | undefined + private _decrypter: Decrypter | undefined + private _ks: KeyStore + + constructor({ks, seed, aeid, pidx, algo, salt, tier}: ManagerArgs) { + + this._ks = ks == undefined ? new Keeper() : ks + this._seed = seed == undefined ? "" : seed + this._encrypter = undefined + this._decrypter = undefined + + aeid = aeid == undefined ? "" : aeid + pidx = pidx == undefined ? 0 : pidx + algo = algo == undefined ? Algos.salty : algo + + if (salt == undefined) { + salt = new Salter({}).qb64 + } else { + if (new Salter({qb64: salt}).qb64 != salt) { + throw new Error(`Invalid qb64 for salt=${salt}.`) + } + } + + tier = tier == undefined ? Tier.low : tier + + if (this.pidx == undefined) { + this.pidx = pidx + } + + if (this.algo == undefined) { + this.algo = algo + } + + if (this.salt == undefined) { + this.salt = salt + } + + if (this.tier == undefined) { + this.tier = tier + } + + if (this.aeid == undefined) { + this.updateAeid(aeid, this._seed) + } + } + + get ks(): KeyStore { + return this._ks + } + + get encrypter(): Encrypter { + return this._encrypter! + } + + get decrypter(): Decrypter { + return this._decrypter! + } + + get seed(): string { + return this._seed + } + + get aeid(): string | undefined { + return this.ks.getGbls('aeid') + } + + get pidx(): number | undefined { + let pidx = this.ks.getGbls('pidx') + if (pidx != undefined) { + return parseInt(pidx, 16) + } + return undefined + } + + set pidx(pidx: number | undefined) { + this.ks.pinGbls('pidx', pidx!.toString(16)) + } + + get salt(): string | undefined{ + let salt = this.ks.getGbls('salt') + if (this._decrypter != undefined) { + return this._decrypter?.decrypt(b(salt)).qb64 + } + return salt + } + + set salt(salt: string | undefined) { + if(this._encrypter != undefined) { + salt = this._encrypter.encrypt(b(salt)).qb64 + } + this.ks.pinGbls('salt', salt!) + } + + get tier(): string | undefined { + return this.ks.getGbls('tier') + } + + set tier(tier: string | undefined) { + this.ks.pinGbls('tier', tier!) + } + + get algo(): Algos | undefined { + let a = this.ks.getGbls('algo') + let ta = a as keyof typeof Algos + return Algos[ta] + } + + set algo(algo: string | undefined) { + this.ks.pinGbls('algo', algo!) + } + + private updateAeid(aeid: string | undefined, seed: string) { + if (this.aeid != undefined) { + let seed = b(this._seed) + if (this._seed == undefined || !this._encrypter?.verifySeed(seed)) { + throw new Error(`Last seed missing or provided last seed " + "not associated with last aeid=${this.aeid}.`) + } + } + + if (aeid != "" && aeid != undefined) { + if (aeid != this.aeid) { + this._encrypter = new Encrypter({}, b(aeid)) + if (seed == undefined || !this._encrypter.verifySeed(b(seed))) { + throw new Error(`Seed missing or provided seed not associated" + " with provided aeid=${aeid}.`) + } + } + } else { + // Unlike KERIpy, we don't support unencrypted secrets + throw new Error("Invalid use of Manager, unencrypted keystore not supported") + } + + let salt = this.salt + if(salt != undefined) { + this.salt = salt + } + + if (this._decrypter != undefined) { + for (const [keys, data] of this.ks.prmsElements()) { + if (data.salt != undefined) { + let salter = this._decrypter.decrypt(b(data.salt)) + data.salt = this._encrypter == undefined ? salter.qb64 : this._encrypter.encrypt(null, salter) + this.ks.pinPrms(keys, data) + } + } + + for (const [pubKey, signer] of this.ks.prisElements(this._decrypter)) { + this.ks.pinPris(pubKey, signer, this._encrypter!) + } + + } + + this.ks.pinGbls("aeid", aeid) // set aeid in db + this._seed = seed // set .seed in memory + + // update .decrypter + this._decrypter = seed != undefined ? new Decrypter({}, b(seed)) : undefined + } + + incept({icodes=undefined, icount=1, icode=MtrDex.Ed25519_Seed, + ncodes=undefined, ncount=1, ncode=MtrDex.Ed25519_Seed, + dcode=MtrDex.Blake3_256, algo=undefined, salt=undefined, stem=undefined, tier=undefined, + rooted=true, transferable=true, temp=false }: InceptArgs): [Array, Array] { + + if (rooted && algo == undefined) { + algo = this.algo + } + if (rooted && salt == undefined) { + salt = this.salt + } + if (rooted && tier == undefined) { + tier = this.tier + } + + let pidx = this.pidx + let ridx = 0 + let kidx = 0 + + let creator = new Creatory(algo).make(salt, tier, stem) + + if (icodes == undefined) { + if (icount < 0) { + throw new Error(`Invalid icount=${icount} must be >= 0.`) + } + + icodes = new Array(icount).fill(icode) + } + + let isigners = creator.create(icodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx, kidx, temp) + let verfers = Array.from(isigners, (signer: Signer) => signer.verfer) + + if (ncodes == undefined) { + if (ncount < 0) { + throw new Error(`Invalid ncount=${ncount} must be >= 0.`) + } + + ncodes = new Array(ncount).fill(ncode) + } + + let nsigners = creator.create(ncodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx+1, kidx+icodes.length, + temp) + + let digers = Array.from(nsigners, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) + + let pp = new PrePrm() + pp.pidx = pidx! + pp.algo = algo! + pp.salt = this._encrypter?.encrypt(b(creator.salt)).qb64 + pp.stem = creator.stem + pp.tier = creator.tier + + let dt = new Date().toString() + let nw = new PubLot() + nw.pubs = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + nw.ridx = ridx + nw.kidx = kidx + nw.dt = dt + + let nt = new PubLot() + nt.pubs = Array.from(nsigners, (signer: Signer) => signer.verfer.qb64) + nt.ridx = ridx + 1 + nt.kidx = kidx + icodes.length + nt.dt = dt + + let ps = new PreSit() + ps.new = nw + ps.nxt = nt + + let pre = verfers[0].qb64 + if (!this.ks.putPres(pre, verfers[0].qb64b)) { + throw new Error(`Already incepted pre=${pre}.`) + } + + if (!this.ks.putPrms(pre, pp)) { + throw new Error(`Already incepted prm for pre=${pre}.`) + } + + this.pidx = pidx! + 1 + + if (!this.ks.putSits(pre, ps)) { + throw new Error(`Already incepted sit for pre=${pre}.`) + } + + isigners.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this._encrypter!) + }) + + let pubSet = new PubSet() + pubSet.pubs = ps.new.pubs + this.ks.putPubs(riKey(pre, ridx), pubSet) + + nsigners.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this._encrypter!) + }) + + let nxtPubSet = new PubSet() + nxtPubSet.pubs = ps.nxt.pubs + this.ks.putPubs(riKey(pre, ridx+1), nxtPubSet) + + return [verfers, digers] + } + + move(old: string, gnu: string) { + if (old == gnu) { + return + } + + if (this.ks.getPres(old) == undefined) { + throw new Error(`Nonexistent old pre=${old}, nothing to assign.`) + } + + if (this.ks.getPres(gnu) != undefined) { + throw new Error(`Preexistent new pre=${gnu} may not clobber.`) + } + + let oldprm = this.ks.getPrms(old) + if (oldprm == undefined) { + throw new Error(`Nonexistent old prm for pre=${old}, nothing to move.`) + } + + if (this.ks.getPrms(gnu) != undefined) { + throw new Error(`Preexistent new prm for pre=${gnu} may not clobber.`) + } + + let oldsit = this.ks.getSits(old) + if (oldsit == undefined) { + throw new Error(`Nonexistent old sit for pre=${old}, nothing to move.`) + } + + if (this.ks.getSits(gnu) != undefined) { + throw new Error(`Preexistent new sit for pre=${gnu} may not clobber.`) + } + + if (!this.ks.putPrms(gnu, oldprm)) { + throw new Error(`Failed moving prm from old pre=${old} to new pre=${gnu}.`) + } else { + this.ks.remPrms(old) + } + + if (!this.ks.putSits(gnu, oldsit)) { + throw new Error(`Failed moving sit from old pre=${old} to new pre=${gnu}.`) + } else { + this.ks.remSits(old) + } + + let i = 0 + while (true) { + let pl = this.ks.getPubs(riKey(old, i)) + if (pl == undefined) { + break + } + + if (!this.ks.putPubs(riKey(gnu, i), pl)) { + throw new Error(`Failed moving pubs at pre=${old} ri=${i} to new pre=${gnu}`) + } + i = i + 1 + } + + if (!this.ks.pinPres(old, b(gnu))) { + throw new Error(`Failed assiging new pre=${gnu} to old pre=${old}.`) + } + + if (!this.ks.putPres(gnu, b(gnu))) { + throw new Error(`Failed assiging new pre=${gnu}.`) + } + } + + rotate({pre, ncodes=undefined, ncount=1, ncode=MtrDex.Ed25519_Seed, dcode=MtrDex.Blake3_256, + transferable=true, temp=false, erase=true}:RotateArgs) { + let pp = this.ks.getPrms(pre) + if (pp == undefined) { + throw new Error(`Attempt to rotate nonexistent pre=${pre}.`) + } + + let ps = this.ks.getSits(pre) + if (ps == undefined) { + throw new Error(`Attempt to rotate nonexistent pre=${pre}.`) + } + + if (ps.nxt.pubs == undefined) { + throw new Error(`Attempt to rotate nontransferable pre=${pre}.`) + } + + let old = ps.old + ps.old = ps.new + ps.new = ps.nxt + + if (this.aeid != undefined && this.decrypter == undefined) { + throw new Error("Unauthorized decryption attempt. Aeid but no decrypter.") + } + + let verfers = new Array() + ps.new.pubs.forEach((pub) => { + let signer = this.ks.getPris(pub, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${pub}`) + } + + verfers.push(signer.verfer) + }) + + let salt = pp.salt + if (salt != undefined && salt != "") { + salt = this.decrypter.decrypt(b(salt)).qb64 + } + + let creator = new Creatory(pp.algo).make(salt, pp.stem, pp.tier) + + if (ncodes == undefined) { + if (ncount < 0) { + throw new Error(`Invalid count=${ncount} must be >= 0`) + } + ncodes = new Array(ncount).fill(ncode) + } + + let pidx = pp.pidx + let ridx = ps.new.ridx + 1 + let kidx = ps.nxt.kidx + ps.new.pubs.length + + let signers = creator.create(ncodes, 0, undefined, transferable, pidx, ridx, kidx, temp) + let digers = Array.from(signers, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) + + let dt = new Date().toString() + ps.nxt = new PubLot() + ps.nxt.pubs = Array.from(signers, (signer: Signer) => signer.verfer.qb64) + ps.nxt.ridx = ridx + ps.nxt.kidx = kidx + ps.nxt.dt = dt + + if (!this.ks.pinSits(pre, ps)) { + throw new Error(`Problem updating pubsit db for pre=${pre}.`) + } + + signers.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this.encrypter) + }) + + let newPs = new PubSet() + newPs.pubs = ps.nxt.pubs + this.ks.putPubs(riKey(pre, ps.nxt.ridx), newPs) + + if (erase) { + old.pubs.forEach((pub) => { + this.ks.remPubs(pub) + }) + } + + return [verfers, digers] + } + + sign({ser, pubs=undefined, verfers=undefined, indexed=true, indices=undefined, ondices=undefined}: SignArgs) { + let signers = new Array() + + if (pubs == undefined && verfers == undefined) { + throw new Error("pubs or verfers required") + } + + if (pubs != undefined) { + if (this.aeid != undefined && this.decrypter == undefined) { + throw new Error("Unauthorized decryption attempt. Aeid but no decrypter.") + } + + pubs.forEach((pub) => { + let signer = this.ks.getPris(pub, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${pub}`) + } + signers.push(signer) + }) + } else { + verfers!.forEach((verfer: Verfer) => { + let signer = this.ks.getPris(verfer.qb64, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${verfer.qb64}`) + } + signers.push(signer) + }) + } + + if (indices != undefined && indices.length != signers.length) { + throw new Error(`Mismatch indices length=${indices.length} and resultant signers length=${signers.length}`) + } + + if (ondices != undefined && ondices.length != signers.length) { + throw new Error(`Mismatch ondices length=${ondices.length} and resultant signers length=${signers.length}`) + } + + if (indexed) { + let sigers = new Array() + signers.forEach((signer, idx) => { + let i + if (indices != undefined) { + i = indices[idx] + if (i < 0) { + throw new Error(`Invalid signing index = ${i}, not whole number.`) + } + } else { + i = idx + } + + let o + if (ondices != undefined) { + o = ondices[idx] + if (o <= 0) { + throw new Error(`Invalid other signing index = {o}, not None or not whole number.`) + } + } else { + o = i + } + + let only = o == undefined + sigers.push(signer.sign(ser, i, only, o) as Siger) + }) + return sigers + } else { + let cigars = new Array() + signers.forEach((signer: Signer) => { + cigars.push(signer.sign(ser) as Cigar) + }) + + return cigars + } + } +} + +export function riKey(pre: string, ridx: number) { + return pre + "." + ridx.toString(16).padStart(32, '0') + +} + +export interface KeyStore { + getGbls(key: string): string | undefined + pinGbls(key: string, val: string): void + + prmsElements(): Array<[string, PrePrm]> + getPrms(keys: string) :PrePrm | undefined + pinPrms(keys: string, data: PrePrm): void + putPrms(keys: string, data: PrePrm): boolean + remPrms(keys: string): boolean + + prisElements(decrypter: Decrypter): Array<[string, Signer]> + getPris(keys: string, decrypter: Decrypter): Signer | undefined + pinPris(keys: string, data: Signer, encrypter: Encrypter): void + putPris(pubKey: string, signer: Signer, encrypter: Encrypter): boolean + + getPres(pre: string): Uint8Array | undefined + putPres(pre: string, val: Uint8Array): boolean + pinPres(pre: string, val: Uint8Array): boolean + + getSits(keys: string) :PreSit | undefined + putSits(pre: string, val: PreSit): boolean + pinSits(pre: string, val: PreSit): boolean + remSits(keys: string): boolean + + getPubs(keys: string): PubSet | undefined + putPubs(keys: string, data: PubSet): boolean + remPubs(keys: string): boolean +} + +/* + In memory test implementation of Keeper key store +*/ +class Keeper implements KeyStore { + private readonly _gbls: Map + private readonly _pris: Map + private readonly _pres: Map + private readonly _prms: Map + private readonly _sits: Map + private readonly _pubs: Map + + constructor() { + this._gbls = new Map() + this._pris = new Map() + this._pres = new Map() + this._prms = new Map() + this._sits = new Map() + this._pubs = new Map() + + } + + getGbls(key: string): string | undefined { + return this._gbls.get(key) + } + + pinGbls(key: string, val: string): void { + this._gbls.set(key, val) + } + + prmsElements(): Array<[string, PrePrm]> { + let out = new Array<[string, PrePrm]>() + this._prms.forEach((value, key) => { + out.push([key, value]) + }) + + return out + } + + getPrms(keys: string) :PrePrm | undefined { + return this._prms.get(keys) + } + + pinPrms(keys: string, data: PrePrm): void { + this._prms.set(keys, data) + } + + putPrms(keys: string, data: PrePrm): boolean { + if (this._prms.has(keys)) { + return false + } + this._prms.set(keys, data) + return true + } + + remPrms(keys: string): boolean { + return this._prms.delete(keys) + } + + prisElements(decrypter: Decrypter): Array<[string, Signer]> { + let out = new Array<[string, Signer]>() + this._pris.forEach(function(val, pubKey) { + let verfer = new Verfer({qb64: pubKey}) + let signer = decrypter.decrypt(val, null, verfer.transferable) + out.push([pubKey, signer]) + }) + return out + } + + pinPris(pubKey: string, signer: Signer, encrypter: Encrypter): void { + let cipher = encrypter.encrypt(null, signer) + this._pris.set(pubKey, cipher.qb64b) + } + + putPris(pubKey: string, signer: Signer, encrypter: Encrypter): boolean { + if (this._pris.has(pubKey)) { + return false + } + let cipher = encrypter.encrypt(null, signer) + this._pris.set(pubKey, cipher.qb64b) + return true + } + + getPris(pubKey: string, decrypter: Decrypter): Signer | undefined { + let val = this._pris.get(pubKey) + if (val == undefined) { + return undefined + } + let verfer = new Verfer({qb64: pubKey}) + + + return decrypter.decrypt(val, null, verfer.transferable) + } + + remPris(pubKey: string): void { + this._pris.delete(pubKey) + } + + getPres(pre: string): Uint8Array | undefined { + return this._pres.get(pre) + } + + pinPres(pre: string, val: Uint8Array): boolean { + this._pres.set(pre, val) + return true + } + + putPres(pre: string, val: Uint8Array): boolean { + if (this._pres.has(pre)) { + return false + } + + this._pres.set(pre, val) + return true + } + + getSits(keys: string) :PreSit | undefined { + return this._sits.get(keys) + } + + putSits(pre: string, val: PreSit): boolean { + if (this._sits.has(pre)) { + return false + } + + this._sits.set(pre, val) + return true + } + + pinSits(pre: string, val: PreSit): boolean { + this._sits.set(pre, val) + return true + } + + remSits(keys: string): boolean { + return this._sits.delete(keys) + } + + getPubs(keys: string): PubSet | undefined { + return this._pubs.get(keys) + } + + putPubs(keys: string, data: PubSet): boolean { + if (this._pubs.has(keys)) { + return false + } + this._pubs.set(keys, data) + return true + } + + remPubs(keys: string): boolean { + return this._pubs.delete(keys) + } +} \ No newline at end of file diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index fa7787f6..a61a1854 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -2,7 +2,7 @@ import {EmptyMaterialError} from "./kering"; const {intToB64, readInt} = require('./core'); const Base64 = require('urlsafe-base64'); -import {TextEncoder, TextDecoder} from 'util' +import {b, d} from "./core"; export class MatterCodex { @@ -40,7 +40,6 @@ export interface MatterArgs { qb64b?: Uint8Array | undefined qb64?: string qb2?: Uint8Array | undefined - strip?: boolean } export class Matter { @@ -70,7 +69,7 @@ export class Matter { private _size: number = -1; private _raw: Uint8Array = new Uint8Array(0); - constructor({raw, code = MtrDex.Ed25519N, qb64b, qb64, qb2, strip = false}: MatterArgs) { + constructor({raw, code = MtrDex.Ed25519N, qb64b, qb64, qb2}: MatterArgs) { let size = -1 if (raw !== undefined) { @@ -97,17 +96,10 @@ export class Matter { } else if (qb64 !== undefined) { this._exfil(qb64) } else if (qb64b !== undefined) { - let qb64 = new TextDecoder().decode(qb64b) + let qb64 = d(qb64b) this._exfil(qb64) - if (strip) { - console.log("stripping qb64b") - } - } else if (qb2 !== undefined) { - if (strip) { - console.log("stripping qb2") - } - + this._bexfil(qb2) } else { throw new EmptyMaterialError("EmptyMaterialError"); } @@ -130,8 +122,7 @@ export class Matter { } get qb64b() { - let utf8Encode = new TextEncoder(); - return utf8Encode.encode(this.qb64) + return b(this.qb64) } get transferable(): boolean { @@ -227,11 +218,11 @@ export class Matter { qb64 = qb64.slice(0, sizage!.fs) let ps = cs % 4 let pbs = 2 * (ps == 0 ? sizage!.ls : ps) - let raw; + let raw if (ps != 0) { let base = new Array(ps + 1).join('A') + qb64.slice(cs); let paw = Base64.decode(base) // decode base to leave prepadded raw - let pi = (readInt(paw.slice(0, ps), "big")) // prepad as int + let pi = (readInt(paw.slice(0, ps))) // prepad as int if (pi & (2 ** pbs - 1)) { // masked pad bits non-zero throw new Error(`Non zeroed prepad bits = {pi & (2 ** pbs - 1 ):<06b} in {qb64b[cs:cs+1]}.`) } @@ -254,4 +245,8 @@ export class Matter { this._size = size this._raw = Uint8Array.from(raw) // ensure bytes so immutable and for crypto ops } + + private _bexfil(qb2: Uint8Array) { + throw new Error(`qb2 not yet supported: ${qb2}`) + } } diff --git a/src/keri/core/salter.ts b/src/keri/core/salter.ts index c10e2cd4..15636a97 100644 --- a/src/keri/core/salter.ts +++ b/src/keri/core/salter.ts @@ -6,9 +6,9 @@ const { EmptyMaterialError } = require('./kering') import libsodium from 'libsodium-wrappers-sumo'; export const enum Tier { - Low = "Low", - Med = "Med", - High = "High" + low = "low", + med = "med", + high = "high" } interface SalterArgs { @@ -18,13 +18,12 @@ interface SalterArgs { qb64b? :Uint8Array | undefined qb64?: string qb2?: Uint8Array | undefined - strip?: boolean } export class Salter extends Matter { - constructor({raw, code = MtrDex.Salt_128, tier=Tier.Low, qb64, qb64b, qb2, strip=false}:SalterArgs) { + constructor({raw, code = MtrDex.Salt_128, tier=Tier.low, qb64, qb64b, qb2}:SalterArgs) { try { - super({raw, code, qb64, qb64b, qb2, strip}); + super({raw, code, qb64, qb64b, qb2}); } catch (e) { if(e instanceof EmptyMaterialError) { if (code == MtrDex.Salt_128) { @@ -42,7 +41,7 @@ export class Salter extends Matter { throw new Error("invalid code for Salter, only Salt_128 accepted") } - this.tier = tier !== null ? tier : Tier.Low + this.tier = tier !== null ? tier : Tier.low } private stretch(size: number = 32, path: string = "", tier: Tier | null = null, temp: boolean = false): Uint8Array { @@ -56,15 +55,15 @@ export class Salter extends Matter { } else { switch (tier) { - case Tier.Low: + case Tier.low: opslimit = libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE memlimit = libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE break; - case Tier.Med: + case Tier.med: opslimit = libsodium.crypto_pwhash_OPSLIMIT_MODERATE memlimit = libsodium.crypto_pwhash_MEMLIMIT_MODERATE break; - case Tier.High: + case Tier.high: opslimit = libsodium.crypto_pwhash_OPSLIMIT_SENSITIVE memlimit = libsodium.crypto_pwhash_MEMLIMIT_SENSITIVE break; diff --git a/src/keri/core/siger.ts b/src/keri/core/siger.ts index bbbe4b7b..bffeb59a 100644 --- a/src/keri/core/siger.ts +++ b/src/keri/core/siger.ts @@ -1,14 +1,12 @@ - -export {}; -const { Matter } = require('./matter'); - +import {IdxSigDex, Indexer, IndexerArgs} from "./indexer"; +import {Verfer} from "./verfer"; /** - * Siger is subclass of SigMat, indexed signature material, + Siger is subclass of Indexer, indexed signature material, Adds .verfer property which is instance of Verfer that provides associated signature verifier. - See SigMat for inherited attributes and properties: + See Indexer for inherited attributes and properties: Attributes: @@ -16,18 +14,26 @@ const { Matter } = require('./matter'); .verfer is Verfer object instance Methods: - */ + **/ + +export class Siger extends Indexer { -export class Siger extends Matter { - constructor({}) { - super(); + private _verfer?: Verfer + constructor({raw, code, qb64, qb64b, qb2}: IndexerArgs, verfer?: Verfer) { + super({raw, code, qb64, qb64b, qb2}); + + if (!IdxSigDex.has(this.code)) { + throw new Error(`Invalid code = ${this.code} for Siger.`) + } + this._verfer = verfer } - verfer() { - return this.getVerfer; + get verfer(): Verfer | undefined { + return this._verfer; } - setVerfer(verfer: any) { - this.getVerfer = verfer; + set verfer(verfer: Verfer | undefined) { + this._verfer = verfer; } + } diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts index 2807bfd7..ffad566b 100644 --- a/src/keri/core/signer.ts +++ b/src/keri/core/signer.ts @@ -24,7 +24,6 @@ interface SignerArgs { qb64b?: Uint8Array | undefined qb64?: string qb2?: Uint8Array | undefined - strip?: boolean transferable?: boolean } @@ -32,14 +31,14 @@ export class Signer extends Matter { private readonly _sign private readonly _verfer: Verfer - constructor({raw, code = MtrDex.Ed25519_Seed, qb64, qb64b, qb2, transferable = true, strip = false}: SignerArgs) { + constructor({raw, code = MtrDex.Ed25519_Seed, qb64, qb64b, qb2, transferable = true}: SignerArgs) { try { - super({raw, code, qb64, qb64b, qb2, strip}) + super({raw, code, qb64, qb64b, qb2}) } catch (e) { if (e instanceof EmptyMaterialError) { if (code == MtrDex.Ed25519_Seed) { let raw = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); - super({raw, code, qb64, qb64b, qb2, strip}) + super({raw, code, qb64, qb64b, qb2}) } else { throw new Error(`Unsupported signer code = ${code}.`) } @@ -71,12 +70,12 @@ export class Signer extends Matter { return this._verfer; } - sign(ser: Uint8Array, index: number | null = null, only: boolean = false, ondex: number | null = null) { + sign(ser: Uint8Array, index: number | null = null, only: boolean = false, ondex: number | undefined = undefined) { return this._sign(ser, this.raw, this.verfer, index, only, ondex) } _ed25519(ser: Uint8Array, seed: Uint8Array, verfer: Verfer, index: number | null, - only: boolean = false, ondex: number | null) { + only: boolean = false, ondex: number | undefined) { let sig = libsodium.crypto_sign_detached( ser, @@ -88,14 +87,14 @@ export class Signer extends Matter { } else { let code; if (only) { - ondex = null + ondex = undefined if (index <= 63) { code = IdrDex.Ed25519_Crt_Sig } else { code = IdrDex.Ed25519_Big_Crt_Sig } } else { - if(ondex == null) { + if(ondex == undefined) { ondex = index } @@ -106,7 +105,7 @@ export class Signer extends Matter { } - return new Siger({raw: sig, code: code, index: index, ondex: ondex, verfer: verfer}); + return new Siger({raw: sig, code: code, index: index, ondex: ondex}, verfer) } } diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json index 83b5f573..df974420 100644 --- a/src/keri/core/tsconfig.json +++ b/src/keri/core/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "es6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts index 1a3c9a71..87a20cfe 100644 --- a/src/keri/core/verfer.ts +++ b/src/keri/core/verfer.ts @@ -8,8 +8,8 @@ import {MatterArgs, MtrDex} from './matter'; * using .raw as verifier key and .code as signature cypher suite */ export class Verfer extends Matter { - constructor({raw, code, qb64, qb64b, qb2, strip}: MatterArgs) { - super({raw, code, qb64, qb64b, qb2, strip}); + constructor({raw, code, qb64, qb64b, qb2}: MatterArgs) { + super({raw, code, qb64, qb64b, qb2}); if (Array.from([MtrDex.Ed25519N, MtrDex.Ed25519]).includes(this.code)) { this._verify = this._ed25519 diff --git a/src/keri/hold/tsconfig.json b/src/keri/hold/tsconfig.json deleted file mode 100644 index 83b5f573..00000000 --- a/src/keri/hold/tsconfig.json +++ /dev/null @@ -1,100 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - - /* Projects */ - // "incremental": true, /* Enable incremental compilation */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es5", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ - // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "resolveJsonModule": true, /* Enable importing .json files */ - // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ - // "outDir": "./", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ - // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ - // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} diff --git a/test/core/coring.test.ts b/test/core/coring.test.ts new file mode 100644 index 00000000..a1848724 --- /dev/null +++ b/test/core/coring.test.ts @@ -0,0 +1,92 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {b, d, b64ToInt, intToB64, intToB64b} from "../../src/keri/core/core"; +import {strict as assert} from "assert"; + + +describe('int to b64 and back', () => { + it('should encode and decode stuff', async () => { + await libsodium.ready; + + let cs = intToB64(0) + assert.equal(cs, "A") + let i = b64ToInt(cs) + assert.equal(i, 0) + + cs = intToB64(0, 0) + assert.equal(cs, "") + assert.throws(() => { + i = b64ToInt(cs) + }) + + cs = intToB64(undefined, 0) + assert.equal(cs, "") + assert.throws(() => { + i = b64ToInt(cs) + }) + + let csb = intToB64b(0) + assert.deepStrictEqual(csb, b("A")) + i = b64ToInt(d(csb)) + assert.equal(i, 0) + + cs = intToB64(27) + assert.equal(cs, "b") + i = b64ToInt(cs) + assert.equal(i, 27) + + csb = intToB64b(27) + assert.deepStrictEqual(csb, b("b")) + i = b64ToInt(d(csb)) + assert.equal(i, 27) + + cs = intToB64(27, 2) + assert.equal(cs, "Ab") + i = b64ToInt(cs) + assert.equal(i, 27) + + csb = intToB64b(27, 2) + assert.deepStrictEqual(csb, b("Ab")) + i = b64ToInt(d(csb)) + assert.equal(i, 27) + + cs = intToB64(80) + assert.equal(cs, "BQ") + i = b64ToInt(cs) + assert.equal(i, 80) + + csb = intToB64b(80) + assert.deepStrictEqual(csb, b("BQ")) + i = b64ToInt(d(csb)) + assert.equal(i, 80) + + cs = intToB64(4095) + assert.equal(cs, '__') + i = b64ToInt(cs) + assert.equal(i, 4095) + + csb = intToB64b(4095) + assert.deepStrictEqual(csb, b('__')) + i = b64ToInt(d(csb)) + assert.equal(i, 4095) + + cs = intToB64(4096) + assert.equal(cs, 'BAA') + i = b64ToInt(cs) + assert.equal(i, 4096) + + csb = intToB64b(4096) + assert.deepStrictEqual(csb, b('BAA')) + i = b64ToInt(d(csb)) + assert.equal(i, 4096) + + cs = intToB64(6011) + assert.equal(cs, "Bd7") + i = b64ToInt(cs) + assert.equal(i, 6011) + + csb = intToB64b(6011) + assert.deepStrictEqual(csb, b("Bd7")) + i = b64ToInt(d(csb)) + assert.equal(i, 6011) + }) +}) diff --git a/test/core/decrypter.test.ts b/test/core/decrypter.test.ts index 73e1723e..f22b96b0 100644 --- a/test/core/decrypter.test.ts +++ b/test/core/decrypter.test.ts @@ -5,7 +5,7 @@ import {strict as assert} from "assert"; import {Salter} from "../../src/keri/core/salter"; import {Decrypter} from "../../src/keri/core/decrypter"; import {Encrypter} from "../../src/keri/core/encrypter"; -import {TextEncoder} from 'util' +import {b} from "../../src/keri/core/core"; describe('Decrypter', () => { @@ -96,7 +96,7 @@ describe('Decrypter', () => { // use previously stored fully qualified seed cipher with different nonce // get from seedcipher above let cipherseed = 'PM9jOGWNYfjM_oLXJNaQ8UlFSAV5ACjsUY7J16xfzrlpc9Ve3A5WYrZ4o_NHtP5lhp78Usspl9fyFdnCdItNd5JyqZ6dt8SXOt6TOqOCs-gy0obrwFkPPqBvVkEw' - designer = decrypter.decrypt(new TextEncoder().encode(cipherseed), null, signer.verfer.transferable) + designer = decrypter.decrypt(b(cipherseed), null, signer.verfer.transferable) assert.deepStrictEqual(designer.qb64b, seedqb64b) assert.equal(designer.code, MtrDex.Ed25519_Seed) assert.equal(designer.verfer.code, MtrDex.Ed25519) @@ -104,7 +104,7 @@ describe('Decrypter', () => { // use previously stored fully qualified salt cipher with different nonce // get from saltcipher above let ciphersalt = '1AAHjlR2QR9J5Et67Wy-ZaVdTryN6T6ohg44r73GLRPnHw-5S3ABFkhWyIwLOI6TXUB_5CT13S8JvknxLxBaF8ANPK9FSOPD8tYu' - desalter = decrypter.decrypt(new TextEncoder().encode(ciphersalt)) + desalter = decrypter.decrypt(b(ciphersalt)) assert.deepStrictEqual(desalter.qb64b, saltqb64b) assert.equal(desalter.code, MtrDex.Salt_128) diff --git a/test/core/diger.test.ts b/test/core/diger.test.ts index ada59308..b88ac49c 100644 --- a/test/core/diger.test.ts +++ b/test/core/diger.test.ts @@ -32,7 +32,6 @@ describe('Diger', () => { diger = new Diger({raw: digest, code: MtrDex.Blake3_256}); assert.deepStrictEqual(diger.code, MtrDex.Blake3_256); - console.log(diger.qb64) assert.equal(diger.qb64, "ELC5L3iBVD77d_MYbYGGCUQgqQBju1o4x1Ud-z2sL-ux"); sizage = Matter.Sizes.get(diger.code) assert.deepStrictEqual( diff --git a/test/core/encrypter.test.ts b/test/core/encrypter.test.ts index 82d59935..ffa1abbb 100644 --- a/test/core/encrypter.test.ts +++ b/test/core/encrypter.test.ts @@ -2,11 +2,11 @@ import {Matter} from "../../src/keri/core/matter"; import {strict as assert} from "assert"; const { MtrDex } = require('../../src/keri/core/matter'); -import {TextDecoder} from 'util' import libsodium from "libsodium-wrappers-sumo"; import {Signer} from "../../src/keri/core/signer"; import {Encrypter} from "../../src/keri/core/encrypter"; import {Verfer} from "../../src/keri/core/verfer"; +import {d} from "../../src/keri/core/core"; describe('Encrypter', () => { @@ -17,7 +17,7 @@ describe('Encrypter', () => { let seed = new Uint8Array([24, 59, 48, 196, 15, 42, 118, 70, 250, 227, 162, 69, 101, 101, 31, 150, 111, 206, 41, 71, 133, 227, 88, 134, 218, 4, 240, 220, 222, 6, 192, 43]) let seedqb64b = new Matter({raw: seed, code: MtrDex.Ed25519_Seed}).qb64b - assert.equal(new TextDecoder().decode(seedqb64b), 'ABg7MMQPKnZG-uOiRWVlH5ZvzilHheNYhtoE8NzeBsAr') + assert.equal(d(seedqb64b), 'ABg7MMQPKnZG-uOiRWVlH5ZvzilHheNYhtoE8NzeBsAr') // b'6\x08d\r\xa1\xbb9\x8dp\x8d\xa0\xc0\x13J\x87r' let salt = new Uint8Array([54, 8, 100, 13, 161, 187, 57, 141, 112, 141, 160, 192, 19, 74, 135, 114]) diff --git a/test/core/indexer.test.ts b/test/core/indexer.test.ts new file mode 100644 index 00000000..931030bc --- /dev/null +++ b/test/core/indexer.test.ts @@ -0,0 +1,310 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {strict as assert} from "assert"; +import {IdrDex, Indexer} from "../../src/keri/core/indexer"; +import {b, intToB64} from "../../src/keri/core/core"; +const Base64 = require('urlsafe-base64'); + + +describe('Indexer', () => { + it('should encode and decode dual indexed signatures', async () => { + await libsodium.ready; + + assert.equal(Indexer.Sizes.get('A')!.hs, 1) // hard size + assert.equal(Indexer.Sizes.get('A')!.ss, 1) // soft size + assert.equal(Indexer.Sizes.get('A')!.os, 0) // other size + assert.equal(Indexer.Sizes.get('A')!.fs, 88) // full size + assert.equal(Indexer.Sizes.get('A')!.ls, 0) // lead size + + Indexer.Sizes.forEach((_, key) => { + assert.equal(Indexer.Hards.get(key[0]), Indexer.Sizes.get(key)!.hs, `${key} hs not set`) + }) + + Indexer.Sizes.forEach((val, key) => { + assert.equal(val.hs > 0, true, `${key} hs incorrect`) + assert.equal(val.ss > 0, true) + assert.equal(val.os >= 0, true) + if (val.os > 0) { + assert.equal(val.os == Math.floor(val.ss / 2), true, `${key} os/ss incorrect`) + } + if (val.fs != undefined) { + assert.equal(val.fs >= val.hs + val.ss, true, `${key} fs incorrect`) + assert.equal(val.fs % 4 == 0, true, `${key} fs mod incorrect`) + } + }) + + assert.throws(() => { + new Indexer({}) + }) + + // sig = (b"\x99\xd2<9$$0\x9fk\xfb\x18\xa0\x8c@r\x122.k\xb2\xc7\x1fp\x0e'm\x8f@" + // b'\xaa\xa5\x8c\xc8n\x85\xc8!\xf6q\x91p\xa9\xec\xcf\x92\xaf)\xde\xca' + // b'\xfc\x7f~\xd7o|\x17\x82\x1d\xd4 { + new Indexer({raw: shortsig}) + }) + + indexer = new Indexer({qb64b: qsig64b}) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.index, 0) + assert.equal(indexer.ondex, 0) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + assert.deepStrictEqual(indexer.qb64, qsig64) + + indexer = new Indexer({qb64: qsig64}) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.index, 0) + assert.equal(indexer.ondex, 0) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + assert.deepStrictEqual(indexer.qb64, qsig64) + + let badq64sig2= 'AA_Z0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + assert.throws(() => { + new Indexer({qb64: badq64sig2}) + }) + + let longqsig64 = qsig64 + "ABCD" + indexer = new Indexer({qb64: longqsig64}) + assert.equal(indexer.qb64.length, Indexer.Sizes.get(indexer.code)!.fs) + + let shortqsig64 = qsig64.slice(0, -4) + assert.throws(() => { + new Indexer({qb64: shortqsig64}) + }) + + qsig64 = 'AFCZ0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + qsig64b = b(qsig64) + qsig2b = Base64.decode(qsig64) + assert.equal(qsig2b.length, 66) + + indexer = new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 5}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.equal(indexer.index, 5) + assert.equal(indexer.ondex, 5) + assert.equal(indexer.qb64, qsig64) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + indexer._exfil(qsig64) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.equal(indexer.qb64, qsig64) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + + indexer = new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 5, ondex: 5}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.equal(indexer.index, 5) + assert.equal(indexer.ondex, 5) + assert.equal(indexer.qb64, qsig64) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + + assert.throws(() => { + new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 5, ondex: 0}) + }) + + assert.throws(() => { + new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 5, ondex: 64}) + }) + + indexer = new Indexer({raw: sig}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.equal(indexer.index, 0) + assert.equal(indexer.ondex, 0) + assert.notEqual(indexer.qb64, qsig64) + assert.notDeepStrictEqual(indexer.qb64b, qsig64b) + + indexer = new Indexer({qb64: qsig64}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Sig) + assert.equal(indexer.index, 5) + assert.equal(indexer.ondex, 5) + assert.equal(indexer.qb64, qsig64) + assert.deepStrictEqual(indexer.qb64b, qsig64b) + + // test index too big + assert.throws(() => { + new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 65}) + }) + + // test negative index + assert.throws(() => { + new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: -1}) + }) + + // test non integer index + assert.throws(() => { + new Indexer({raw: sig, code: IdrDex.Ed25519_Sig, index: 3.5}) + }) + + let index = 67 + let qb64 = '2ABDBDCZ0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + let qb64b = b(qb64) + + indexer = new Indexer({raw: sig, code: IdrDex.Ed25519_Big_Sig, index: index}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Big_Sig) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, index) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + indexer = new Indexer({raw: sig, code: IdrDex.Ed25519_Big_Sig, index: index, ondex: index}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Big_Sig) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, index) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + indexer = new Indexer({qb64: qb64}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Big_Sig) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, index) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + index = 90 + let ondex = 65 + qb64 = '2ABaBBCZ0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + qb64b = b(qb64) + + indexer = new Indexer({raw: sig, code: IdrDex.Ed25519_Big_Sig, index: index, ondex: ondex}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Big_Sig) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, ondex) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + indexer = new Indexer({qb64: qb64}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, IdrDex.Ed25519_Big_Sig) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, ondex) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + index = 3 + let code = IdrDex.Ed25519_Crt_Sig + qb64 = 'BDCZ0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + qb64b = b(qb64) + + indexer = new Indexer({raw: sig, code: code, index: index}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, code) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, undefined) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + indexer = new Indexer({qb64: qb64}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, code) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, undefined) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + assert.throws(() => { + new Indexer({raw: sig, code: code, index: index, ondex: index}) + }) + + // test negative index + assert.throws(() => { + new Indexer({raw: sig, code: code, index: index, ondex: index+2}) + }) + + index = 68 + code = IdrDex.Ed25519_Big_Crt_Sig + qb64 = '2BBEAACZ0jw5JCQwn2v7GKCMQHISMi5rsscfcA4nbY9AqqWMyG6FyCH2cZFwqezPkq8p3sr8f37Xb3wXgh3UPG8igSYJ' + qb64b = b(qb64) + + indexer = new Indexer({raw: sig, code: code, index: index}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, code) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, undefined) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + indexer = new Indexer({qb64: qb64}) + assert.deepStrictEqual(indexer.raw, sig) + assert.equal(indexer.code, code) + assert.equal(indexer.index, index) + assert.equal(indexer.ondex, undefined) + assert.equal(indexer.qb64, qb64) + assert.deepStrictEqual(indexer.qb64b, qb64b) + + assert.throws(() => { + new Indexer({raw: sig, code: code, index: index, ondex: index}) + }) + + // test negative index + assert.throws(() => { + new Indexer({raw: sig, code: code, index: index, ondex: index+2}) + }) + + + }) +}) diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts new file mode 100644 index 00000000..82d7cfce --- /dev/null +++ b/test/core/manager.test.ts @@ -0,0 +1,232 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {Algos, Creatory, Manager, RandyCreator, riKey, SaltyCreator} from "../../src/keri/core/manager"; +import {strict as assert} from "assert"; +import {MtrDex} from "../../src/keri/core/matter"; +import {Salter, Tier} from "../../src/keri/core/salter"; +import {Signer} from "../../src/keri/core/signer"; +import {Encrypter} from "../../src/keri/core/encrypter"; +import {Decrypter} from "../../src/keri/core/decrypter"; +import {Cipher} from "../../src/keri/core/cipher"; +import {Verfer} from "../../src/keri/core/verfer"; +import {Diger} from "../../src/keri/core/diger"; +import {Siger} from "../../src/keri/core/siger"; +import {b} from "../../src/keri/core/core"; + + +describe('RandyCreator', () => { + it('should create sets of random signers', async () => { + await libsodium.ready; + + let randy = new RandyCreator() + + // test default arguments + let signers = randy.create() + assert.equal(signers.length, 1) + assert.equal(signers[0].qb64.length, 44) + assert.equal(signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(signers[0].transferable, true) + + // Create 5 with default code + signers = randy.create(undefined, 5) + assert.equal(signers.length, 5) + signers.forEach((signer) => { + assert.equal(signer.qb64.length, 44) + assert.equal(signer.code, MtrDex.Ed25519_Seed) + assert.equal(signer.transferable, true) + }) + + // Create 3 with specified codes (the only one we support) + signers = randy.create([MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed]) + assert.equal(signers.length, 3) + signers.forEach((signer) => { + assert.equal(signer.qb64.length, 44) + assert.equal(signer.code, MtrDex.Ed25519_Seed) + assert.equal(signer.transferable, true) + }) + }) +}) + + +describe('SaltyCreator', () => { + it('should create sets of salty signers', async () => { + await libsodium.ready; + + // Test default arguments + let salty = new SaltyCreator() + assert.equal(salty.salter.code, MtrDex.Salt_128) + assert.equal(salty.salt, salty.salter.qb64) + assert.equal(salty.stem, "") + assert.equal(salty.tier, salty.salter.tier) + + let signers = salty.create() + assert.equal(signers.length, 1) + assert.equal(signers[0].qb64.length, 44) + assert.equal(signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(signers[0].transferable, true) + + signers = salty.create(undefined, 2, MtrDex.Ed25519_Seed, false) + assert.equal(signers.length, 2) + signers.forEach((signer) => { + assert.equal(signer.code, MtrDex.Ed25519_Seed) + assert.equal(signer.verfer.code, MtrDex.Ed25519N) + assert.equal(signer.qb64.length, 44) + }) + + let raw = "0123456789abcdef" + let salter = new Salter({raw: b(raw)}) + let salt = salter.qb64 + assert.equal(salter.qb64, "0AAwMTIzNDU2Nzg5YWJjZGVm") + salty = new SaltyCreator(salter.qb64) + assert.equal(salty.salter.code, MtrDex.Salt_128) + assert.deepStrictEqual(salty.salter.raw, b(raw)) + assert.equal(salty.salter.qb64, salt) + assert.equal(salty.salt, salty.salter.qb64) + assert.equal(salty.stem, "") + assert.equal(salty.tier, salty.salter.tier) + signers = salty.create() + assert.equal(signers.length, 1) + assert.equal(signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(signers[0].qb64, "APMJe0lwOpwnX9PkvX1mh26vlzGYl6RWgWGclc8CAQJ9") + assert.equal(signers[0].verfer.code, MtrDex.Ed25519) + assert.equal(signers[0].verfer.qb64, "DMZy6qbgnKzvCE594tQ4SPs6pIECXTYQBH7BkC4hNY3E") + + signers = salty.create(undefined, 1, MtrDex.Ed25519_Seed, false, 0, 0, 0, true) + assert.equal(signers.length, 1) + assert.equal(signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(signers[0].qb64, "AMGrAM0noxLpRteO9mxGT-yzYSrKFwJMuNI4KlmSk26e") + assert.equal(signers[0].verfer.code, MtrDex.Ed25519N) + assert.equal(signers[0].verfer.qb64, "BFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + + }) +}) + +describe('Creator', () => { + it('should create Randy or Salty creator', async () => { + await libsodium.ready; + + let raw = "0123456789abcdef" + let salter = new Salter({raw: b(raw)}) + let salt = salter.qb64 + + let creator = new Creatory(Algos.salty).make(salt) + assert.equal(creator instanceof SaltyCreator, true) + assert.equal(creator.salter.qb64, salt) + + creator = new Creatory().make(salt) + assert.equal(creator instanceof SaltyCreator, true) + assert.equal(creator.salter.qb64, salt) + + creator = new Creatory(Algos.randy).make(salt) + assert.equal(creator instanceof RandyCreator, true) + + }) +}) + +describe('Manager', () => { + it('should manage key pairs for identifiers', async () => { + await libsodium.ready; + + let ser = '{"vs":"KERI10JSON0000fb_","pre":"EvEnZMhz52iTrJU8qKwtDxzmypyosgG' + + '70m6LIjkiCdoI","sn":"0","ilk":"icp","sith":"1","keys":["DSuhyBcP' + + 'ZEZLK-fcw5tzHn2N46wRCG_ZOoeKtWTOunRA"],"nxt":"EPYuj8mq_PYYsoBKkz' + + 'X1kxSPGYBWaIya3slgCOyOtlqU","toad":"0","wits":[],"cnfg":[]}-AABA' + + 'ApYcYd1cppVg7Inh2YCslWKhUwh59TrPpIoqWxN2A38NCbTljvmBPBjSGIFDBNOv' + + 'VjHpdZlty3Hgk6ilF8pVpAQ' + + let raw = "0123456789abcdef" + let salter = new Salter({raw: b(raw)}) + let salt = salter.qb64 + assert.equal(salt, "0AAwMTIzNDU2Nzg5YWJjZGVm") + + // Create a Manager without encryption should raise an exception + assert.throws(() => { + new Manager({salt: salt}) + }) + + // cryptseed0 = b'h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf' + let cryptseed0 = new Uint8Array([104, 44, 35, 124, 138, 112, 34, 18, 196, 51, 116, 50, 166, 225, 24, 25, 240, 102, 50, 44, 121, 196, 194, 49, 64, 245, 64, 21, 46, 162, 26, 207]) + let cryptsigner0 = new Signer({raw: cryptseed0, code: MtrDex.Ed25519_Seed, transferable: false}) + let seed0 = cryptsigner0.qb64 + let seed0b = cryptsigner0.qb64b + let aeid0 = cryptsigner0.verfer.qb64 + assert.equal(aeid0, "BCa7mK96FwxkU0TdF54Yqg3qBDXUWpOhQ_Mtr7E77yZB") + let decrypter0 = new Decrypter({}, seed0b) + let encrypter0 = new Encrypter({}, b(aeid0)) + assert.equal(encrypter0.verifySeed(seed0b), true) + + // cryptseed1 = (b"\x89\xfe{\xd9'\xa7\xb3\x89#\x19\xbec\xee\xed\xc0\xf9\x97\xd0\x8f9\x1dyNI" + // b'I\x98\xbd\xa4\xf6\xfe\xbb\x03') + let cryptseed1 = new Uint8Array([137, 254, 123, 217, 39, 167, 179, 137, 35, 25, 190, 99, 238, 237, 192, 249, 151, 208, 143, 57, 29, 121, 78, 73, 73, 152, 189, 164, 246, 254, 187, 3]) + let cryptsigner1 = new Signer({raw: cryptseed1, code: MtrDex.Ed25519_Seed, transferable: false}) + let seed1 = cryptsigner1.qb64b + let aeid1 = cryptsigner1.verfer.qb64 + assert.equal(aeid1, "BEcOrMrG_7r_NWaLl6h8UJapwIfQWIkjrIPXkCZm2fFM") + // let decrypter1 = new Decrypter({}, seed1) + let encrypter1 = new Encrypter({}, b(aeid1)) + assert.equal(encrypter1.verifySeed(seed1), true) + + let manager = new Manager({seed: seed0, salt: salt, aeid: aeid0}) + assert.equal(manager.encrypter.qb64, encrypter0.qb64) + assert.equal(manager.decrypter.qb64, decrypter0.qb64) + assert.equal(manager.seed, seed0) + assert.equal(manager.aeid, aeid0) + + assert.equal(manager.algo, Algos.salty) + assert.equal(manager.salt, salt) + assert.equal(manager.pidx, 0) + assert.equal(manager.tier, Tier.low) + let saltCipher0 = new Cipher({qb64: manager.ks.getGbls("salt")}) + assert.equal(saltCipher0.decrypt(undefined, seed0b).qb64, salt) + + let [verfers, digers] = manager.incept({salt: salt, temp: true}) + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + assert.equal(manager.pidx, 1) + + let spre = verfers[0].qb64 + assert.equal(spre, "DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + + let pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 0) + assert.equal(pp.algo, Algos.salty) + assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(pp.stem, "") + assert.equal(pp.tier, Tier.low) + + let ps = manager.ks.getSits(spre)! + assert.deepStrictEqual(ps.old.pubs, []) + assert.equal(ps.new.pubs.length, 1) + assert.deepStrictEqual(ps.new.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.equal(ps.new.ridx, 0) + assert.equal(ps.new.kidx, 0) + assert.equal(ps.nxt.pubs.length, 1) + assert.deepStrictEqual(ps.nxt.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.equal(ps.nxt.ridx, 1) + assert.equal(ps.nxt.kidx, 1) + + let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + assert.deepStrictEqual(keys, ps.new.pubs) + + let pl = manager.ks.getPubs(riKey(spre, ps.new.ridx))! + assert.deepStrictEqual(pl.pubs, ps.new.pubs) + pl = manager.ks.getPubs(riKey(spre, ps.nxt.ridx))! + assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) + + let digs = Array.from(digers, (diger: Diger) => diger.qb64) + assert.deepStrictEqual(digs, ['EBhBRqVbqhhP7Ciah5pMIOdsY5Mm1ITm2Fjqb028tylu']) + + let oldspre = spre + spre = "DCu5o5cxzv1lgMqxMVG3IcCNK4lpFfpMM-9rfkY3XVUc" + manager.move(oldspre, spre) + + pl = manager.ks.getPubs(riKey(spre, ps.new.ridx))! + assert.deepStrictEqual(pl.pubs, ps.new.pubs) + pl = manager.ks.getPubs(riKey(spre, ps.nxt.ridx))! + assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) + + let serb = b(ser) + let psigers = manager.sign({ser: serb, pubs: ps.new.pubs}) + assert.equal(psigers.length, 1) + assert.equal(psigers[0] instanceof Siger, true) + }) +}) diff --git a/test/core/salter.test.ts b/test/core/salter.test.ts index 4988013c..e396a8cd 100644 --- a/test/core/salter.test.ts +++ b/test/core/salter.test.ts @@ -33,7 +33,7 @@ describe('Salter.signer', () => { let salter = new Salter({qb64: "0ACSTo66vU2CA-j4usUIAEm2"}) let signer = salter.signer() assert.notEqual(signer, null) - assert.equal(signer.verfer().qb64, "DD28x2a4KCZ8f6OAcA856jAD1chNOo4pT8ICxyzJUJhj") + assert.equal(signer.verfer.qb64, "DD28x2a4KCZ8f6OAcA856jAD1chNOo4pT8ICxyzJUJhj") }); }); diff --git a/test/core/serder.test.ts b/test/core/serder.test.ts deleted file mode 100644 index 8f51d63e..00000000 --- a/test/core/serder.test.ts +++ /dev/null @@ -1,340 +0,0 @@ -export {}; -const assert = require('assert').strict; - -const {Serder} = require('../../src/keri/core/serder'); -const { - versify, - Serials, - Versionage, - Ilks, -} = require('../../src/keri/core/core'); - -const {TraitCodex} = require("../../src/keri/eventing/TraitCodex") - -// const msgpack = require('msgpack5')(); -// const {encode} = msgpack; -// const {decode} = msgpack; - -describe('Serder', () => { - // it('should create Serder objects', async () => { - // const e1 = { - // v: versify(null, Serials.json, 0), - // i: 'ABCDEFG', - // s: '0001', - // t: 'rot', - // }; - // console.log('e1 is --------------------->', e1); - // const Version = Versionage; - // - // const serder = new Serder(null, e1); - // serder.set_kind(); - // - // serder.set_raw(Buffer.from(JSON.stringify(e1), 'binary')); - // - // assert.deepStrictEqual(serder.getKed, e1); - // assert.deepStrictEqual(serder.getKind, Serials.json); - // assert.deepStrictEqual(serder.version(), Version); - // - // assert.deepStrictEqual( - // serder.dig(), - // 'EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY', - // ); - // assert.deepStrictEqual( - // serder.digb(), - // Buffer.from('EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY', 'binary'), - // ); - // assert.deepStrictEqual(serder.size(), 66); - // assert.deepStrictEqual( - // serder.raw(), - // Buffer.from( - // '{"vs":"KERI10JSON000042_","pre":"ABCDEFG","sn":"0001","ilk":"rot"}', - // 'binary', - // ), - // ); - // - // // ------------------------- SERDER VERFER IS PENDING ----------------------- - // assert.deepStrictEqual(serder.verfers(), []); - // - // const e1s = Buffer.from(JSON.stringify(e1), 'binary'); - // console.log('Els length is ------>', e1s.length); - // let vs = versify(null, Serials.json, e1s.length); - // assert.equal(vs, 'KERI10JSON000042_'); - // - // // // let [kind1, vers1, size1] = serder._sniff(e1s.slice(0,VERFULLSIZE)) - // // // console.log("e1s[:MINSNIFFSIZE] =========================>",e1s.slice(0,VERFULLSIZE)) - // // let [kind1, vers1, size1] = serder._sniff(e1s.slice(0,MINSNIFFSIZE )) - // // // assert.deepStrictEqual(kind1,Serials.json) - // // // assert.deepStrictEqual(size1,66) - // - // const [kind1, vers1, size1] = serder.sniff(e1s); - // // assert.deepStrictEqual(kind1,Serials.json) - // // assert.deepStrictEqual(size1,66) - // // const e1ss = e1s + Buffer.from('extra attached at the end.', 'binary'); - // const e1ss = e1s; - // const [ked1, knd1, vrs1, siz1] = serder.inhale(e1ss); - // assert.deepStrictEqual(ked1, e1); - // assert.deepStrictEqual(knd1, kind1); - // assert.deepStrictEqual(vrs1, vers1); - // assert.deepStrictEqual(siz1, size1); - // - // const [raw1, knd2, ked2, ver1] = serder.exhale(e1); - // assert.deepStrictEqual(Buffer.from(raw1, 'binary'), e1s); - // assert.deepStrictEqual(knd2, kind1); - // assert.deepStrictEqual(ked2, e1); - // assert.deepStrictEqual(vrs1, vers1); - // console.log(ver1) - // - // const e2 = { - // vs: versify(null, Serials.json, 0), - // pre: 'ABCDEFG', - // sn: '0001', - // ilk: 'rot', - // }; - // e2.vs = versify(null, Serials.mgpk, 0); - // console.log('==========================>', e2.vs); - // const e2s = encode(e2); - // const e2s1 = e2s; - // const msgBuffer = Buffer.from( - // '\x84\xa2vs\xb1KERI10MGPK000000_\xa3pre\xa7ABCDEFG\xa2sn\xa40001\xa3ilk\xa3rot', - // 'binary', - // ); - // assert.deepStrictEqual(e2s, msgBuffer); - // - // vs = versify(null, Serials.mgpk, e2s.length); // # use real length - // assert.deepStrictEqual(vs, 'KERI10MGPK000032_'); - // e2s1.vs = versify(null, Serials.mgpk, e2s.length); - // assert.deepStrictEqual(e2s1, e2s); - // // console.log("e2s ==========+>",decode(e2s)) - // // console.log("e2 ==========+>",encode(e2)) - // // console.log("if true or false ",(e2s == encode(e2))) - // assert.deepStrictEqual(decode(e2s), e2); - // - // const e3 = { - // vs: versify(null, Serials.json, 0), - // pre: 'ABCDEFG', - // sn: '0001', - // ilk: 'rot', - // }; - // e3.vs = versify(null, Serials.cbor, 0); - // // let e3s = cbor.encode(e3); - // // assert.deepEqual( - // // e3s, - // // Buffer.from( - // // '\xa4bvsqKERI10CBOR000000_cpregABCDEFGbsnd0001cilkcrot', - // // 'binary', - // // ), - // // ); - // // vs = versify(null, Serials.cbor, e3s.length); // # use real length - // // assert.equal(vs, 'KERI10CBOR000032_'); - // // e3.vs = vs; // # has real length - // - // // const e5 = { - // // vs: versify(null, Serials.cbor, 0), - // // pre: 'ABCDEFG', - // // sn: '0001', - // // ilk: 'rot', - // // }; - // // e3s = cbor.encode(e3); - // // console.log('e3s =============>', cbor.decode(e3s)); - // // const [kind3, vers3, size3] = serder.sniff(e3s.slice(0, MINSNIFFSIZE)); - // // assert.deepStrictEqual(kind3, Serials.cbor); - // // assert.equal(size3, 50); - // - // // const [kind3a, vers3a, size3a] = serder.sniff(e3s); - // // console.log(vers3a) - // // assert.deepStrictEqual(kind3a, Serials.cbor); - // // assert.deepStrictEqual(size3a, 50); - // // let e3ss = cbor.encode(e3) + - // // const encodedText = cbor.encode('extra attached at the end.'); - // // const encodedE3 = cbor.encode(e3); - // // const e3ss = Buffer.concat([encodedE3, encodedText]); - // // console.log('DECODING CBROR', e3ss); - // - // // const [ked3b, knd3b, vrs3b, siz3b] = serder.inhale(e3ss); - // // - // // // --------------------- This case is getting failed --------------------- - // // assert.deepStrictEqual(ked3b[0], e3); - // // // ---------------------------- - // // assert.deepStrictEqual(knd3b, kind3); - // // assert.deepStrictEqual(vrs3b, vers3); - // // assert.deepStrictEqual(siz3b, size3); - // // - // // // # with pytest.raises(ShortageError): # test too short - // // // # ked3, knd3, vrs3, siz3 = serder._inhale(e3ss[:size3-1]) - // // console.log('e3 is- --------->', e5); - // // let [raw3c, knd3c, ked3c, ver3c] = serder.exhale(e5); - // // assert.deepStrictEqual(raw3c, e3s); - // // assert.deepStrictEqual(knd3c, kind3); - // // assert.deepStrictEqual(ked3c, e3); - // // assert.deepStrictEqual(vrs3b, vers3a); - // - // // console.log( - // // "versify(null,Serials.json,0) =================>", - // // versify(null, Serials.json, 0) - // // ); - // // let e7 = { - // // vs: versify(null, Serials.json, e1s.length), - // // pre: "ABCDEFG", - // // sn: "0001", - // // ilk: "rot", - // // }; - // // let t = - // // Buffer.from(JSON.stringify(e7), "binary") + - // // Buffer.from("extra attached at the end.", "binary"); - // // console.log("vaue of t is --->", t); - // // let evt1 = new Serder(t); - // // evt1.set_raw(t); - // // console.log("e3ss =============>", t); - // // assert.deepStrictEqual(evt1.kind(), kind1); - // // assert.deepStrictEqual(evt1.raw(), e1s); - // // assert.deepStrictEqual(evt1.ked(), ked1); - // // assert.deepStrictEqual(evt1.size(), size1); - // // assert.deepStrictEqual(evt1.raw().toString(), t.slice(0, size1)); - // // assert.deepStrictEqual(evt1.version(), vers1); - // - // // # # test digest properties .diger and .dig - // // # assert evt1.diger.qb64 == evt1.dig - // // # assert evt1.diger.code == CryOneDex.Blake3_256 - // // # assert len(evt1.diger.raw) == 32 - // // # assert len(evt1.dig) == 44 - // // # assert len(evt1.dig) == CryOneSizes[CryOneDex.Blake3_256] - // // # assert evt1.dig == 'EaDVEkrFdx8W0ZZAsfwf9mjxhgBt6PvfCmFPdr7RIcfY' - // // # assert evt1.diger.verify(evt1.raw) - // - // // console.log( - // // "versify(null,Serials.json,0) =================>", - // // versify(null, Serials.json, 0) - // // ); - // // e7 = { - // // vs: versify(null, Serials.json, e1s.length), - // // pre: "ABCDEFG", - // // sn: "0001", - // // ilk: "rot", - // // }; - // // t = - // // Buffer.from(JSON.stringify(e7), "binary") + - // // Buffer.from("extra attached at the end.", "binary"); - // // console.log("vaue of t is --->", t); - // // evt1 = new Serder(null, ked1); - // // evt1.set_raw(t); - // // assert.deepStrictEqual(evt1.kind(), kind1); - // // assert.deepStrictEqual(evt1.raw(), e1s); - // // assert.deepStrictEqual(evt1.ked(), ked1); - // // assert.deepStrictEqual(evt1.size(), size1); - // // assert.deepStrictEqual(evt1.raw().toString(), t.slice(0, size1)); - // // assert.deepStrictEqual(evt1.version(), vers1); - // - // // let evt2 = new Serder(e2ss) - // // # assert evt2.kind == kind2 - // // # assert evt2.raw == e2s - // // # assert evt2.ked == ked2 - // // # assert evt2.version == vers2 - // - // // # evt2 = Serder(ked=ked2) - // // # assert evt2.kind == kind2 - // // # assert evt2.raw == e2s - // // # assert evt2.ked == ked2 - // // # assert evt2.size == size2 - // // # assert evt2.raw == e2ss[:size2] - // // # assert evt2.version == vers2 - // - // // # evt3 = Serder(raw=e3ss) - // // # assert evt3.kind == kind3 - // // # assert evt3.raw == e3s - // // # assert evt3.ked == ked3 - // // # assert evt3.version == vers3 - // - // // # evt3 = Serder(ked=ked3) - // // # assert evt3.kind == kind3 - // // # assert evt3.raw == e3s - // // # assert evt3.ked == ked3 - // // # assert evt3.size == size3 - // // # assert evt3.raw == e3ss[:size3] - // // # assert evt3.version == vers3 - // - // // # # round trip - // // # evt2 = Serder(ked=evt1.ked) - // // # assert evt2.kind == evt1.kind - // // # assert evt2.raw == evt1.raw - // // # assert evt2.ked == evt1.ked - // // # assert evt2.size == evt1.size - // // # assert evt2.version == vers2 - // - // // # # Test change in kind by Serder - // // # evt1 = Serder(ked=ked1, kind=Serials.mgpk) # ked is json but kind mgpk - // // # assert evt1.kind == kind2 - // // # assert evt1.raw == e2s - // // # assert evt1.ked == ked2 - // // # assert evt1.size == size2 - // // # assert evt1.raw == e2ss[:size2] - // // # assert evt1.version == vers1 - // - // // # # round trip - // // # evt2 = Serder(raw=evt1.raw) - // // # assert evt2.kind == evt1.kind - // // # assert evt2.raw == evt1.raw - // // # assert evt2.ked == evt1.ked - // // # assert evt2.size == evt1.size - // // # assert evt2.version == vers2 - // - // // # evt1 = Serder(ked=ked1, kind=Serials.cbor) # ked is json but kind mgpk - // // # assert evt1.kind == kind3 - // // # assert evt1.raw == e3s - // // # assert evt1.ked == ked3 - // // # assert evt1.size == size3 - // // # assert evt1.raw == e3ss[:size3] - // // # assert evt1.version == vers1 - // - // // # # round trip - // // # evt2 = Serder(raw=evt1.raw) - // // # assert evt2.kind == evt1.kind - // // # assert evt2.raw == evt1.raw - // // # assert evt2.ked == evt1.ked - // // # assert evt2.size == evt1.size - // // # assert evt2.version == vers2 - // - // // # # use kind setter property - // // # assert evt2.kind == Serials.cbor - // // # evt2.kind = Serials.json - // // # assert evt2.kind == Serials.json - // // # knd, version, size = Deversify(evt2.ked['vs']) - // // # assert knd == Serials.json - // // """Done Test """ - // }); -}); - - -describe('Serder', () => { - it('should create Serder objects', async () => { - const nxt = "E2k1CecxqNtJq8sNVJ0UisOwDgRW7n3MB1-mw3If8c2U" - const icp = { - v: versify(null, Serials.json, 0), - i: '', - s: '0', - t: Ilks.icp, - kt: "1", - k: [], // Add generated public keys here - n: nxt, - bt: "1", - b: [], - c: [TraitCodex.EstOnly], - a: [] - - }; - // console.log('icp is --------------------->', icp); - - const Version = Versionage; - - const serder = new Serder(null, icp); - serder.set_kind(); - assert.deepStrictEqual(serder.getKed, icp); - assert.deepStrictEqual(serder.getKind, Serials.json); - assert.deepStrictEqual(serder.version(), Version); - - console.log(serder.dig()) - assert.deepStrictEqual( - serder.dig(), - "ETzQBq0omlsr15K0gQcvHzhVLlK7UbF2gjLusXDrjusg", - ); - }); -}); \ No newline at end of file diff --git a/test/core/signer.test.ts b/test/core/signer.test.ts index 3b16b2df..e1255940 100644 --- a/test/core/signer.test.ts +++ b/test/core/signer.test.ts @@ -3,7 +3,7 @@ import libsodium from "libsodium-wrappers-sumo"; import { Signer } from '../../src/keri/core/signer'; import {Matter, MtrDex} from "../../src/keri/core/matter"; -import {TextEncoder} from 'util' +import {b} from "../../src/keri/core/core"; describe('Signer', () => { it('should sign things', async () => { @@ -15,7 +15,7 @@ describe('Signer', () => { assert.equal(signer.verfer.code, MtrDex.Ed25519) assert.equal(signer.verfer.raw.length, Matter._rawSize(signer.verfer.code)) - let ser = new TextEncoder().encode('abcdefghijklmnopqrstuvwxyz0123456789') + let ser = b('abcdefghijklmnopqrstuvwxyz0123456789') let cigar = signer.sign(ser) assert.equal(cigar.code, MtrDex.Ed25519_Sig) diff --git a/yarn.lock b/yarn.lock index 4c4a763c..6384d72b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,839 +2,879 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": - "integrity" "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" - "version" "7.14.5" +"@ampproject/remapping@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@babel/highlight" "^7.14.5" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" "@babel/code-frame@7.12.11": - "integrity" "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - "version" "7.12.11" + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== dependencies: "@babel/highlight" "^7.10.4" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": - "integrity" "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz" - "version" "7.15.0" - -"@babel/core@^6.0.0-0 || 7.x", "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.13.16", "@babel/core@^7.4.0-0", "@babel/core@^7.4.4", "@babel/core@^7.7.5": - "integrity" "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz" - "version" "7.15.5" - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.4" - "@babel/helpers" "^7.15.4" - "@babel/parser" "^7.15.5" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.1.2" - "semver" "^6.3.0" - "source-map" "^0.5.0" - -"@babel/generator@^7.15.4": - "integrity" "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - "jsesc" "^2.5.1" - "source-map" "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": - "integrity" "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - "integrity" "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-explode-assignable-expression" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4": - "integrity" "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-validator-option" "^7.14.5" - "browserslist" "^4.16.6" - "semver" "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4": - "integrity" "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-annotate-as-pure" "^7.15.4" - "@babel/helper-function-name" "^7.15.4" - "@babel/helper-member-expression-to-functions" "^7.15.4" - "@babel/helper-optimise-call-expression" "^7.15.4" - "@babel/helper-replace-supers" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - -"@babel/helper-create-regexp-features-plugin@^7.14.5": - "integrity" "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "regexpu-core" "^4.7.1" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== + +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.4.4", "@babel/core@^7.7.5": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.1" + semver "^6.3.0" + +"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== + dependencies: + "@babel/types" "^7.20.7" + "@jridgewell/gen-mapping" "^0.3.2" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" + +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== + dependencies: + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" + integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.2.1" "@babel/helper-define-polyfill-provider@^0.0.3": - "integrity" "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz" - "version" "0.0.3" + version "0.0.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz#df9da66285b884ce66417abdd0b6ca91198149bd" + integrity sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ== dependencies: "@babel/helper-compilation-targets" "^7.10.4" "@babel/helper-module-imports" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" "@babel/traverse" "^7.11.5" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-define-polyfill-provider@^0.2.2": - "integrity" "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz" - "version" "0.2.3" - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" - -"@babel/helper-explode-assignable-expression@^7.15.4": - "integrity" "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": - "integrity" "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-get-function-arity" "^7.15.4" - "@babel/template" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-get-function-arity@^7.15.4": - "integrity" "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==" - "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-hoist-variables@^7.15.4": - "integrity" "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-member-expression-to-functions@^7.15.4": - "integrity" "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4": - "integrity" "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.4": - "integrity" "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz" - "version" "7.15.7" - dependencies: - "@babel/helper-module-imports" "^7.15.4" - "@babel/helper-replace-supers" "^7.15.4" - "@babel/helper-simple-access" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/helper-validator-identifier" "^7.15.7" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.6" - -"@babel/helper-optimise-call-expression@^7.15.4": - "integrity" "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz" - "version" "7.14.5" - -"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4": - "integrity" "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-annotate-as-pure" "^7.15.4" - "@babel/helper-wrap-function" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.4": - "integrity" "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.4" - "@babel/helper-optimise-call-expression" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helper-simple-access@^7.15.4": - "integrity" "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-skip-transparent-expression-wrappers@^7.14.5", "@babel/helper-skip-transparent-expression-wrappers@^7.15.4": - "integrity" "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-split-export-declaration@^7.15.4": - "integrity" "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/types" "^7.15.4" - -"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9", "@babel/helper-validator-identifier@^7.15.7": - "integrity" "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz" - "version" "7.15.7" - -"@babel/helper-validator-option@^7.14.5": - "integrity" "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz" - "version" "7.14.5" - -"@babel/helper-wrap-function@^7.15.4": - "integrity" "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-function-name" "^7.15.4" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/helpers@^7.15.4": - "integrity" "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - "integrity" "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" - "version" "7.14.5" - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.0": - "integrity" "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz" - "version" "7.15.7" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": - "integrity" "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.15.4" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - -"@babel/plugin-proposal-async-generator-functions@^7.15.4": - "integrity" "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.15.4" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" + integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== + dependencies: + "@babel/template" "^7.18.10" + "@babel/types" "^7.19.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== + dependencies: + "@babel/types" "^7.20.7" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" + +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" + +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== + dependencies: + "@babel/types" "^7.20.2" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== + dependencies: + "@babel/types" "^7.20.0" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== + +"@babel/helper-wrap-function@^7.18.9": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== + dependencies: + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" + +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.7.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + 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" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.4.4": - "integrity" "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.6", "@babel/plugin-proposal-class-properties@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.15.4": - "integrity" "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.14.5": - "integrity" "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.14.5": - "integrity" "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.14.5": - "integrity" "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - "integrity" "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - "integrity" "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.14.5": - "integrity" "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.15.6": - "integrity" "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz" - "version" "7.15.6" +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.15.4" + "@babel/plugin-transform-parameters" "^7.20.7" -"@babel/plugin-proposal-optional-catch-binding@^7.14.5": - "integrity" "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.5": - "integrity" "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.14.5": - "integrity" "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.15.4": - "integrity" "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.15.4" - "@babel/helper-create-class-features-plugin" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-bigint@^7.8.3": - "integrity" "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.14.5": - "integrity" "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-syntax-flow@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" + integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-syntax-import-meta@^7.8.3": - "integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread@^7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.14.5": - "integrity" "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" + integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.19.0" -"@babel/plugin-transform-arrow-functions@^7.14.5": - "integrity" "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@^7.14.5": - "integrity" "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" -"@babel/plugin-transform-block-scoped-functions@^7.14.5": - "integrity" "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.15.3": - "integrity" "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz" - "version" "7.15.3" +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.15.4": - "integrity" "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-classes@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.15.4" - "@babel/helper-function-name" "^7.15.4" - "@babel/helper-optimise-call-expression" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "globals" "^11.1.0" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" + globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.14.5": - "integrity" "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" -"@babel/plugin-transform-destructuring@^7.14.7": - "integrity" "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz" - "version" "7.14.7" +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz" - "version" "7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-duplicate-keys@^7.14.5": - "integrity" "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz" - "version" "7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-exponentiation-operator@^7.14.5": - "integrity" "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-flow-strip-types@^7.14.5": - "integrity" "sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-flow-strip-types@^7.18.6": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz#e9e8606633287488216028719638cbbb2f2dde8f" + integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-flow" "^7.14.5" + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-flow" "^7.18.6" -"@babel/plugin-transform-for-of@^7.15.4": - "integrity" "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-for-of@^7.18.8": + version "7.18.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" + integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-function-name@^7.14.5": - "integrity" "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-compilation-targets" "^7.18.9" + "@babel/helper-function-name" "^7.18.9" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-literals@^7.14.5": - "integrity" "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.14.5": - "integrity" "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.14.5": - "integrity" "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "babel-plugin-dynamic-import-node" "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.15.4": - "integrity" "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: - "@babel/helper-module-transforms" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.15.4" - "babel-plugin-dynamic-import-node" "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" -"@babel/plugin-transform-modules-systemjs@^7.15.4": - "integrity" "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: - "@babel/helper-hoist-variables" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.9" - "babel-plugin-dynamic-import-node" "^2.3.3" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" -"@babel/plugin-transform-modules-umd@^7.14.5": - "integrity" "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": - "integrity" "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz" - "version" "7.14.9" +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-new-target@^7.14.5": - "integrity" "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.14.5": - "integrity" "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.15.4": - "integrity" "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-property-literals@^7.14.5": - "integrity" "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.14.5": - "integrity" "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: - "regenerator-transform" "^0.14.2" + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" -"@babel/plugin-transform-reserved-words@^7.14.5": - "integrity" "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-shorthand-properties@^7.14.5": - "integrity" "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.14.6": - "integrity" "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz" - "version" "7.14.6" +"@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" -"@babel/plugin-transform-sticky-regex@^7.14.5": - "integrity" "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.14.5": - "integrity" "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.14.5": - "integrity" "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typescript@^7.15.0": - "integrity" "sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz" - "version" "7.15.4" +"@babel/plugin-transform-typescript@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz#673f49499cd810ae32a1ea5f3f8fab370987e055" + integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/plugin-syntax-typescript" "^7.20.0" -"@babel/plugin-transform-unicode-escapes@^7.14.5": - "integrity" "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-regex@^7.14.5": - "integrity" "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz" - "version" "7.14.5" +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0": - "integrity" "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz" - "version" "7.15.6" - dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" - "@babel/plugin-proposal-async-generator-functions" "^7.15.4" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.15.4" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-json-strings" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.15.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.15.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== + dependencies: + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.1" + "@babel/plugin-proposal-class-properties" "^7.18.6" + "@babel/plugin-proposal-class-static-block" "^7.18.6" + "@babel/plugin-proposal-dynamic-import" "^7.18.6" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-proposal-json-strings" "^7.18.6" + "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" + "@babel/plugin-proposal-numeric-separator" "^7.18.6" + "@babel/plugin-proposal-object-rest-spread" "^7.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" + "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/plugin-proposal-private-methods" "^7.18.6" + "@babel/plugin-proposal-private-property-in-object" "^7.18.6" + "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" "@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.20.0" "@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" @@ -844,506 +884,752 @@ "@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-transform-arrow-functions" "^7.14.5" - "@babel/plugin-transform-async-to-generator" "^7.14.5" - "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.15.3" - "@babel/plugin-transform-classes" "^7.15.4" - "@babel/plugin-transform-computed-properties" "^7.14.5" - "@babel/plugin-transform-destructuring" "^7.14.7" - "@babel/plugin-transform-dotall-regex" "^7.14.5" - "@babel/plugin-transform-duplicate-keys" "^7.14.5" - "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.15.4" - "@babel/plugin-transform-function-name" "^7.14.5" - "@babel/plugin-transform-literals" "^7.14.5" - "@babel/plugin-transform-member-expression-literals" "^7.14.5" - "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.15.4" - "@babel/plugin-transform-modules-systemjs" "^7.15.4" - "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" - "@babel/plugin-transform-new-target" "^7.14.5" - "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.15.4" - "@babel/plugin-transform-property-literals" "^7.14.5" - "@babel/plugin-transform-regenerator" "^7.14.5" - "@babel/plugin-transform-reserved-words" "^7.14.5" - "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.6" - "@babel/plugin-transform-sticky-regex" "^7.14.5" - "@babel/plugin-transform-template-literals" "^7.14.5" - "@babel/plugin-transform-typeof-symbol" "^7.14.5" - "@babel/plugin-transform-unicode-escapes" "^7.14.5" - "@babel/plugin-transform-unicode-regex" "^7.14.5" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.15.6" - "babel-plugin-polyfill-corejs2" "^0.2.2" - "babel-plugin-polyfill-corejs3" "^0.2.2" - "babel-plugin-polyfill-regenerator" "^0.2.2" - "core-js-compat" "^3.16.0" - "semver" "^6.3.0" + "@babel/plugin-transform-arrow-functions" "^7.18.6" + "@babel/plugin-transform-async-to-generator" "^7.18.6" + "@babel/plugin-transform-block-scoped-functions" "^7.18.6" + "@babel/plugin-transform-block-scoping" "^7.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^7.18.6" + "@babel/plugin-transform-duplicate-keys" "^7.18.9" + "@babel/plugin-transform-exponentiation-operator" "^7.18.6" + "@babel/plugin-transform-for-of" "^7.18.8" + "@babel/plugin-transform-function-name" "^7.18.9" + "@babel/plugin-transform-literals" "^7.18.9" + "@babel/plugin-transform-member-expression-literals" "^7.18.6" + "@babel/plugin-transform-modules-amd" "^7.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^7.18.6" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" + "@babel/plugin-transform-new-target" "^7.18.6" + "@babel/plugin-transform-object-super" "^7.18.6" + "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-property-literals" "^7.18.6" + "@babel/plugin-transform-regenerator" "^7.18.6" + "@babel/plugin-transform-reserved-words" "^7.18.6" + "@babel/plugin-transform-shorthand-properties" "^7.18.6" + "@babel/plugin-transform-spread" "^7.19.0" + "@babel/plugin-transform-sticky-regex" "^7.18.6" + "@babel/plugin-transform-template-literals" "^7.18.9" + "@babel/plugin-transform-typeof-symbol" "^7.18.9" + "@babel/plugin-transform-unicode-escapes" "^7.18.10" + "@babel/plugin-transform-unicode-regex" "^7.18.6" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.20.2" + babel-plugin-polyfill-corejs2 "^0.3.3" + babel-plugin-polyfill-corejs3 "^0.6.0" + babel-plugin-polyfill-regenerator "^0.4.1" + core-js-compat "^3.25.1" + semver "^6.3.0" "@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.13.13": - "integrity" "sha512-pP5QEb4qRUSVGzzKx9xqRuHUrM/jEzMqdrZpdMA+oUCRgd5zM1qGr5y5+ZgAL/1tVv1H0dyk5t4SKJntqyiVtg==" - "resolved" "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.14.5.tgz" - "version" "7.14.5" + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" + integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-flow-strip-types" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-flow-strip-types" "^7.18.6" -"@babel/preset-modules@^0.1.4": - "integrity" "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" - "version" "0.1.4" +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== 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" + esutils "^2.0.2" "@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.13.0": - "integrity" "sha512-lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==" - "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz" - "version" "7.15.0" + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" + integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-typescript" "^7.15.0" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-validator-option" "^7.18.6" + "@babel/plugin-transform-typescript" "^7.18.6" "@babel/register@^7.0.0", "@babel/register@^7.13.16": - "integrity" "sha512-mj4IY1ZJkorClxKTImccn4T81+UKTo4Ux0+OFSV9hME1ooqS9UV+pJ6BjD0qXPK4T3XW/KNa79XByjeEMZz+fw==" - "resolved" "https://registry.npmjs.org/@babel/register/-/register-7.15.3.tgz" - "version" "7.15.3" - dependencies: - "clone-deep" "^4.0.1" - "find-cache-dir" "^2.0.0" - "make-dir" "^2.1.0" - "pirates" "^4.0.0" - "source-map-support" "^0.5.16" - -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.14.9": - "integrity" "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==" - "resolved" "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "core-js-pure" "^3.16.0" - "regenerator-runtime" "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - "integrity" "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "regenerator-runtime" "^0.13.4" - -"@babel/template@^7.15.4", "@babel/template@^7.3.3": - "integrity" "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.0": - "integrity" "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz" - "version" "7.15.4" - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.4" - "@babel/helper-function-name" "^7.15.4" - "@babel/helper-hoist-variables" "^7.15.4" - "@babel/helper-split-export-declaration" "^7.15.4" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - "debug" "^4.1.0" - "globals" "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - "integrity" "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz" - "version" "7.15.6" - dependencies: - "@babel/helper-validator-identifier" "^7.14.9" - "to-fast-properties" "^2.0.0" + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" + integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== + dependencies: + clone-deep "^4.0.1" + find-cache-dir "^2.0.0" + make-dir "^2.1.0" + pirates "^4.0.5" + source-map-support "^0.5.16" + +"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.16.5": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz#a1e5ea3d758ba6beb715210142912e3f29981d84" + integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== + dependencies: + core-js-pure "^3.25.1" + regenerator-runtime "^0.13.11" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.18.9", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.19.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": - "integrity" "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" - "resolved" "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - "version" "0.2.3" + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@cnakazawa/watch@^1.0.3": - "integrity" "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==" - "resolved" "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz" - "version" "1.0.4" + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== dependencies: - "exec-sh" "^0.3.2" - "minimist" "^1.2.0" + exec-sh "^0.3.2" + minimist "^1.2.0" "@eslint/eslintrc@^0.4.3": - "integrity" "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==" - "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" - "version" "0.4.3" - dependencies: - "ajv" "^6.12.4" - "debug" "^4.1.1" - "espree" "^7.3.0" - "globals" "^13.9.0" - "ignore" "^4.0.6" - "import-fresh" "^3.2.1" - "js-yaml" "^3.13.1" - "minimatch" "^3.0.4" - "strip-json-comments" "^3.1.1" + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" "@humanwhocodes/config-array@^0.5.0": - "integrity" "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" - "version" "0.5.0" + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" - "debug" "^4.1.1" - "minimatch" "^3.0.4" + debug "^4.1.1" + minimatch "^3.0.4" "@humanwhocodes/object-schema@^1.2.0": - "integrity" "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" - "resolved" "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" - "version" "1.2.0" + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@istanbuljs/load-nyc-config@^1.0.0": - "integrity" "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==" - "resolved" "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" - "version" "1.1.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 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" + 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" "@istanbuljs/schema@^0.1.2": - "integrity" "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" - "resolved" "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - "version" "0.1.3" + version "0.1.3" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== "@jest/console@^25.5.0": - "integrity" "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==" - "resolved" "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" + integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== dependencies: "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "jest-message-util" "^25.5.0" - "jest-util" "^25.5.0" - "slash" "^3.0.0" + chalk "^3.0.0" + jest-message-util "^25.5.0" + jest-util "^25.5.0" + slash "^3.0.0" + +"@jest/console@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" + integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== + dependencies: + "@jest/types" "^29.3.1" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.3.1" + jest-util "^29.3.1" + slash "^3.0.0" "@jest/core@^25.5.4": - "integrity" "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==" - "resolved" "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz" - "version" "25.5.4" + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" + integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== dependencies: "@jest/console" "^25.5.0" "@jest/reporters" "^25.5.1" "@jest/test-result" "^25.5.0" "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" - "ansi-escapes" "^4.2.1" - "chalk" "^3.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.4" - "jest-changed-files" "^25.5.0" - "jest-config" "^25.5.4" - "jest-haste-map" "^25.5.1" - "jest-message-util" "^25.5.0" - "jest-regex-util" "^25.2.6" - "jest-resolve" "^25.5.1" - "jest-resolve-dependencies" "^25.5.4" - "jest-runner" "^25.5.4" - "jest-runtime" "^25.5.4" - "jest-snapshot" "^25.5.1" - "jest-util" "^25.5.0" - "jest-validate" "^25.5.0" - "jest-watcher" "^25.5.0" - "micromatch" "^4.0.2" - "p-each-series" "^2.1.0" - "realpath-native" "^2.0.0" - "rimraf" "^3.0.0" - "slash" "^3.0.0" - "strip-ansi" "^6.0.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^25.5.0" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-resolve-dependencies "^25.5.4" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + jest-watcher "^25.5.0" + micromatch "^4.0.2" + p-each-series "^2.1.0" + realpath-native "^2.0.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/core@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" + integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== + dependencies: + "@jest/console" "^29.3.1" + "@jest/reporters" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.2.0" + jest-config "^29.3.1" + jest-haste-map "^29.3.1" + jest-message-util "^29.3.1" + jest-regex-util "^29.2.0" + jest-resolve "^29.3.1" + jest-resolve-dependencies "^29.3.1" + jest-runner "^29.3.1" + jest-runtime "^29.3.1" + jest-snapshot "^29.3.1" + jest-util "^29.3.1" + jest-validate "^29.3.1" + jest-watcher "^29.3.1" + micromatch "^4.0.4" + pretty-format "^29.3.1" + slash "^3.0.0" + strip-ansi "^6.0.0" "@jest/environment@^25.5.0": - "integrity" "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==" - "resolved" "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" + integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== dependencies: "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - "jest-mock" "^25.5.0" + jest-mock "^25.5.0" + +"@jest/environment@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" + integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== + dependencies: + "@jest/fake-timers" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + jest-mock "^29.3.1" + +"@jest/expect-utils@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" + integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== + dependencies: + jest-get-type "^29.2.0" + +"@jest/expect@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" + integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== + dependencies: + expect "^29.3.1" + jest-snapshot "^29.3.1" "@jest/fake-timers@^25.5.0": - "integrity" "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==" - "resolved" "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" + integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== dependencies: "@jest/types" "^25.5.0" - "jest-message-util" "^25.5.0" - "jest-mock" "^25.5.0" - "jest-util" "^25.5.0" - "lolex" "^5.0.0" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + lolex "^5.0.0" + +"@jest/fake-timers@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" + integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== + dependencies: + "@jest/types" "^29.3.1" + "@sinonjs/fake-timers" "^9.1.2" + "@types/node" "*" + jest-message-util "^29.3.1" + jest-mock "^29.3.1" + jest-util "^29.3.1" "@jest/globals@^25.5.2": - "integrity" "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==" - "resolved" "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz" - "version" "25.5.2" + version "25.5.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" + integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== dependencies: "@jest/environment" "^25.5.0" "@jest/types" "^25.5.0" - "expect" "^25.5.0" + expect "^25.5.0" + +"@jest/globals@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" + integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== + dependencies: + "@jest/environment" "^29.3.1" + "@jest/expect" "^29.3.1" + "@jest/types" "^29.3.1" + jest-mock "^29.3.1" "@jest/reporters@^25.5.1": - "integrity" "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==" - "resolved" "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz" - "version" "25.5.1" + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" + integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@jest/console" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "collect-v8-coverage" "^1.0.0" - "exit" "^0.1.2" - "glob" "^7.1.2" - "graceful-fs" "^4.2.4" - "istanbul-lib-coverage" "^3.0.0" - "istanbul-lib-instrument" "^4.0.0" - "istanbul-lib-report" "^3.0.0" - "istanbul-lib-source-maps" "^4.0.0" - "istanbul-reports" "^3.0.2" - "jest-haste-map" "^25.5.1" - "jest-resolve" "^25.5.1" - "jest-util" "^25.5.0" - "jest-worker" "^25.5.0" - "slash" "^3.0.0" - "source-map" "^0.6.0" - "string-length" "^3.1.0" - "terminal-link" "^2.0.0" - "v8-to-istanbul" "^4.1.3" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^25.5.1" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-worker "^25.5.0" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^3.1.0" + terminal-link "^2.0.0" + v8-to-istanbul "^4.1.3" optionalDependencies: - "node-notifier" "^6.0.0" + node-notifier "^6.0.0" + +"@jest/reporters@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" + integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@jridgewell/trace-mapping" "^0.3.15" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^5.1.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.3.1" + jest-util "^29.3.1" + jest-worker "^29.3.1" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.0.0": + version "29.0.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" + integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== + dependencies: + "@sinclair/typebox" "^0.24.1" "@jest/source-map@^25.5.0": - "integrity" "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==" - "resolved" "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" + integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + +"@jest/source-map@^29.2.0": + version "29.2.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" + integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== dependencies: - "callsites" "^3.0.0" - "graceful-fs" "^4.2.4" - "source-map" "^0.6.0" + "@jridgewell/trace-mapping" "^0.3.15" + callsites "^3.0.0" + graceful-fs "^4.2.9" "@jest/test-result@^25.5.0": - "integrity" "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==" - "resolved" "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" + integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== dependencies: "@jest/console" "^25.5.0" "@jest/types" "^25.5.0" "@types/istanbul-lib-coverage" "^2.0.0" - "collect-v8-coverage" "^1.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-result@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" + integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== + dependencies: + "@jest/console" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" "@jest/test-sequencer@^25.5.4": - "integrity" "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==" - "resolved" "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz" - "version" "25.5.4" + version "25.5.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" + integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== dependencies: "@jest/test-result" "^25.5.0" - "graceful-fs" "^4.2.4" - "jest-haste-map" "^25.5.1" - "jest-runner" "^25.5.4" - "jest-runtime" "^25.5.4" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-runner "^25.5.4" + jest-runtime "^25.5.4" + +"@jest/test-sequencer@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" + integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== + dependencies: + "@jest/test-result" "^29.3.1" + graceful-fs "^4.2.9" + jest-haste-map "^29.3.1" + slash "^3.0.0" "@jest/transform@^25.5.1": - "integrity" "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==" - "resolved" "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz" - "version" "25.5.1" + version "25.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" + integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== dependencies: "@babel/core" "^7.1.0" "@jest/types" "^25.5.0" - "babel-plugin-istanbul" "^6.0.0" - "chalk" "^3.0.0" - "convert-source-map" "^1.4.0" - "fast-json-stable-stringify" "^2.0.0" - "graceful-fs" "^4.2.4" - "jest-haste-map" "^25.5.1" - "jest-regex-util" "^25.2.6" - "jest-util" "^25.5.0" - "micromatch" "^4.0.2" - "pirates" "^4.0.1" - "realpath-native" "^2.0.0" - "slash" "^3.0.0" - "source-map" "^0.6.1" - "write-file-atomic" "^3.0.0" + babel-plugin-istanbul "^6.0.0" + chalk "^3.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^25.5.1" + jest-regex-util "^25.2.6" + jest-util "^25.5.0" + micromatch "^4.0.2" + pirates "^4.0.1" + realpath-native "^2.0.0" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + +"@jest/transform@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" + integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.3.1" + "@jridgewell/trace-mapping" "^0.3.15" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.3.1" + jest-regex-util "^29.2.0" + jest-util "^29.3.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.1" "@jest/types@^25.5.0": - "integrity" "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==" - "resolved" "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz" - "version" "25.5.0" + version "25.5.0" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" + integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== dependencies: "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^15.0.0" - "chalk" "^3.0.0" + chalk "^3.0.0" + +"@jest/types@^29.3.1": + version "29.3.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" + integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== + dependencies: + "@jest/schemas" "^29.0.0" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@polka/url@^1.0.0-next.20": - "integrity" "sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q==" - "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz" - "version" "1.0.0-next.20" + version "1.0.0-next.21" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== "@rollup/plugin-babel@^5.1.0": - "integrity" "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz" - "version" "5.3.0" + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== dependencies: "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" "@rollup/plugin-commonjs@^11.0.0": - "integrity" "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz" - "version" "11.1.0" + version "11.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" + integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== dependencies: "@rollup/pluginutils" "^3.0.8" - "commondir" "^1.0.1" - "estree-walker" "^1.0.1" - "glob" "^7.1.2" - "is-reference" "^1.1.2" - "magic-string" "^0.25.2" - "resolve" "^1.11.0" + commondir "^1.0.1" + estree-walker "^1.0.1" + glob "^7.1.2" + is-reference "^1.1.2" + magic-string "^0.25.2" + resolve "^1.11.0" "@rollup/plugin-json@^4.0.0": - "integrity" "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz" - "version" "4.1.0" + version "4.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" + integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== dependencies: "@rollup/pluginutils" "^3.0.8" "@rollup/plugin-node-resolve@^9.0.0": - "integrity" "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz" - "version" "9.0.0" + version "9.0.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" + integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== dependencies: "@rollup/pluginutils" "^3.1.0" "@types/resolve" "1.17.1" - "builtin-modules" "^3.1.0" - "deepmerge" "^4.2.2" - "is-module" "^1.0.0" - "resolve" "^1.17.0" + builtin-modules "^3.1.0" + deepmerge "^4.2.2" + is-module "^1.0.0" + resolve "^1.17.0" "@rollup/plugin-replace@^2.2.1": - "integrity" "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==" - "resolved" "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz" - "version" "2.4.2" + version "2.4.2" + resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" + integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== dependencies: "@rollup/pluginutils" "^3.1.0" - "magic-string" "^0.25.7" + magic-string "^0.25.7" "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - "integrity" "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==" - "resolved" "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - "version" "3.1.0" + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== dependencies: "@types/estree" "0.0.39" - "estree-walker" "^1.0.1" - "picomatch" "^2.2.2" + estree-walker "^1.0.1" + picomatch "^2.2.2" + +"@sinclair/typebox@^0.24.1": + version "0.24.51" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" + integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== "@sinonjs/commons@^1.7.0": - "integrity" "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==" - "resolved" "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz" - "version" "1.8.3" + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== + dependencies: + type-detect "4.0.8" + +"@sinonjs/fake-timers@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" + integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== dependencies: - "type-detect" "4.0.8" + "@sinonjs/commons" "^1.7.0" -"@size-limit/file@5.0.4": - "integrity" "sha512-NXWk7fkI304TazIzG2d7co2X+XB52pHPr0CEXoj52Dx1olXcQqbx+6cg6im0FzhL91iCp1eAjhfeOq8h5D4B/Q==" - "resolved" "https://registry.npmjs.org/@size-limit/file/-/file-5.0.4.tgz" - "version" "5.0.4" +"@size-limit/file@5.0.5": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-5.0.5.tgz#fc62708e626e2f154412f65d618937d8a2b081ef" + integrity sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA== dependencies: - "semver" "7.3.5" + semver "7.3.5" "@size-limit/preset-small-lib@^5.0.4": - "integrity" "sha512-2DRnZUte+WThsE/Lzu3uR7RkmzK/tJcgl2rCIsrfDQ4Kn23uesXVD2y19nWHzpEc4H62bxS13SmkTi84o5mBiQ==" - "resolved" "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.4.tgz" - "version" "5.0.4" - dependencies: - "@size-limit/file" "5.0.4" - "@size-limit/webpack" "5.0.4" - -"@size-limit/webpack@5.0.4": - "integrity" "sha512-wFJ90kwJ60AAZ3Ln4Egc6Tbpl7AcibGJKawHp41HpV2TeJT4IQOsgYXj/QOnVzz75+MKX/aZVa6OIlyWR7KORw==" - "resolved" "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.4.tgz" - "version" "5.0.4" - dependencies: - "css-loader" "^5.2.6" - "escape-string-regexp" "^4.0.0" - "file-loader" "^6.2.0" - "mkdirp" "^1.0.4" - "nanoid" "^3.1.25" - "optimize-css-assets-webpack-plugin" "^6.0.1" - "pnp-webpack-plugin" "^1.7.0" - "style-loader" "^2.0.0" - "webpack" "^4.44.1" - "webpack-bundle-analyzer" "^4.4.2" + version "5.0.5" + resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz#0f5eac605f1d3f1b7129a215a2abe11ff47c3cc3" + integrity sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ== + dependencies: + "@size-limit/file" "5.0.5" + "@size-limit/webpack" "5.0.5" + +"@size-limit/webpack@5.0.5": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@size-limit/webpack/-/webpack-5.0.5.tgz#368eb926087120b43592aa97cc69e6bca3c7575c" + integrity sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q== + dependencies: + css-loader "^5.2.6" + escape-string-regexp "^4.0.0" + file-loader "^6.2.0" + mkdirp "^1.0.4" + nanoid "^3.1.28" + optimize-css-assets-webpack-plugin "^6.0.1" + pnp-webpack-plugin "^1.7.0" + style-loader "^2.0.0" + webpack "^4.44.1" + webpack-bundle-analyzer "^4.4.2" "@trysound/sax@0.2.0": - "integrity" "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==" - "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz" - "version" "0.2.0" + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@ts-morph/bootstrap@^0.9.1": - "integrity" "sha512-u3F2vhLm48e6lZUIf9Gj41OXCzAr62avbWdlMZ9K1JCH//XuAgr2u3c+2usGOOIXBaP83LshBTzDgw/tb9tSzg==" - "resolved" "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.9.1.tgz" - "version" "0.9.1" +"@ts-morph/bootstrap@^0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz#c97034175a8fc2b7d3f575526d819877f7ed2d83" + integrity sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw== dependencies: - "@ts-morph/common" "~0.9.0" + "@ts-morph/common" "~0.16.0" -"@ts-morph/common@~0.9.0": - "integrity" "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==" - "resolved" "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz" - "version" "0.9.2" +"@ts-morph/common@~0.16.0": + version "0.16.0" + resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.16.0.tgz#57e27d4b3fd65a4cd72cb36679ed08acb40fa3ba" + integrity sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw== dependencies: - "fast-glob" "^3.2.5" - "minimatch" "^3.0.4" - "mkdirp" "^1.0.4" - "path-browserify" "^1.0.1" + fast-glob "^3.2.11" + minimatch "^5.1.0" + mkdirp "^1.0.4" + path-browserify "^1.0.1" -"@types/babel__core@^7.1.7", "@types/babel__core@^7.1.9": - "integrity" "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==" - "resolved" "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz" - "version" "7.1.16" +"@types/babel__core@^7.1.14", "@types/babel__core@^7.1.7": + version "7.1.20" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" + integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1352,245 +1638,274 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - "integrity" "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==" - "resolved" "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz" - "version" "7.6.3" + version "7.6.4" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - "integrity" "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==" - "resolved" "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - "version" "7.4.1" + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - "integrity" "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==" - "resolved" "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz" - "version" "7.14.2" + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== dependencies: "@babel/types" "^7.3.0" "@types/eslint-visitor-keys@^1.0.0": - "integrity" "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" - "resolved" "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - "version" "1.0.0" + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/estree@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== -"@types/estree@*", "@types/estree@0.0.39": - "integrity" "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - "version" "0.0.39" +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/graceful-fs@^4.1.2": - "integrity" "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==" - "resolved" "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz" - "version" "4.1.5" +"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" + integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== dependencies: "@types/node" "*" "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - "integrity" "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz" - "version" "2.0.3" + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": - "integrity" "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==" - "resolved" "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-reports@^1.1.1": - "integrity" "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==" - "resolved" "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" + integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== dependencies: "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + "@types/jest@^25.2.1": - "integrity" "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==" - "resolved" "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz" - "version" "25.2.3" + version "25.2.3" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" + integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== dependencies: - "jest-diff" "^25.2.1" - "pretty-format" "^25.2.1" + jest-diff "^25.2.1" + pretty-format "^25.2.1" "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.8": - "integrity" "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz" - "version" "7.0.9" + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": - "integrity" "sha1-7ihweulOEdK4J7y+UnC86n8+ce4= sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - "resolved" "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - "version" "0.0.29" + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/libsodium-wrappers-sumo@^0.7.5": - "integrity" "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==" - "resolved" "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz" - "version" "0.7.5" + version "0.7.5" + resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz#c5191fc28d44edd39583552bd1855f6b7b77ca88" + integrity sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw== dependencies: "@types/libsodium-wrappers" "*" "@types/libsodium-wrappers@*": - "integrity" "sha512-LisgKLlYQk19baQwjkBZZXdJL0KbeTpdEnrAfz5hQACbklCY0gVFnsKUyjfNWF1UQsCSjw93Sj5jSbiO8RPfdw==" - "resolved" "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.9.tgz" - "version" "0.7.9" + version "0.7.10" + resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#a6ebde70d3b4af960fd802af8d0e3c7cfe281eb2" + integrity sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA== "@types/lodash@^4.14.185": - "integrity" "sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==" - "resolved" "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.185.tgz" - "version" "4.14.185" + version "4.14.191" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" + integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== -"@types/node@*", "@types/node@>=10.0.0": - "integrity" "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz" - "version" "16.9.6" +"@types/node@*": + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/normalize-package-data@^2.4.0": - "integrity" "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" - "resolved" "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - "version" "2.4.1" + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^1.19.0": - "integrity" "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==" - "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz" - "version" "1.19.1" + version "1.19.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" + integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== + +"@types/prettier@^2.1.5": + version "2.7.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== "@types/resolve@1.17.1": - "integrity" "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==" - "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz" - "version" "1.17.1" + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== dependencies: "@types/node" "*" "@types/stack-utils@^1.0.1": - "integrity" "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==" - "resolved" "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz" - "version" "1.0.1" + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/urlsafe-base64@^1.0.28": - "integrity" "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==" - "resolved" "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz" - "version" "1.0.28" + version "1.0.28" + resolved "https://registry.yarnpkg.com/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz#2cf2098518e98c730a7e00de79a455e0269a3f4d" + integrity sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ== dependencies: "@types/node" "*" "@types/yargs-parser@*": - "integrity" "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" - "resolved" "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz" - "version" "20.2.1" + version "21.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" + integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^15.0.0": - "integrity" "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==" - "resolved" "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz" - "version" "15.0.14" + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.17" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.17.tgz#5672e5621f8e0fca13f433a8017aae4b7a2a03e7" + integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^2.12.0", "@typescript-eslint/eslint-plugin@2.x": - "integrity" "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz" - "version" "2.34.0" +"@typescript-eslint/eslint-plugin@^2.12.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" + integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== dependencies: "@typescript-eslint/experimental-utils" "2.34.0" - "functional-red-black-tree" "^1.0.1" - "regexpp" "^3.0.0" - "tsutils" "^3.17.1" + functional-red-black-tree "^1.0.1" + regexpp "^3.0.0" + tsutils "^3.17.1" "@typescript-eslint/experimental-utils@2.34.0": - "integrity" "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz" - "version" "2.34.0" + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== dependencies: "@types/json-schema" "^7.0.3" "@typescript-eslint/typescript-estree" "2.34.0" - "eslint-scope" "^5.0.0" - "eslint-utils" "^2.0.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" -"@typescript-eslint/parser@^2.0.0", "@typescript-eslint/parser@^2.12.0", "@typescript-eslint/parser@2.x": - "integrity" "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz" - "version" "2.34.0" +"@typescript-eslint/parser@^2.12.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" + integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== dependencies: "@types/eslint-visitor-keys" "^1.0.0" "@typescript-eslint/experimental-utils" "2.34.0" "@typescript-eslint/typescript-estree" "2.34.0" - "eslint-visitor-keys" "^1.1.0" + eslint-visitor-keys "^1.1.0" "@typescript-eslint/typescript-estree@2.34.0": - "integrity" "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==" - "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz" - "version" "2.34.0" - dependencies: - "debug" "^4.1.1" - "eslint-visitor-keys" "^1.1.0" - "glob" "^7.1.6" - "is-glob" "^4.0.1" - "lodash" "^4.17.15" - "semver" "^7.3.2" - "tsutils" "^3.17.1" + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" "@webassemblyjs/ast@1.9.0": - "integrity" "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" + integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== dependencies: "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@webassemblyjs/floating-point-hex-parser@1.9.0": - "integrity" "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" + integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== "@webassemblyjs/helper-api-error@1.9.0": - "integrity" "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" + integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== "@webassemblyjs/helper-buffer@1.9.0": - "integrity" "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" + integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== "@webassemblyjs/helper-code-frame@1.9.0": - "integrity" "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" + integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== dependencies: "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/helper-fsm@1.9.0": - "integrity" "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" + integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== "@webassemblyjs/helper-module-context@1.9.0": - "integrity" "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" + integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode@1.9.0": - "integrity" "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" + integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== "@webassemblyjs/helper-wasm-section@1.9.0": - "integrity" "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" + integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1598,28 +1913,28 @@ "@webassemblyjs/wasm-gen" "1.9.0" "@webassemblyjs/ieee754@1.9.0": - "integrity" "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" + integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.9.0": - "integrity" "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" + integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.9.0": - "integrity" "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" + integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== "@webassemblyjs/wasm-edit@1.9.0": - "integrity" "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" + integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1631,9 +1946,9 @@ "@webassemblyjs/wast-printer" "1.9.0" "@webassemblyjs/wasm-gen@1.9.0": - "integrity" "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" + integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-wasm-bytecode" "1.9.0" @@ -1642,9 +1957,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wasm-opt@1.9.0": - "integrity" "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" + integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-buffer" "1.9.0" @@ -1652,9 +1967,9 @@ "@webassemblyjs/wasm-parser" "1.9.0" "@webassemblyjs/wasm-parser@1.9.0": - "integrity" "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" + integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-api-error" "1.9.0" @@ -1664,9 +1979,9 @@ "@webassemblyjs/utf8" "1.9.0" "@webassemblyjs/wast-parser@1.9.0": - "integrity" "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" + integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/floating-point-hex-parser" "1.9.0" @@ -1676,485 +1991,496 @@ "@xtuc/long" "4.2.2" "@webassemblyjs/wast-printer@1.9.0": - "integrity" "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz" - "version" "1.9.0" + version "1.9.0" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" + integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"abab@^2.0.0": - "integrity" "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" - "resolved" "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz" - "version" "2.0.5" - -"acorn-globals@^4.3.2": - "integrity" "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==" - "resolved" "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz" - "version" "4.3.4" - dependencies: - "acorn" "^6.0.1" - "acorn-walk" "^6.0.1" - -"acorn-jsx@^5.2.0", "acorn-jsx@^5.3.1": - "integrity" "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" - "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - "version" "5.3.2" - -"acorn-walk@^6.0.1": - "integrity" "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz" - "version" "6.2.0" - -"acorn-walk@^8.0.0": - "integrity" "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - "version" "8.2.0" - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.0", "acorn@^7.1.1", "acorn@^7.4.0": - "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - "version" "7.4.1" - -"acorn@^6.0.1": - "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - "version" "6.4.2" - -"acorn@^6.4.1": - "integrity" "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz" - "version" "6.4.2" - -"acorn@^8.0.4": - "integrity" "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz" - "version" "8.5.0" - -"ajv-errors@^1.0.0": - "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" - "version" "1.0.1" - -"ajv-keywords@^3.1.0", "ajv-keywords@^3.4.1", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.1.0", "ajv@^6.10.0", "ajv@^6.10.2", "ajv@^6.12.3", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - 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" - -"ajv@^8.0.1": - "integrity" "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" - "version" "8.6.3" - dependencies: - "fast-deep-equal" "^3.1.1" - "json-schema-traverse" "^1.0.0" - "require-from-string" "^2.0.2" - "uri-js" "^4.2.2" - -"alphanum-sort@^1.0.2": - "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" - "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" - "version" "1.0.2" - -"ansi-colors@^4.1.1": - "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - "version" "4.1.1" - -"ansi-escapes@^3.0.0": - "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - "version" "3.2.0" - -"ansi-escapes@^3.2.0": - "integrity" "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz" - "version" "3.2.0" - -"ansi-escapes@^4.2.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-regex@^3.0.0": - "integrity" "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - "version" "3.0.0" - -"ansi-regex@^4.1.0": - "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - "version" "4.1.0" - -"ansi-regex@^5.0.0", "ansi-regex@^5.0.1": - "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - "version" "5.0.1" - -"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"anymatch@^2.0.0": - "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "micromatch" "^3.1.4" - "normalize-path" "^2.1.1" - -"anymatch@^3.0.3", "anymatch@~3.1.2": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"aproba@^1.1.1": - "integrity" "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - "resolved" "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz" - "version" "1.2.0" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"aria-query@^4.2.2": - "integrity" "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==" - "resolved" "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" - "version" "4.2.2" + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abab@^2.0.0: + version "2.0.6" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" + integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== + +acorn-globals@^4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" + integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + dependencies: + acorn "^6.0.1" + acorn-walk "^6.0.1" + +acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" + integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + +acorn-walk@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^6.0.1, acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4: + version "8.8.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" + integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.1: + version "8.11.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" + integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.3, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== dependencies: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -"arr-diff@^4.0.0": - "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==" - "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - "version" "4.0.0" - -"arr-flatten@^1.1.0": - "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - "version" "1.1.0" - -"arr-union@^3.1.0": - "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"array-equal@^1.0.0": - "integrity" "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==" - "resolved" "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz" - "version" "1.0.0" - -"array-includes@^3.1.1", "array-includes@^3.1.3": - "integrity" "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==" - "resolved" "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz" - "version" "3.1.3" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.2" - "get-intrinsic" "^1.1.1" - "is-string" "^1.0.5" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array-unique@^0.3.2": - "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==" - "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - "version" "0.3.2" - -"array.prototype.flat@^1.2.4": - "integrity" "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==" - "resolved" "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz" - "version" "1.2.4" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.1" - -"array.prototype.flatmap@^1.2.4": - "integrity" "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==" - "resolved" "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz" - "version" "1.2.4" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.1" - "function-bind" "^1.1.1" - -"asn1.js@^5.2.0": - "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==" - "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz" - "version" "5.4.1" - dependencies: - "bn.js" "^4.0.0" - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" - "safer-buffer" "^2.1.0" - -"asn1@~0.2.3": - "integrity" "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==" - "resolved" "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" - "version" "0.2.4" - dependencies: - "safer-buffer" "~2.1.0" - -"assert-plus@^1.0.0", "assert-plus@1.0.0": - "integrity" "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" - "resolved" "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" - "version" "1.0.0" - -"assert@^1.1.1": - "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==" - "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "object-assign" "^4.1.1" - "util" "0.10.3" - -"assign-symbols@^1.0.0": - "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==" - "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - "version" "1.0.0" - -"ast-types-flow@^0.0.7": - "integrity" "sha1-9wtzXGvKGlycItmCw+Oef+ujva0= sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==" - "resolved" "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" - "version" "0.0.7" - -"ast-types@0.11.7": - "integrity" "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==" - "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz" - "version" "0.11.7" - -"ast-types@0.14.2": - "integrity" "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==" - "resolved" "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz" - "version" "0.14.2" - dependencies: - "tslib" "^2.0.1" - -"astral-regex@^1.0.0": - "integrity" "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz" - "version" "1.0.0" - -"astral-regex@^2.0.0": - "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - "version" "2.0.0" - -"async-each@^1.0.1": - "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" - "version" "1.0.3" - -"asynckit@^0.4.0": - "integrity" "sha1-x57Zf380y48robyXkLzDZkdLS3k= sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - "resolved" "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - "version" "0.4.0" - -"asyncro@^3.0.0": - "integrity" "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==" - "resolved" "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz" - "version" "3.0.0" - -"at-least-node@^1.0.0": - "integrity" "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" - "resolved" "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" - "version" "1.0.0" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"aws-sign2@~0.7.0": - "integrity" "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" - "resolved" "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" - "version" "0.7.0" - -"aws4@^1.8.0": - "integrity" "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" - "resolved" "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" - "version" "1.11.0" - -"axe-core@^4.0.2": - "integrity" "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA==" - "resolved" "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz" - "version" "4.3.3" - -"axobject-query@^2.2.0": - "integrity" "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==" - "resolved" "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" - "version" "2.2.0" - -"babel-core@^7.0.0-bridge.0": - "integrity" "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" - "resolved" "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz" - "version" "7.0.0-bridge.0" - -"babel-eslint@^10.0.3", "babel-eslint@10.x": - "integrity" "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==" - "resolved" "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" - "version" "10.1.0" +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== + +array-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" + integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== + +array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== + +array.prototype.flat@^1.2.5: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== + +assert@^1.1.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" + integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== + +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== + +ast-types@0.11.7: + version "0.11.7" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" + integrity sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw== + +ast-types@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" + integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== + dependencies: + tslib "^2.0.1" + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + +asyncro@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +axe-core@^4.4.3: + version "4.6.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.1.tgz#79cccdee3e3ab61a8f42c458d4123a6768e6fbce" + integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w== + +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-eslint@^10.0.3: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.7.0" "@babel/traverse" "^7.7.0" "@babel/types" "^7.7.0" - "eslint-visitor-keys" "^1.0.0" - "resolve" "^1.12.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" -"babel-jest@^25.5.1": - "integrity" "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==" - "resolved" "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz" - "version" "25.5.1" +babel-jest@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" + integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== dependencies: "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" "@types/babel__core" "^7.1.7" - "babel-plugin-istanbul" "^6.0.0" - "babel-preset-jest" "^25.5.0" - "chalk" "^3.0.0" - "graceful-fs" "^4.2.4" - "slash" "^3.0.0" - -"babel-plugin-annotate-pure-calls@^0.4.0": - "integrity" "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==" - "resolved" "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz" - "version" "0.4.0" - -"babel-plugin-dev-expression@^0.2.1": - "integrity" "sha512-y32lfBif+c2FIh5dwGfcc/IfX5aw/Bru7Du7W2n17sJE/GJGAsmIk5DPW/8JOoeKpXW5evJfJOvRq5xkiS6vng==" - "resolved" "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.2.tgz" - "version" "0.2.2" - -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "object.assign" "^4.1.0" - -"babel-plugin-istanbul@^6.0.0": - "integrity" "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz" - "version" "6.0.0" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + +babel-jest@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" + integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== + dependencies: + "@jest/transform" "^29.3.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-annotate-pure-calls@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" + integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== + +babel-plugin-dev-expression@^0.2.1: + version "0.2.3" + resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz#8aaf52155dfb063ed4ddec6280456fbc256fead4" + integrity sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw== + +babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-instrument" "^4.0.0" - "test-exclude" "^6.0.0" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" + integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__traverse" "^7.0.6" -"babel-plugin-jest-hoist@^25.5.0": - "integrity" "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==" - "resolved" "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz" - "version" "25.5.0" +babel-plugin-jest-hoist@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" + integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" -"babel-plugin-macros@^2.6.1": - "integrity" "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==" - "resolved" "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz" - "version" "2.8.0" +babel-plugin-macros@^2.6.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== dependencies: "@babel/runtime" "^7.7.2" - "cosmiconfig" "^6.0.0" - "resolve" "^1.12.0" + cosmiconfig "^6.0.0" + resolve "^1.12.0" -"babel-plugin-polyfill-corejs2@^0.2.2": - "integrity" "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz" - "version" "0.2.2" +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.2" - "semver" "^6.1.1" + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" + semver "^6.1.1" -"babel-plugin-polyfill-corejs3@^0.2.2": - "integrity" "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz" - "version" "0.2.5" +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - "core-js-compat" "^3.16.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" -"babel-plugin-polyfill-regenerator@^0.0.4": - "integrity" "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz" - "version" "0.0.4" +babel-plugin-polyfill-regenerator@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz#588641af9a2cb4e299b1400c47672a4a104d2459" + integrity sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA== dependencies: "@babel/helper-define-polyfill-provider" "^0.0.3" -"babel-plugin-polyfill-regenerator@^0.2.2": - "integrity" "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz" - "version" "0.2.2" +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" -"babel-plugin-transform-rename-import@^2.3.0": - "integrity" "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz" - "version" "2.3.0" +babel-plugin-transform-rename-import@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz#5d9d645f937b0ca5c26a24b2510a06277b6ffd9b" + integrity sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ== -"babel-preset-current-node-syntax@^0.1.2": - "integrity" "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==" - "resolved" "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz" - "version" "0.1.4" +babel-preset-current-node-syntax@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" + integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" @@ -2168,3104 +2494,3394 @@ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"babel-preset-jest@^25.5.0": - "integrity" "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==" - "resolved" "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "babel-plugin-jest-hoist" "^25.5.0" - "babel-preset-current-node-syntax" "^0.1.2" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base@^0.11.1": - "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "cache-base" "^1.0.1" - "class-utils" "^0.3.5" - "component-emitter" "^1.2.1" - "define-property" "^1.0.0" - "isobject" "^3.0.1" - "mixin-deep" "^1.2.0" - "pascalcase" "^0.1.1" - -"base64-js@^1.0.2", "base64-js@^1.3.1": - "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - "version" "1.5.1" - -"bcrypt-pbkdf@^1.0.0": - "integrity" "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==" - "resolved" "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "tweetnacl" "^0.14.3" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"binary-extensions@^1.0.0": - "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" - "version" "1.13.1" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bindings@^1.5.0": - "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" - "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "file-uri-to-path" "1.0.0" - -"bl@^4.0.0": - "integrity" "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - "resolved" "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "buffer" "^5.5.0" - "inherits" "^2.0.4" - "readable-stream" "^3.4.0" - -"blake3@^2.1.7": - "integrity" "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==" - "resolved" "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz" - "version" "2.1.7" - -"bluebird@^3.5.5": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"bn.js@^4.0.0": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^4.1.0": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^4.11.9": - "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" - "version" "4.12.0" - -"bn.js@^5.0.0", "bn.js@^5.1.1": - "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" - "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz" - "version" "5.2.0" - -"boolbase@^1.0.0": - "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24= sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" - "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - "version" "1.0.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^2.3.1", "braces@^2.3.2": - "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" - "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "arr-flatten" "^1.1.0" - "array-unique" "^0.3.2" - "extend-shallow" "^2.0.1" - "fill-range" "^4.0.0" - "isobject" "^3.0.1" - "repeat-element" "^1.1.2" - "snapdragon" "^0.8.1" - "snapdragon-node" "^2.0.1" - "split-string" "^3.0.2" - "to-regex" "^3.0.1" - -"braces@^3.0.1", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"brorand@^1.0.1", "brorand@^1.1.0": - "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" - "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" - "version" "1.1.0" - -"browser-process-hrtime@^1.0.0": - "integrity" "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" - "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz" - "version" "1.0.0" - -"browser-resolve@^1.11.3": - "integrity" "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==" - "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz" - "version" "1.11.3" - dependencies: - "resolve" "1.1.7" - -"browserify-aes@^1.0.0", "browserify-aes@^1.0.4": - "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==" - "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "buffer-xor" "^1.0.3" - "cipher-base" "^1.0.0" - "create-hash" "^1.1.0" - "evp_bytestokey" "^1.0.3" - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"browserify-cipher@^1.0.0": - "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==" - "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "browserify-aes" "^1.0.4" - "browserify-des" "^1.0.0" - "evp_bytestokey" "^1.0.0" - -"browserify-des@^1.0.0": - "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==" - "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "cipher-base" "^1.0.1" - "des.js" "^1.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1": - "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==" - "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "bn.js" "^5.0.0" - "randombytes" "^2.0.1" - -"browserify-sign@^4.0.0": - "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==" - "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "bn.js" "^5.1.1" - "browserify-rsa" "^4.0.1" - "create-hash" "^1.2.0" - "create-hmac" "^1.1.7" - "elliptic" "^6.5.3" - "inherits" "^2.0.4" - "parse-asn1" "^5.1.5" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"browserify-zlib@^0.2.0": - "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==" - "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "pako" "~1.0.5" - -"browserslist@^4.0.0", "browserslist@^4.16.0", "browserslist@^4.16.6", "browserslist@^4.17.0": - "integrity" "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz" - "version" "4.17.1" - dependencies: - "caniuse-lite" "^1.0.30001259" - "electron-to-chromium" "^1.3.846" - "escalade" "^3.1.1" - "nanocolors" "^0.1.5" - "node-releases" "^1.1.76" - -"bs-logger@0.x": - "integrity" "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==" - "resolved" "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" - "version" "0.2.6" - dependencies: - "fast-json-stable-stringify" "2.x" - -"bser@2.1.1": - "integrity" "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==" - "resolved" "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "node-int64" "^0.4.0" - -"buffer-from@^1.0.0", "buffer-from@1.x": - "integrity" "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - "version" "1.1.2" - -"buffer-xor@^1.0.3": - "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==" - "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" - "version" "1.0.3" - -"buffer@^4.3.0": - "integrity" "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz" - "version" "4.9.2" - dependencies: - "base64-js" "^1.0.2" - "ieee754" "^1.1.4" - "isarray" "^1.0.0" - -"buffer@^5.5.0": - "integrity" "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "base64-js" "^1.3.1" - "ieee754" "^1.1.13" - -"builtin-modules@^3.1.0": - "integrity" "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==" - "resolved" "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" - "version" "3.2.0" - -"builtin-status-codes@^3.0.0": - "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==" - "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz" - "version" "3.0.0" - -"bytes-iec@^3.1.1": - "integrity" "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==" - "resolved" "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz" - "version" "3.1.1" - -"cacache@^12.0.2": - "integrity" "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==" - "resolved" "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz" - "version" "12.0.4" - dependencies: - "bluebird" "^3.5.5" - "chownr" "^1.1.1" - "figgy-pudding" "^3.5.1" - "glob" "^7.1.4" - "graceful-fs" "^4.1.15" - "infer-owner" "^1.0.3" - "lru-cache" "^5.1.1" - "mississippi" "^3.0.0" - "mkdirp" "^0.5.1" - "move-concurrently" "^1.0.1" - "promise-inflight" "^1.0.1" - "rimraf" "^2.6.3" - "ssri" "^6.0.1" - "unique-filename" "^1.1.1" - "y18n" "^4.0.0" - -"cache-base@^1.0.1": - "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "collection-visit" "^1.0.0" - "component-emitter" "^1.2.1" - "get-value" "^2.0.6" - "has-value" "^1.0.0" - "isobject" "^3.0.1" - "set-value" "^2.0.0" - "to-object-path" "^0.3.0" - "union-value" "^1.0.0" - "unset-value" "^1.0.0" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^5.3.1": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.0.0": - "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - "version" "6.2.0" - -"caniuse-api@^3.0.0": - "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" - "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "browserslist" "^4.0.0" - "caniuse-lite" "^1.0.0" - "lodash.memoize" "^4.1.2" - "lodash.uniq" "^4.5.0" - -"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001259": - "integrity" "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz" - "version" "1.0.30001260" - dependencies: - "nanocolors" "^0.1.0" - -"capture-exit@^2.0.0": - "integrity" "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==" - "resolved" "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "rsvp" "^4.8.4" - -"caseless@~0.12.0": - "integrity" "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - "resolved" "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" - "version" "0.12.0" - -"cbor@^8.0.0": - "integrity" "sha512-nMmaLWbj7+bC6MsApKRIig8h+yjgNLhPLXaCelq5+C7mpWsHgIcseZSdvgexSY5uE1Q3m2uPvIDZwSdxdo7qig==" - "resolved" "https://registry.npmjs.org/cbor/-/cbor-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "nofilter" "^3.0.2" - -"chalk@^2.0.0", "chalk@^2.4.1", "chalk@^2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.1.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^3.0.0": - "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.0.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@^4.1.0": - "integrity" "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chardet@^0.7.0": - "integrity" "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - "resolved" "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" - "version" "0.7.0" - -"chokidar@^2.1.8": - "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - "version" "2.1.8" - dependencies: - "anymatch" "^2.0.0" - "async-each" "^1.0.1" - "braces" "^2.3.2" - "glob-parent" "^3.1.0" - "inherits" "^2.0.3" - "is-binary-path" "^1.0.0" - "is-glob" "^4.0.0" - "normalize-path" "^3.0.0" - "path-is-absolute" "^1.0.0" - "readdirp" "^2.2.1" - "upath" "^1.1.1" +babel-preset-current-node-syntax@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@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-top-level-await" "^7.8.3" + +babel-preset-jest@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" + integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== + dependencies: + babel-plugin-jest-hoist "^25.5.0" + babel-preset-current-node-syntax "^0.1.2" + +babel-preset-jest@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" + integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== + dependencies: + babel-plugin-jest-hoist "^29.2.0" + babel-preset-current-node-syntax "^1.0.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== + dependencies: + tweetnacl "^0.14.3" + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blake3@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/blake3/-/blake3-2.1.7.tgz#449a1359448b582a650e854f193880d3861bca7a" + integrity sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA== + +bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== + dependencies: + resolve "1.1.7" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + dependencies: + pako "~1.0.5" + +browserslist@^4.0.0, browserslist@^4.16.6, browserslist@^4.21.3, browserslist@^4.21.4: + version "4.21.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" + integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== + dependencies: + caniuse-lite "^1.0.30001400" + electron-to-chromium "^1.4.251" + node-releases "^2.0.6" + update-browserslist-db "^1.0.9" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + +buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" + integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +builtin-modules@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== + +bytes-iec@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" + integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== + +cacache@^12.0.2: + version "12.0.4" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" + integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.0.0, camelcase@^6.2.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400: + version "1.0.30001441" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== + +capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cbor@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" optionalDependencies: - "fsevents" "^1.2.7" - -"chokidar@^3.4.1", "chokidar@^3.5.2": - "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" - "version" "3.5.2" - 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" + fsevents "^1.2.7" + +chokidar@^3.4.1, chokidar@^3.5.2: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - "fsevents" "~2.3.2" - -"chownr@^1.1.1": - "integrity" "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - "resolved" "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - "version" "1.1.4" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-job-number@^1.2.2": - "integrity" "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==" - "resolved" "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz" - "version" "1.2.2" - -"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3": - "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==" - "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"class-utils@^0.3.5": - "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "arr-union" "^3.1.0" - "define-property" "^0.2.5" - "isobject" "^3.0.0" - "static-extend" "^0.1.1" - -"cli-cursor@^2.0.0": - "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "restore-cursor" "^2.0.0" - -"cli-cursor@^2.1.0": - "integrity" "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "restore-cursor" "^2.0.0" - -"cli-cursor@^3.1.0": - "integrity" "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - "resolved" "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "restore-cursor" "^3.1.0" - -"cli-spinners@^1.3.1": - "integrity" "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==" - "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz" - "version" "1.3.1" - -"cli-spinners@^2.2.0": - "integrity" "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" - "resolved" "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz" - "version" "2.6.0" - -"cli-width@^3.0.0": - "integrity" "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - "resolved" "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" - "version" "3.0.0" - -"cliui@^6.0.0": - "integrity" "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - "wrap-ansi" "^6.2.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone@^1.0.2": - "integrity" "sha1-2jCcwmPfFZlMaIypAheco8fNfH4= sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - "resolved" "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" - "version" "1.0.4" - -"co@^4.6.0": - "integrity" "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" - "resolved" "https://registry.npmjs.org/co/-/co-4.6.0.tgz" - "version" "4.6.0" - -"collect-v8-coverage@^1.0.0": - "integrity" "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==" - "resolved" "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz" - "version" "1.0.1" - -"collection-visit@^1.0.0": - "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==" - "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "map-visit" "^1.0.0" - "object-visit" "^1.0.0" - -"collections@^5.1.12": - "integrity" "sha512-7WV0gdGlQFHjB//+/5JW4CdMnOlf7fWMMeM3EWvuao7RbK0MeFS01bZOgWmIH5DHDejSutf455QUZ56ZjjROXw==" - "resolved" "https://registry.npmjs.org/collections/-/collections-5.1.12.tgz" - "version" "5.1.12" - dependencies: - "weak-map" "~1.0.x" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colord@^2.0.1", "colord@^2.6": - "integrity" "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA==" - "resolved" "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz" - "version" "2.8.0" - -"colors@^1.1.2": - "integrity" "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - "resolved" "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" - "version" "1.4.0" - -"combined-stream@^1.0.6", "combined-stream@~1.0.6": - "integrity" "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - "resolved" "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - "version" "1.0.8" - dependencies: - "delayed-stream" "~1.0.0" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^6.2.0": - "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - "version" "6.2.1" - -"commander@^7.2.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commondir@^1.0.1": - "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"component-emitter@^1.2.1": - "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - "version" "1.3.0" - -"concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"concat-stream@^1.5.0": - "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==" - "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "buffer-from" "^1.0.0" - "inherits" "^2.0.3" - "readable-stream" "^2.2.2" - "typedarray" "^0.0.6" - -"confusing-browser-globals@^1.0.9": - "integrity" "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" - "resolved" "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" - "version" "1.0.10" - -"console-browserify@^1.1.0": - "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" - "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz" - "version" "1.2.0" - -"constants-browserify@^1.0.0": - "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==" - "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz" - "version" "1.0.0" - -"convert-source-map@^1.4.0", "convert-source-map@^1.6.0", "convert-source-map@^1.7.0": - "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "safe-buffer" "~5.1.1" - -"copy-concurrently@^1.0.0": - "integrity" "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==" - "resolved" "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "aproba" "^1.1.1" - "fs-write-stream-atomic" "^1.0.8" - "iferr" "^0.1.5" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.0" - -"copy-descriptor@^0.1.0": - "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==" - "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - "version" "0.1.1" - -"core-js-compat@^3.16.0", "core-js-compat@^3.16.2": - "integrity" "sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.0.tgz" - "version" "3.18.0" - dependencies: - "browserslist" "^4.17.0" - "semver" "7.0.0" - -"core-js-pure@^3.16.0": - "integrity" "sha512-ZnK+9vyuMhKulIGqT/7RHGRok8RtkHMEX/BGPHkHx+ouDkq+MUvf9mfIgdqhpmPDu8+V5UtRn/CbCRc9I4lX4w==" - "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.18.0.tgz" - "version" "3.18.0" - -"core-util-is@~1.0.0", "core-util-is@1.0.2": - "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cosmiconfig@^6.0.0": - "integrity" "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz" - "version" "6.0.0" + fsevents "~2.3.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.2.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef" + integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== + +ci-job-number@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" + integrity sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA== + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cli-cursor@^2.0.0, cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" + integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== + +cli-spinners@^2.2.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" + integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" + integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +collections@^5.1.12: + version "5.1.13" + resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.13.tgz#eee204a93b67473c8e74e00e934a997cc2817585" + integrity sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg== + dependencies: + weak-map "~1.0.x" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +confusing-browser-globals@^1.0.9: + version "1.0.11" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" + integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== + +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" + integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== + +core-js-compat@^3.25.1: + version "3.27.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.0.tgz#e2c58a89df6432a5f36f3fa34097e9e83e709fb6" + integrity sha512-spN2H4E/wocMML7XtbKuqttHHM+zbF3bAdl9mT4/iyFaF33bowQGjxiWNWyvUJGH9F+hTgnhWziiLtwu3oC/Qg== + dependencies: + browserslist "^4.21.4" + +core-js-pure@^3.25.1: + version "3.27.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.0.tgz#091dce4799a5aad4cfde930ea747b0a1962388c5" + integrity sha512-fJml7FM6v1HI3Gkg5/Ifc/7Y2qXcJxaDwSROeZGAZfNykSTvUk94WT55TYzJ2lFHK0voSr/d4nOVChLuNCWNpA== + +core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: "@types/parse-json" "^4.0.0" - "import-fresh" "^3.1.0" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.7.2" - -"create-ecdh@^4.0.0": - "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==" - "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "bn.js" "^4.1.0" - "elliptic" "^6.5.3" - -"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0": - "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==" - "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cipher-base" "^1.0.1" - "inherits" "^2.0.1" - "md5.js" "^1.3.4" - "ripemd160" "^2.0.1" - "sha.js" "^2.4.0" - -"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7": - "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==" - "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "cipher-base" "^1.0.3" - "create-hash" "^1.1.0" - "inherits" "^2.0.1" - "ripemd160" "^2.0.0" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"create-jest-runner@^0.5.3": - "integrity" "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==" - "resolved" "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "chalk" "^2.4.2" - "jest-worker" "^24.0.0" - "throat" "^4.1.0" - -"cross-spawn@^6.0.0": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^6.0.5": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^7.0.0", "cross-spawn@^7.0.2": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-browserify@^3.11.0": - "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==" - "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz" - "version" "3.12.0" - dependencies: - "browserify-cipher" "^1.0.0" - "browserify-sign" "^4.0.0" - "create-ecdh" "^4.0.0" - "create-hash" "^1.1.0" - "create-hmac" "^1.1.0" - "diffie-hellman" "^5.0.0" - "inherits" "^2.0.1" - "pbkdf2" "^3.0.3" - "public-encrypt" "^4.0.0" - "randombytes" "^2.0.0" - "randomfill" "^1.0.3" - -"css-color-names@^1.0.1": - "integrity" "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" - "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz" - "version" "1.0.1" - -"css-declaration-sorter@^6.0.3": - "integrity" "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==" - "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz" - "version" "6.1.3" - dependencies: - "timsort" "^0.3.0" - -"css-loader@^5.2.6": - "integrity" "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==" - "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz" - "version" "5.2.7" - dependencies: - "icss-utils" "^5.1.0" - "loader-utils" "^2.0.0" - "postcss" "^8.2.15" - "postcss-modules-extract-imports" "^3.0.0" - "postcss-modules-local-by-default" "^4.0.0" - "postcss-modules-scope" "^3.0.0" - "postcss-modules-values" "^4.0.0" - "postcss-value-parser" "^4.1.0" - "schema-utils" "^3.0.0" - "semver" "^7.3.5" - -"css-select@^4.1.3": - "integrity" "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" - "version" "4.1.3" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^5.0.0" - "domhandler" "^4.2.0" - "domutils" "^2.6.0" - "nth-check" "^2.0.0" - -"css-tree@^1.1.2", "css-tree@^1.1.3": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-what@^5.0.0": - "integrity" "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" - "version" "5.0.1" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"cssnano-preset-default@^5.1.4": - "integrity" "sha512-sPpQNDQBI3R/QsYxQvfB4mXeEcWuw0wGtKtmS5eg8wudyStYMgKOQT39G07EbW1LB56AOYrinRS9f0ig4Y3MhQ==" - "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "css-declaration-sorter" "^6.0.3" - "cssnano-utils" "^2.0.1" - "postcss-calc" "^8.0.0" - "postcss-colormin" "^5.2.0" - "postcss-convert-values" "^5.0.1" - "postcss-discard-comments" "^5.0.1" - "postcss-discard-duplicates" "^5.0.1" - "postcss-discard-empty" "^5.0.1" - "postcss-discard-overridden" "^5.0.1" - "postcss-merge-longhand" "^5.0.2" - "postcss-merge-rules" "^5.0.2" - "postcss-minify-font-values" "^5.0.1" - "postcss-minify-gradients" "^5.0.2" - "postcss-minify-params" "^5.0.1" - "postcss-minify-selectors" "^5.1.0" - "postcss-normalize-charset" "^5.0.1" - "postcss-normalize-display-values" "^5.0.1" - "postcss-normalize-positions" "^5.0.1" - "postcss-normalize-repeat-style" "^5.0.1" - "postcss-normalize-string" "^5.0.1" - "postcss-normalize-timing-functions" "^5.0.1" - "postcss-normalize-unicode" "^5.0.1" - "postcss-normalize-url" "^5.0.2" - "postcss-normalize-whitespace" "^5.0.1" - "postcss-ordered-values" "^5.0.2" - "postcss-reduce-initial" "^5.0.1" - "postcss-reduce-transforms" "^5.0.1" - "postcss-svgo" "^5.0.2" - "postcss-unique-selectors" "^5.0.1" - -"cssnano-utils@^2.0.1": - "integrity" "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==" - "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz" - "version" "2.0.1" - -"cssnano@^5.0.2": - "integrity" "sha512-Lda7geZU0Yu+RZi2SGpjYuQz4HI4/1Y+BhdD0jL7NXAQ5larCzVn+PUGuZbDMYz904AXXCOgO5L1teSvgu7aFg==" - "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.0.8.tgz" - "version" "5.0.8" - dependencies: - "cssnano-preset-default" "^5.1.4" - "is-resolvable" "^1.1.0" - "lilconfig" "^2.0.3" - "yaml" "^1.10.2" - -"csso@^4.2.0": - "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" - "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "css-tree" "^1.1.2" - -"cssom@^0.4.1": - "integrity" "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz" - "version" "0.4.4" - -"cssom@~0.3.6": - "integrity" "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" - "resolved" "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz" - "version" "0.3.8" - -"cssstyle@^2.0.0": - "integrity" "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==" - "resolved" "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "cssom" "~0.3.6" - -"cyclist@^1.0.1": - "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==" - "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" - "version" "1.0.1" - -"damerau-levenshtein@^1.0.6": - "integrity" "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" - "resolved" "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz" - "version" "1.0.7" - -"dashdash@^1.12.0": - "integrity" "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==" - "resolved" "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "assert-plus" "^1.0.0" - -"data-urls@^1.1.0": - "integrity" "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==" - "resolved" "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "abab" "^2.0.0" - "whatwg-mimetype" "^2.2.0" - "whatwg-url" "^7.0.0" - -"debug@^2.2.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.3.3": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^3.2.7": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.0.1", "debug@^4.1.0", "debug@^4.1.1": - "integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "ms" "2.1.2" - -"decamelize@^1.2.0": - "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +create-jest-runner@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/create-jest-runner/-/create-jest-runner-0.5.3.tgz#1387e2ce70b08e4c989ae55f677005b64f9ba97b" + integrity sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g== + dependencies: + chalk "^2.4.2" + jest-worker "^24.0.0" + throat "^4.1.0" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-declaration-sorter@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" + integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== + +css-loader@^5.2.6: + version "5.2.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" + integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.13: + version "5.2.13" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz#e7353b0c57975d1bdd97ac96e68e5c1b8c68e990" + integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.0" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.3" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.1" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.2: + version "5.1.14" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.14.tgz#07b0af6da73641276fe5a6d45757702ebae2eb05" + integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw== + dependencies: + cssnano-preset-default "^5.2.13" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cssom@^0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + +cssstyle@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" + integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== + +damerau-levenshtein@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== + dependencies: + assert-plus "^1.0.0" + +data-urls@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" + integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + dependencies: + abab "^2.0.0" + whatwg-mimetype "^2.2.0" + whatwg-url "^7.0.0" + +debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== + +deep-is@^0.1.3, deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -"decode-uri-component@^0.2.0": - "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - "version" "0.2.0" +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -"deep-is@^0.1.3", "deep-is@~0.1.3": - "integrity" "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" - "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" - "version" "0.1.4" +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-properties@^1.1.3, define-properties@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" -"deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== -"defaults@^1.0.3": - "integrity" "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==" - "resolved" "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" - "version" "1.0.3" +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" + integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + +diff-sequences@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" + integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== + +diff-sequences@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" + integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domexception@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" + integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + dependencies: + webidl-conversions "^4.0.2" + +domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" + integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +electron-to-chromium@^1.4.251: + version "1.4.284" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" + integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" + integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquirer@^2.3.4, enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.20.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" + integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.1.3" + get-symbol-description "^1.0.0" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + 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-weakref "^1.0.2" + object-inspect "^1.12.2" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + unbox-primitive "^1.0.2" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^1.11.1: + version "1.14.3" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" + integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + +eslint-config-prettier@^6.0.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" + integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== + dependencies: + get-stdin "^6.0.0" + +eslint-config-react-app@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== + dependencies: + confusing-browser-globals "^1.0.9" + +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" + integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== + dependencies: + debug "^3.2.7" + +eslint-plugin-flowtype@^3.13.0: + version "3.13.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" + integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== + dependencies: + lodash "^4.17.15" + +eslint-plugin-import@^2.18.2: + version "2.26.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" + integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== + dependencies: + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.3" + has "^1.0.3" + is-core-module "^2.8.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.5" + resolve "^1.22.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-jsx-a11y@^6.2.3: + version "6.6.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" + integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== + dependencies: + "@babel/runtime" "^7.18.9" + aria-query "^4.2.2" + array-includes "^3.1.5" + ast-types-flow "^0.0.7" + axe-core "^4.4.3" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.8" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.3.2" + language-tags "^1.0.5" + minimatch "^3.1.2" + semver "^6.3.0" + +eslint-plugin-prettier@^3.1.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" + integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" + integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== + +eslint-plugin-react@^7.14.3: + version "7.31.11" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz#011521d2b16dcf95795df688a4770b4eaab364c8" + integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint@^6.1.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== dependencies: - "clone" "^1.0.2" - -"define-properties@^1.1.3": - "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - "version" "1.1.3" + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +eslint@^7.14.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: - "object-keys" "^1.0.12" - -"define-property@^0.2.5": - "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.2.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" + integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.0.1, esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1, estraverse@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" + integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-sh@^0.3.2: + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.2.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" + integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expect@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" + integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== + dependencies: + "@jest/types" "^25.5.0" + ansi-styles "^4.0.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-regex-util "^25.2.6" + +expect@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" + integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== + dependencies: + "@jest/expect-utils" "^29.3.1" + jest-get-type "^29.2.0" + jest-matcher-utils "^29.3.1" + jest-message-util "^29.3.1" + jest-util "^29.3.1" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== + +extsprintf@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + +fast-glob@^3.2.11, fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: - "is-descriptor" "^0.1.0" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== -"define-property@^1.0.0": - "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY= sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - "version" "1.0.0" +fastq@^1.6.0: + version "1.14.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" + integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== dependencies: - "is-descriptor" "^1.0.0" + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +flow-parser@0.*: + version "0.196.3" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.196.3.tgz#dd923f29a6c194770a4f999f8026ef1da79d428b" + integrity sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" + integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== + dependencies: + map-cache "^0.2.2" + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.3" + +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0, globals@^13.9.0: + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== + dependencies: + type-fest "^0.20.2" + +globalyzer@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" + integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== + +globby@^11.0.4: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globrex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" + integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" + integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" + integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +html-encoding-sniffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" + integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + dependencies: + whatwg-encoding "^1.0.1" + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +humanize-duration@^3.15.3: + version "3.27.3" + resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.27.3.tgz#db654e72ebf5ccfe232c7f56bc58aa3a6fe4df88" + integrity sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw== + +husky@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +infer-owner@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +inquirer@^7.0.0: + version "7.3.3" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" + integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-slot@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-core-module@^2.8.1, is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" -"define-property@^2.0.2": - "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - "version" "2.0.2" +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: - "is-descriptor" "^1.0.2" - "isobject" "^3.0.1" + has-tostringtag "^1.0.0" -"delayed-stream@~1.0.0": - "integrity" "sha1-3zrhmayt+31ECqrgsp4icrJOxhk= sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - "resolved" "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - "version" "1.0.0" +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" -"des.js@^1.0.0": - "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==" - "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz" - "version" "1.0.1" +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== dependencies: - "inherits" "^2.0.1" - "minimalistic-assert" "^1.0.0" + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" -"detect-newline@^3.0.0": - "integrity" "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" - "resolved" "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" - "version" "3.1.0" +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -"diff-sequences@^25.2.6": - "integrity" "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==" - "resolved" "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz" - "version" "25.2.6" +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== -"diffie-hellman@^5.0.0": - "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==" - "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "bn.js" "^4.1.0" - "miller-rabin" "^4.0.0" - "randombytes" "^2.0.0" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"doctrine@^2.1.0": - "integrity" "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "esutils" "^2.0.2" - -"doctrine@^3.0.0": - "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==" - "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "esutils" "^2.0.2" - -"dom-serializer@^1.0.1": - "integrity" "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.2.0" - "entities" "^2.0.0" - -"domain-browser@^1.1.1": - "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" - "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz" - "version" "1.2.0" - -"domelementtype@^2.0.1", "domelementtype@^2.2.0": - "integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" - "version" "2.2.0" - -"domexception@^1.0.1": - "integrity" "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==" - "resolved" "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "webidl-conversions" "^4.0.2" - -"domhandler@^4.2.0": - "integrity" "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "domelementtype" "^2.2.0" - -"domutils@^2.6.0": - "integrity" "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - "version" "2.8.0" - dependencies: - "dom-serializer" "^1.0.1" - "domelementtype" "^2.2.0" - "domhandler" "^4.2.0" - -"duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"duplexify@^3.4.2", "duplexify@^3.6.0": - "integrity" "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==" - "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" - "version" "3.7.1" - dependencies: - "end-of-stream" "^1.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - "stream-shift" "^1.0.0" - -"ecc-jsbn@~0.1.1": - "integrity" "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==" - "resolved" "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "jsbn" "~0.1.0" - "safer-buffer" "^2.1.0" - -"electron-to-chromium@^1.3.846": - "integrity" "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz" - "version" "1.3.849" - -"elliptic@^6.5.3": - "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==" - "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" - "version" "6.5.4" - dependencies: - "bn.js" "^4.11.9" - "brorand" "^1.1.0" - "hash.js" "^1.0.0" - "hmac-drbg" "^1.0.1" - "inherits" "^2.0.4" - "minimalistic-assert" "^1.0.1" - "minimalistic-crypto-utils" "^1.0.1" - -"emoji-regex@^7.0.1": - "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - "version" "7.0.3" - -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" - -"emoji-regex@^9.0.0": - "integrity" "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" - "version" "9.2.2" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"end-of-stream@^1.0.0", "end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^4.5.0": - "integrity" "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz" - "version" "4.5.0" - dependencies: - "graceful-fs" "^4.1.2" - "memory-fs" "^0.5.0" - "tapable" "^1.0.0" - -"enquirer@^2.3.4", "enquirer@^2.3.5": - "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - "version" "2.3.6" - dependencies: - "ansi-colors" "^4.1.1" - -"entities@^2.0.0": - "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - "version" "2.2.0" - -"errno@^0.1.3", "errno@~0.1.7": - "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" - "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" - "version" "0.1.8" - dependencies: - "prr" "~1.0.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.1", "es-abstract@^1.18.2": - "integrity" "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz" - "version" "1.18.6" - dependencies: - "call-bind" "^1.0.2" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "get-intrinsic" "^1.1.1" - "get-symbol-description" "^1.0.0" - "has" "^1.0.3" - "has-symbols" "^1.0.2" - "internal-slot" "^1.0.3" - "is-callable" "^1.2.4" - "is-negative-zero" "^2.0.1" - "is-regex" "^1.1.4" - "is-string" "^1.0.7" - "object-inspect" "^1.11.0" - "object-keys" "^1.1.1" - "object.assign" "^4.1.2" - "string.prototype.trimend" "^1.0.4" - "string.prototype.trimstart" "^1.0.4" - "unbox-primitive" "^1.0.1" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escodegen@^1.11.1": - "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==" - "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz" - "version" "1.14.3" - dependencies: - "esprima" "^4.0.1" - "estraverse" "^4.2.0" - "esutils" "^2.0.2" - "optionator" "^0.8.1" - optionalDependencies: - "source-map" "~0.6.1" - -"eslint-config-prettier@^6.0.0": - "integrity" "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==" - "resolved" "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" - "version" "6.15.0" - dependencies: - "get-stdin" "^6.0.0" - -"eslint-config-react-app@^5.2.1": - "integrity" "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==" - "resolved" "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz" - "version" "5.2.1" - dependencies: - "confusing-browser-globals" "^1.0.9" - -"eslint-import-resolver-node@^0.3.6": - "integrity" "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==" - "resolved" "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "debug" "^3.2.7" - "resolve" "^1.20.0" - -"eslint-module-utils@^2.6.2": - "integrity" "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==" - "resolved" "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz" - "version" "2.6.2" - dependencies: - "debug" "^3.2.7" - "pkg-dir" "^2.0.0" - -"eslint-plugin-flowtype@^3.13.0", "eslint-plugin-flowtype@3.x || 4.x": - "integrity" "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==" - "resolved" "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz" - "version" "3.13.0" - dependencies: - "lodash" "^4.17.15" - -"eslint-plugin-import@^2.18.2", "eslint-plugin-import@2.x": - "integrity" "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==" - "resolved" "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz" - "version" "2.24.2" - dependencies: - "array-includes" "^3.1.3" - "array.prototype.flat" "^1.2.4" - "debug" "^2.6.9" - "doctrine" "^2.1.0" - "eslint-import-resolver-node" "^0.3.6" - "eslint-module-utils" "^2.6.2" - "find-up" "^2.0.0" - "has" "^1.0.3" - "is-core-module" "^2.6.0" - "minimatch" "^3.0.4" - "object.values" "^1.1.4" - "pkg-up" "^2.0.0" - "read-pkg-up" "^3.0.0" - "resolve" "^1.20.0" - "tsconfig-paths" "^3.11.0" - -"eslint-plugin-jsx-a11y@^6.2.3", "eslint-plugin-jsx-a11y@6.x": - "integrity" "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==" - "resolved" "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz" - "version" "6.4.1" - dependencies: - "@babel/runtime" "^7.11.2" - "aria-query" "^4.2.2" - "array-includes" "^3.1.1" - "ast-types-flow" "^0.0.7" - "axe-core" "^4.0.2" - "axobject-query" "^2.2.0" - "damerau-levenshtein" "^1.0.6" - "emoji-regex" "^9.0.0" - "has" "^1.0.3" - "jsx-ast-utils" "^3.1.0" - "language-tags" "^1.0.5" - -"eslint-plugin-prettier@^3.1.0": - "integrity" "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==" - "resolved" "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz" - "version" "3.4.1" - dependencies: - "prettier-linter-helpers" "^1.0.0" - -"eslint-plugin-react-hooks@^2.2.0", "eslint-plugin-react-hooks@1.x || 2.x": - "integrity" "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==" - "resolved" "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz" - "version" "2.5.1" - -"eslint-plugin-react@^7.14.3", "eslint-plugin-react@7.x": - "integrity" "sha512-dceliS5itjk4EZdQYtLMz6GulcsasguIs+VTXuiC7Q5IPIdGTkyfXVdmsQOqEhlD9MciofH4cMcT1bw1WWNxCQ==" - "resolved" "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.26.0.tgz" - "version" "7.26.0" - dependencies: - "array-includes" "^3.1.3" - "array.prototype.flatmap" "^1.2.4" - "doctrine" "^2.1.0" - "estraverse" "^5.2.0" - "jsx-ast-utils" "^2.4.1 || ^3.0.0" - "minimatch" "^3.0.4" - "object.entries" "^1.1.4" - "object.fromentries" "^2.0.4" - "object.hasown" "^1.0.0" - "object.values" "^1.1.4" - "prop-types" "^15.7.2" - "resolve" "^2.0.0-next.3" - "semver" "^6.3.0" - "string.prototype.matchall" "^4.0.5" - -"eslint-scope@^4.0.3": - "integrity" "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "esrecurse" "^4.1.0" - "estraverse" "^4.1.1" - -"eslint-scope@^5.0.0", "eslint-scope@^5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"eslint-utils@^1.4.3": - "integrity" "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-utils@^2.0.0", "eslint-utils@^2.1.0": - "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==" - "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "eslint-visitor-keys" "^1.1.0" - -"eslint-visitor-keys@^1.0.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^1.1.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^1.3.0": - "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" - "version" "1.3.0" - -"eslint-visitor-keys@^2.0.0": - "integrity" "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" - "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" - "version" "2.1.0" - -"eslint@*", "eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0", "eslint@^3 || ^4 || ^5 || ^6 || ^7", "eslint@^7.14.0", "eslint@>= 4.12.1", "eslint@>=3.14.1", "eslint@>=5.0.0": - "integrity" "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" - "version" "7.32.0" - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - "ajv" "^6.10.0" - "chalk" "^4.0.0" - "cross-spawn" "^7.0.2" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "enquirer" "^2.3.5" - "escape-string-regexp" "^4.0.0" - "eslint-scope" "^5.1.1" - "eslint-utils" "^2.1.0" - "eslint-visitor-keys" "^2.0.0" - "espree" "^7.3.1" - "esquery" "^1.4.0" - "esutils" "^2.0.2" - "fast-deep-equal" "^3.1.3" - "file-entry-cache" "^6.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.1.2" - "globals" "^13.6.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.4.1" - "lodash.merge" "^4.6.2" - "minimatch" "^3.0.4" - "natural-compare" "^1.4.0" - "optionator" "^0.9.1" - "progress" "^2.0.0" - "regexpp" "^3.1.0" - "semver" "^7.2.1" - "strip-ansi" "^6.0.0" - "strip-json-comments" "^3.1.0" - "table" "^6.0.9" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", "eslint@^5.0.0 || ^6.0.0", "eslint@^6.1.0", "eslint@6.x": - "integrity" "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==" - "resolved" "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz" - "version" "6.8.0" - dependencies: - "@babel/code-frame" "^7.0.0" - "ajv" "^6.10.0" - "chalk" "^2.1.0" - "cross-spawn" "^6.0.5" - "debug" "^4.0.1" - "doctrine" "^3.0.0" - "eslint-scope" "^5.0.0" - "eslint-utils" "^1.4.3" - "eslint-visitor-keys" "^1.1.0" - "espree" "^6.1.2" - "esquery" "^1.0.1" - "esutils" "^2.0.2" - "file-entry-cache" "^5.0.1" - "functional-red-black-tree" "^1.0.1" - "glob-parent" "^5.0.0" - "globals" "^12.1.0" - "ignore" "^4.0.6" - "import-fresh" "^3.0.0" - "imurmurhash" "^0.1.4" - "inquirer" "^7.0.0" - "is-glob" "^4.0.0" - "js-yaml" "^3.13.1" - "json-stable-stringify-without-jsonify" "^1.0.1" - "levn" "^0.3.0" - "lodash" "^4.17.14" - "minimatch" "^3.0.4" - "mkdirp" "^0.5.1" - "natural-compare" "^1.4.0" - "optionator" "^0.8.3" - "progress" "^2.0.0" - "regexpp" "^2.0.1" - "semver" "^6.1.2" - "strip-ansi" "^5.2.0" - "strip-json-comments" "^3.0.1" - "table" "^5.2.3" - "text-table" "^0.2.0" - "v8-compile-cache" "^2.0.3" - -"espree@^6.1.2": - "integrity" "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==" - "resolved" "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" - "version" "6.2.1" - dependencies: - "acorn" "^7.1.1" - "acorn-jsx" "^5.2.0" - "eslint-visitor-keys" "^1.1.0" - -"espree@^7.3.0", "espree@^7.3.1": - "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==" - "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - "version" "7.3.1" - dependencies: - "acorn" "^7.4.0" - "acorn-jsx" "^5.3.1" - "eslint-visitor-keys" "^1.3.0" - -"esprima@^4.0.0", "esprima@^4.0.1", "esprima@~4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esquery@^1.0.1", "esquery@^1.4.0": - "integrity" "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==" - "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "estraverse" "^5.1.0" - -"esrecurse@^4.1.0", "esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1", "estraverse@^4.2.0": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.1.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"estraverse@^5.2.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"estree-walker@^0.6.1": - "integrity" "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" - "version" "0.6.1" - -"estree-walker@^1.0.1": - "integrity" "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" - "resolved" "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - "version" "1.0.1" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"events@^3.0.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3": - "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==" - "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "md5.js" "^1.3.4" - "safe-buffer" "^5.1.1" - -"exec-sh@^0.3.2": - "integrity" "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==" - "resolved" "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz" - "version" "0.3.6" - -"execa@^1.0.0": - "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "cross-spawn" "^6.0.0" - "get-stream" "^4.0.0" - "is-stream" "^1.1.0" - "npm-run-path" "^2.0.0" - "p-finally" "^1.0.0" - "signal-exit" "^3.0.0" - "strip-eof" "^1.0.0" - -"execa@^3.2.0": - "integrity" "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==" - "resolved" "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "cross-spawn" "^7.0.0" - "get-stream" "^5.0.0" - "human-signals" "^1.1.1" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.0" - "onetime" "^5.1.0" - "p-finally" "^2.0.0" - "signal-exit" "^3.0.2" - "strip-final-newline" "^2.0.0" - -"execa@^4.0.3": - "integrity" "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "cross-spawn" "^7.0.0" - "get-stream" "^5.0.0" - "human-signals" "^1.1.1" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.0" - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - "strip-final-newline" "^2.0.0" - -"exit@^0.1.2": - "integrity" "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" - "resolved" "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" - "version" "0.1.2" - -"expand-brackets@^2.1.4": - "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI= sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==" - "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "debug" "^2.3.3" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "posix-character-classes" "^0.1.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"expect@^25.5.0": - "integrity" "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==" - "resolved" "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "@jest/types" "^25.5.0" - "ansi-styles" "^4.0.0" - "jest-get-type" "^25.2.6" - "jest-matcher-utils" "^25.5.0" - "jest-message-util" "^25.5.0" - "jest-regex-util" "^25.2.6" - -"extend-shallow@^2.0.1": - "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend-shallow@^3.0.0", "extend-shallow@^3.0.2": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend@~3.0.2": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"external-editor@^3.0.3": - "integrity" "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==" - "resolved" "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "chardet" "^0.7.0" - "iconv-lite" "^0.4.24" - "tmp" "^0.0.33" - -"extglob@^2.0.4": - "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "array-unique" "^0.3.2" - "define-property" "^1.0.0" - "expand-brackets" "^2.1.4" - "extend-shallow" "^2.0.1" - "fragment-cache" "^0.2.1" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"extsprintf@^1.2.0", "extsprintf@1.3.0": - "integrity" "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" - "resolved" "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" - "version" "1.3.0" - -"fast-deep-equal@^3.1.1", "fast-deep-equal@^3.1.3": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-diff@^1.1.2": - "integrity" "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==" - "resolved" "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - "version" "1.2.0" - -"fast-glob@^3.1.1", "fast-glob@^3.2.5": - "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" - "version" "3.2.7" +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" - -"fast-json-stable-stringify@^2.0.0", "fast-json-stable-stringify@2.x": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" + is-plain-object "^2.0.4" -"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6": - "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" - "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - "version" "2.0.6" +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -"fastq@^1.6.0": - "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" - "version" "1.13.0" - dependencies: - "reusify" "^1.0.4" +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== -"fb-watchman@^2.0.0": - "integrity" "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==" - "resolved" "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "bser" "2.1.1" +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -"figgy-pudding@^3.5.1": - "integrity" "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==" - "resolved" "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz" - "version" "3.5.2" +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -"figures@^3.0.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== dependencies: - "escape-string-regexp" "^1.0.5" + is-extglob "^2.1.0" -"file-entry-cache@^5.0.1": - "integrity" "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz" - "version" "5.0.1" +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: - "flat-cache" "^2.0.1" + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -"file-entry-cache@^6.0.1": - "integrity" "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==" - "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "flat-cache" "^3.0.4" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== -"file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" + has-tostringtag "^1.0.0" -"file-uri-to-path@1.0.0": - "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - "version" "1.0.0" +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== + dependencies: + kind-of "^3.0.2" -"fill-range@^4.0.0": - "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "extend-shallow" "^2.0.1" - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - "to-regex-range" "^2.1.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"find-cache-dir@^2.0.0", "find-cache-dir@^2.1.0": - "integrity" "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^2.0.0" - "pkg-dir" "^3.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-up@^2.0.0": - "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "locate-path" "^2.0.0" - -"find-up@^2.1.0": - "integrity" "sha1-RdG35QbHF93UgndaK3eSCjwMV6c= sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - "version" "2.1.0" +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-reference@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== dependencies: - "locate-path" "^2.0.0" - -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"find-up@^4.0.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"flat-cache@^2.0.1": - "integrity" "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "flatted" "^2.0.0" - "rimraf" "2.6.3" - "write" "1.0.3" - -"flat-cache@^3.0.4": - "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==" - "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "flatted" "^3.1.0" - "rimraf" "^3.0.2" - -"flatted@^2.0.0": - "integrity" "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz" - "version" "2.0.2" - -"flatted@^3.1.0": - "integrity" "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" - "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz" - "version" "3.2.2" - -"flow-parser@0.*": - "integrity" "sha512-4QGORQvAkuYZH02gY9YRvOoV/BqXUEtMjTem/jxtxfLDp8BNW/LfyJxgksYnQoPIAT01CydkcKG03MTIDbqaFg==" - "resolved" "https://registry.npmjs.org/flow-parser/-/flow-parser-0.160.2.tgz" - "version" "0.160.2" - -"flush-write-stream@^1.0.0": - "integrity" "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==" - "resolved" "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "inherits" "^2.0.3" - "readable-stream" "^2.3.6" - -"for-in@^1.0.2": - "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==" - "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - "version" "1.0.2" - -"forever-agent@~0.6.1": - "integrity" "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" - "resolved" "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" - "version" "0.6.1" - -"form-data@~2.3.2": - "integrity" "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==" - "resolved" "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" - "version" "2.3.3" - dependencies: - "asynckit" "^0.4.0" - "combined-stream" "^1.0.6" - "mime-types" "^2.1.12" - -"fragment-cache@^0.2.1": - "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==" - "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "map-cache" "^0.2.2" - -"from2@^2.1.0": - "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==" - "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "inherits" "^2.0.1" - "readable-stream" "^2.0.0" - -"fs-extra@^9.0.0": - "integrity" "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" - "version" "9.1.0" - dependencies: - "at-least-node" "^1.0.0" - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs-extra@8.1.0": - "integrity" "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz" - "version" "8.1.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^4.0.0" - "universalify" "^0.1.0" - -"fs-write-stream-atomic@^1.0.8": - "integrity" "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==" - "resolved" "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "graceful-fs" "^4.1.2" - "iferr" "^0.1.5" - "imurmurhash" "^0.1.4" - "readable-stream" "1 || 2" - -"fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8= sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@^1.2.7": - "integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "bindings" "^1.5.0" - "nan" "^2.12.1" - -"fsevents@^2.1.2", "fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"functional-red-black-tree@^1.0.1": - "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==" - "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - "version" "1.0.1" - -"gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.1": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.0", "get-intrinsic@^1.1.1": - "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - -"get-package-type@^0.1.0": - "integrity" "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" - "resolved" "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" - "version" "0.1.0" - -"get-stdin@^6.0.0": - "integrity" "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==" - "resolved" "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" - "version" "6.0.0" - -"get-stream@^4.0.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^5.0.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"get-symbol-description@^1.0.0": - "integrity" "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==" - "resolved" "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "call-bind" "^1.0.2" - "get-intrinsic" "^1.1.1" - -"get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==" - "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - "version" "2.0.6" - -"getpass@^0.1.1": - "integrity" "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==" - "resolved" "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" - "version" "0.1.7" - dependencies: - "assert-plus" "^1.0.0" - -"glob-parent@^3.1.0": - "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-glob" "^3.1.0" - "path-dirname" "^1.0.0" - -"glob-parent@^5.0.0", "glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob@^7.0.0", "glob@^7.1.1", "glob@^7.1.2", "glob@^7.1.3", "glob@^7.1.4", "glob@^7.1.6": - "integrity" "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - "version" "7.2.0" - 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" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globals@^12.1.0": - "integrity" "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==" - "resolved" "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" - "version" "12.4.0" - dependencies: - "type-fest" "^0.8.1" - -"globals@^13.6.0": - "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" - "version" "13.11.0" - dependencies: - "type-fest" "^0.20.2" - -"globals@^13.9.0": - "integrity" "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==" - "resolved" "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" - "version" "13.11.0" - dependencies: - "type-fest" "^0.20.2" - -"globalyzer@0.1.0": - "integrity" "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" - "resolved" "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz" - "version" "0.1.0" - -"globby@^11.0.4": - "integrity" "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" - "version" "11.0.4" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.1.1" - "ignore" "^5.1.4" - "merge2" "^1.3.0" - "slash" "^3.0.0" - -"globrex@^0.1.2": - "integrity" "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" - "resolved" "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz" - "version" "0.1.2" - -"graceful-fs@^4.1.11", "graceful-fs@^4.1.15", "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4": - "integrity" "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz" - "version" "4.2.8" - -"growly@^1.3.0": - "integrity" "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==" - "resolved" "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz" - "version" "1.3.0" - -"gzip-size@^6.0.0": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"har-schema@^2.0.0": - "integrity" "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" - "resolved" "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" - "version" "2.0.0" - -"har-validator@~5.1.3": - "integrity" "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==" - "resolved" "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" - "version" "5.1.5" - dependencies: - "ajv" "^6.12.3" - "har-schema" "^2.0.0" - -"has-bigints@^1.0.1": - "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - "version" "1.0.1" - -"has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0= sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2": - "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - "version" "1.0.2" - -"has-tostringtag@^1.0.0": - "integrity" "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==" - "resolved" "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-symbols" "^1.0.2" - -"has-value@^0.3.1": - "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "get-value" "^2.0.3" - "has-values" "^0.1.4" - "isobject" "^2.0.0" - -"has-value@^1.0.0": - "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-value" "^2.0.6" - "has-values" "^1.0.0" - "isobject" "^3.0.0" - -"has-values@^0.1.4": - "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E= sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - "version" "0.1.4" - -"has-values@^1.0.0": - "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-number" "^3.0.0" - "kind-of" "^4.0.0" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hash-base@^3.0.0": - "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==" - "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "inherits" "^2.0.4" - "readable-stream" "^3.6.0" - "safe-buffer" "^5.2.0" - -"hash.js@^1.0.0", "hash.js@^1.0.3": - "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==" - "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" - "version" "1.1.7" - dependencies: - "inherits" "^2.0.3" - "minimalistic-assert" "^1.0.1" - -"hmac-drbg@^1.0.1": - "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==" - "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "hash.js" "^1.0.3" - "minimalistic-assert" "^1.0.0" - "minimalistic-crypto-utils" "^1.0.1" - -"hosted-git-info@^2.1.4": - "integrity" "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" - "resolved" "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - "version" "2.8.9" - -"html-encoding-sniffer@^1.0.2": - "integrity" "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==" - "resolved" "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "whatwg-encoding" "^1.0.1" - -"html-escaper@^2.0.0": - "integrity" "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - "resolved" "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - "version" "2.0.2" - -"http-signature@~1.2.0": - "integrity" "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==" - "resolved" "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "assert-plus" "^1.0.0" - "jsprim" "^1.2.2" - "sshpk" "^1.7.0" - -"https-browserify@^1.0.0": - "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==" - "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz" - "version" "1.0.0" - -"human-signals@^1.1.1": - "integrity" "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - "version" "1.1.1" - -"humanize-duration@^3.15.3": - "integrity" "sha512-qLo/08cNc3Tb0uD7jK0jAcU5cnqCM0n568918E7R2XhMr/+7F37p4EY062W/stg7tmzvknNn9b/1+UhVRzsYrQ==" - "resolved" "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.0.tgz" - "version" "3.27.0" - -"husky@^7.0.2": - "integrity" "sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg==" - "resolved" "https://registry.npmjs.org/husky/-/husky-7.0.2.tgz" - "version" "7.0.2" - -"iconv-lite@^0.4.24", "iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"ieee754@^1.1.13", "ieee754@^1.1.4": - "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - "version" "1.2.1" - -"iferr@^0.1.5": - "integrity" "sha1-xg7taebY/bazEEofy8ocGS3FtQE= sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==" - "resolved" "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz" - "version" "0.1.5" - -"ignore@^4.0.6": - "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - "version" "4.0.6" - -"ignore@^5.1.4": - "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - "version" "5.1.8" - -"import-fresh@^3.0.0", "import-fresh@^3.1.0", "import-fresh@^3.2.1": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-local@^3.0.2": - "integrity" "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "pkg-dir" "^4.2.0" - "resolve-cwd" "^3.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o= sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"infer-owner@^1.0.3": - "integrity" "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" - "resolved" "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - "version" "1.0.4" - -"inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.1": - "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" - "version" "2.0.1" - -"inherits@2.0.3": - "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"inquirer@^7.0.0": - "integrity" "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==" - "resolved" "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" - "version" "7.3.3" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^4.1.0" - "cli-cursor" "^3.1.0" - "cli-width" "^3.0.0" - "external-editor" "^3.0.3" - "figures" "^3.0.0" - "lodash" "^4.17.19" - "mute-stream" "0.0.8" - "run-async" "^2.4.0" - "rxjs" "^6.6.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - "through" "^2.3.6" - -"internal-slot@^1.0.3": - "integrity" "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==" - "resolved" "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "get-intrinsic" "^1.1.0" - "has" "^1.0.3" - "side-channel" "^1.0.4" - -"interpret@^1.0.0": - "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - "version" "1.4.0" - -"ip-regex@^2.1.0": - "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==" - "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" - "version" "2.1.0" - -"is-absolute-url@^3.0.3": - "integrity" "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" - "version" "3.0.3" - -"is-accessor-descriptor@^0.1.6": - "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "kind-of" "^3.0.2" - -"is-accessor-descriptor@^1.0.0": - "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-arrayish@^0.2.1": - "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-bigint@^1.0.1": - "integrity" "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-bigints" "^1.0.1" - -"is-binary-path@^1.0.0": - "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "binary-extensions" "^1.0.0" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-boolean-object@^1.1.0": - "integrity" "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-buffer@^1.1.5": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-callable@^1.1.4", "is-callable@^1.2.4": - "integrity" "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" - "version" "1.2.4" - -"is-ci@^2.0.0": - "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ci-info" "^2.0.0" - -"is-core-module@^2.2.0", "is-core-module@^2.6.0": - "integrity" "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz" - "version" "2.6.0" - dependencies: - "has" "^1.0.3" - -"is-data-descriptor@^0.1.4": - "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" - dependencies: - "kind-of" "^3.0.2" - -"is-data-descriptor@^1.0.0": - "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-date-object@^1.0.1": - "integrity" "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" + "@types/estree" "*" + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" + call-bind "^1.0.2" + has-tostringtag "^1.0.0" -"is-descriptor@^1.0.0", "is-descriptor@^1.0.2": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" + call-bind "^1.0.2" -"is-docker@^2.0.0": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== -"is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -"is-extendable@^0.1.1": - "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" -"is-extendable@^1.0.1": - "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - "version" "1.0.1" +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - "is-plain-object" "^2.0.4" + has-symbols "^1.0.2" -"is-extglob@^2.1.0", "is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" +is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -"is-generator-fn@^2.0.0": - "integrity" "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" - "resolved" "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" - "version" "2.1.0" +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" + integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== -"is-glob@^3.1.0": - "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - "version" "3.1.0" +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: - "is-extglob" "^2.1.0" + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": - "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - "version" "4.0.1" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== dependencies: - "is-extglob" "^2.1.1" + isarray "1.0.0" -"is-interactive@^1.0.0": - "integrity" "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - "resolved" "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" - "version" "1.0.0" +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -"is-module@^1.0.0": - "integrity" "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" - "resolved" "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - "version" "1.0.0" +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== -"is-negative-zero@^2.0.1": - "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" - "version" "2.0.1" - -"is-number-object@^1.0.4": - "integrity" "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-number@^3.0.0": - "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "kind-of" "^3.0.2" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-reference@^1.1.2": - "integrity" "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==" - "resolved" "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "@types/estree" "*" +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -"is-regex@^1.1.4": - "integrity" "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "has-tostringtag" "^1.0.0" - -"is-resolvable@^1.1.0": - "integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - "resolved" "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^1.1.0": - "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ= sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^2.0.0": - "integrity" "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - "version" "2.0.1" - -"is-string@^1.0.5", "is-string@^1.0.7": - "integrity" "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" - "version" "1.0.7" - dependencies: - "has-tostringtag" "^1.0.0" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-typedarray@^1.0.0", "is-typedarray@~1.0.0": - "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-windows@^1.0.2": - "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - "version" "1.0.2" - -"is-wsl@^1.1.0": - "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - "version" "1.1.0" - -"is-wsl@^2.1.1": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"isarray@^1.0.0", "isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.0.0": - "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8= sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"isstream@~0.1.2": - "integrity" "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" - "resolved" "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" - "version" "0.1.2" - -"istanbul-lib-coverage@^3.0.0": - "integrity" "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz" - "version" "3.0.1" - -"istanbul-lib-instrument@^4.0.0": - "integrity" "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==" - "resolved" "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz" - "version" "4.0.3" +istanbul-lib-instrument@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== dependencies: "@babel/core" "^7.7.5" "@istanbuljs/schema" "^0.1.2" - "istanbul-lib-coverage" "^3.0.0" - "semver" "^6.3.0" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + 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" -"istanbul-lib-report@^3.0.0": - "integrity" "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==" - "resolved" "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - "version" "3.0.0" +istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== dependencies: - "istanbul-lib-coverage" "^3.0.0" - "make-dir" "^3.0.0" - "supports-color" "^7.1.0" + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" -"istanbul-lib-source-maps@^4.0.0": - "integrity" "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==" - "resolved" "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz" - "version" "4.0.0" +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: - "debug" "^4.1.1" - "istanbul-lib-coverage" "^3.0.0" - "source-map" "^0.6.1" + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" -"istanbul-reports@^3.0.2": - "integrity" "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==" - "resolved" "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz" - "version" "3.0.2" +istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: + version "3.1.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" + integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== dependencies: - "html-escaper" "^2.0.0" - "istanbul-lib-report" "^3.0.0" + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" -"jest-changed-files@^25.5.0": - "integrity" "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==" - "resolved" "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz" - "version" "25.5.0" +jest-changed-files@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" + integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== dependencies: "@jest/types" "^25.5.0" - "execa" "^3.2.0" - "throat" "^5.0.0" - -"jest-cli@^25.5.4": - "integrity" "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==" - "resolved" "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz" - "version" "25.5.4" + execa "^3.2.0" + throat "^5.0.0" + +jest-changed-files@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" + integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== + dependencies: + execa "^5.0.0" + p-limit "^3.1.0" + +jest-circus@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" + integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== + dependencies: + "@jest/environment" "^29.3.1" + "@jest/expect" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + is-generator-fn "^2.0.0" + jest-each "^29.3.1" + jest-matcher-utils "^29.3.1" + jest-message-util "^29.3.1" + jest-runtime "^29.3.1" + jest-snapshot "^29.3.1" + jest-util "^29.3.1" + p-limit "^3.1.0" + pretty-format "^29.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" + integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== dependencies: "@jest/core" "^25.5.4" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.4" - "import-local" "^3.0.2" - "is-ci" "^2.0.0" - "jest-config" "^25.5.4" - "jest-util" "^25.5.0" - "jest-validate" "^25.5.0" - "prompts" "^2.0.1" - "realpath-native" "^2.0.0" - "yargs" "^15.3.1" - -"jest-config@^25.5.4": - "integrity" "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==" - "resolved" "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz" - "version" "25.5.4" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^25.5.4" + jest-util "^25.5.0" + jest-validate "^25.5.0" + prompts "^2.0.1" + realpath-native "^2.0.0" + yargs "^15.3.1" + +jest-cli@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" + integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== + dependencies: + "@jest/core" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + import-local "^3.0.2" + jest-config "^29.3.1" + jest-util "^29.3.1" + jest-validate "^29.3.1" + prompts "^2.0.1" + yargs "^17.3.1" + +jest-config@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" + integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== dependencies: "@babel/core" "^7.1.0" "@jest/test-sequencer" "^25.5.4" "@jest/types" "^25.5.0" - "babel-jest" "^25.5.1" - "chalk" "^3.0.0" - "deepmerge" "^4.2.2" - "glob" "^7.1.1" - "graceful-fs" "^4.2.4" - "jest-environment-jsdom" "^25.5.0" - "jest-environment-node" "^25.5.0" - "jest-get-type" "^25.2.6" - "jest-jasmine2" "^25.5.4" - "jest-regex-util" "^25.2.6" - "jest-resolve" "^25.5.1" - "jest-util" "^25.5.0" - "jest-validate" "^25.5.0" - "micromatch" "^4.0.2" - "pretty-format" "^25.5.0" - "realpath-native" "^2.0.0" - -"jest-diff@^25.2.1", "jest-diff@^25.5.0": - "integrity" "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==" - "resolved" "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "chalk" "^3.0.0" - "diff-sequences" "^25.2.6" - "jest-get-type" "^25.2.6" - "pretty-format" "^25.5.0" - -"jest-docblock@^25.3.0": - "integrity" "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==" - "resolved" "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz" - "version" "25.3.0" - dependencies: - "detect-newline" "^3.0.0" - -"jest-each@^25.5.0": - "integrity" "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==" - "resolved" "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz" - "version" "25.5.0" + babel-jest "^25.5.1" + chalk "^3.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^25.5.0" + jest-environment-node "^25.5.0" + jest-get-type "^25.2.6" + jest-jasmine2 "^25.5.4" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + micromatch "^4.0.2" + pretty-format "^25.5.0" + realpath-native "^2.0.0" + +jest-config@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" + integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.3.1" + "@jest/types" "^29.3.1" + babel-jest "^29.3.1" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.3.1" + jest-environment-node "^29.3.1" + jest-get-type "^29.2.0" + jest-regex-util "^29.2.0" + jest-resolve "^29.3.1" + jest-runner "^29.3.1" + jest-util "^29.3.1" + jest-validate "^29.3.1" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.3.1" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^25.2.1, jest-diff@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" + integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== + dependencies: + chalk "^3.0.0" + diff-sequences "^25.2.6" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-diff@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" + integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.3.1" + jest-get-type "^29.2.0" + pretty-format "^29.3.1" + +jest-docblock@^25.3.0: + version "25.3.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" + integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== + dependencies: + detect-newline "^3.0.0" + +jest-docblock@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" + integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== + dependencies: + detect-newline "^3.0.0" + +jest-each@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" + integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== dependencies: "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "jest-get-type" "^25.2.6" - "jest-util" "^25.5.0" - "pretty-format" "^25.5.0" - -"jest-environment-jsdom@^25.5.0": - "integrity" "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==" - "resolved" "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz" - "version" "25.5.0" + chalk "^3.0.0" + jest-get-type "^25.2.6" + jest-util "^25.5.0" + pretty-format "^25.5.0" + +jest-each@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" + integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== + dependencies: + "@jest/types" "^29.3.1" + chalk "^4.0.0" + jest-get-type "^29.2.0" + jest-util "^29.3.1" + pretty-format "^29.3.1" + +jest-environment-jsdom@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" + integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== dependencies: "@jest/environment" "^25.5.0" "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - "jest-mock" "^25.5.0" - "jest-util" "^25.5.0" - "jsdom" "^15.2.1" + jest-mock "^25.5.0" + jest-util "^25.5.0" + jsdom "^15.2.1" -"jest-environment-node@^25.5.0": - "integrity" "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==" - "resolved" "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz" - "version" "25.5.0" +jest-environment-node@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" + integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== dependencies: "@jest/environment" "^25.5.0" "@jest/fake-timers" "^25.5.0" "@jest/types" "^25.5.0" - "jest-mock" "^25.5.0" - "jest-util" "^25.5.0" - "semver" "^6.3.0" + jest-mock "^25.5.0" + jest-util "^25.5.0" + semver "^6.3.0" + +jest-environment-node@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" + integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== + dependencies: + "@jest/environment" "^29.3.1" + "@jest/fake-timers" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + jest-mock "^29.3.1" + jest-util "^29.3.1" -"jest-get-type@^25.2.6": - "integrity" "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==" - "resolved" "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz" - "version" "25.2.6" +jest-get-type@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" + integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== -"jest-haste-map@^25.5.1": - "integrity" "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==" - "resolved" "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz" - "version" "25.5.1" +jest-get-type@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" + integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== + +jest-haste-map@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" + integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== dependencies: "@jest/types" "^25.5.0" "@types/graceful-fs" "^4.1.2" - "anymatch" "^3.0.3" - "fb-watchman" "^2.0.0" - "graceful-fs" "^4.2.4" - "jest-serializer" "^25.5.0" - "jest-util" "^25.5.0" - "jest-worker" "^25.5.0" - "micromatch" "^4.0.2" - "sane" "^4.0.3" - "walker" "^1.0.7" - "which" "^2.0.2" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-serializer "^25.5.0" + jest-util "^25.5.0" + jest-worker "^25.5.0" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + which "^2.0.2" + optionalDependencies: + fsevents "^2.1.2" + +jest-haste-map@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" + integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== + dependencies: + "@jest/types" "^29.3.1" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.2.0" + jest-util "^29.3.1" + jest-worker "^29.3.1" + micromatch "^4.0.4" + walker "^1.0.8" optionalDependencies: - "fsevents" "^2.1.2" + fsevents "^2.3.2" -"jest-jasmine2@^25.5.4": - "integrity" "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==" - "resolved" "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz" - "version" "25.5.4" +jest-jasmine2@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" + integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== dependencies: "@babel/traverse" "^7.1.0" "@jest/environment" "^25.5.0" "@jest/source-map" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "co" "^4.6.0" - "expect" "^25.5.0" - "is-generator-fn" "^2.0.0" - "jest-each" "^25.5.0" - "jest-matcher-utils" "^25.5.0" - "jest-message-util" "^25.5.0" - "jest-runtime" "^25.5.4" - "jest-snapshot" "^25.5.1" - "jest-util" "^25.5.0" - "pretty-format" "^25.5.0" - "throat" "^5.0.0" - -"jest-leak-detector@^25.5.0": - "integrity" "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==" - "resolved" "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "jest-get-type" "^25.2.6" - "pretty-format" "^25.5.0" - -"jest-matcher-utils@^25.5.0": - "integrity" "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==" - "resolved" "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "chalk" "^3.0.0" - "jest-diff" "^25.5.0" - "jest-get-type" "^25.2.6" - "pretty-format" "^25.5.0" - -"jest-message-util@^25.5.0": - "integrity" "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==" - "resolved" "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz" - "version" "25.5.0" + chalk "^3.0.0" + co "^4.6.0" + expect "^25.5.0" + is-generator-fn "^2.0.0" + jest-each "^25.5.0" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-runtime "^25.5.4" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + pretty-format "^25.5.0" + throat "^5.0.0" + +jest-leak-detector@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" + integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== + dependencies: + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-leak-detector@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" + integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== + dependencies: + jest-get-type "^29.2.0" + pretty-format "^29.3.1" + +jest-matcher-utils@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" + integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== + dependencies: + chalk "^3.0.0" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + pretty-format "^25.5.0" + +jest-matcher-utils@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" + integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== + dependencies: + chalk "^4.0.0" + jest-diff "^29.3.1" + jest-get-type "^29.2.0" + pretty-format "^29.3.1" + +jest-message-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" + integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== dependencies: "@babel/code-frame" "^7.0.0" "@jest/types" "^25.5.0" "@types/stack-utils" "^1.0.1" - "chalk" "^3.0.0" - "graceful-fs" "^4.2.4" - "micromatch" "^4.0.2" - "slash" "^3.0.0" - "stack-utils" "^1.0.1" - -"jest-mock@^25.5.0": - "integrity" "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==" - "resolved" "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz" - "version" "25.5.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + slash "^3.0.0" + stack-utils "^1.0.1" + +jest-message-util@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" + integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.3.1" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.3.1" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" + integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== dependencies: "@jest/types" "^25.5.0" -"jest-pnp-resolver@^1.2.1": - "integrity" "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" - "resolved" "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz" - "version" "1.2.2" +jest-mock@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" + integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== + dependencies: + "@jest/types" "^29.3.1" + "@types/node" "*" + jest-util "^29.3.1" + +jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: + version "25.2.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" + integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== -"jest-regex-util@^25.2.1", "jest-regex-util@^25.2.6": - "integrity" "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==" - "resolved" "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz" - "version" "25.2.6" +jest-regex-util@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" + integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== -"jest-resolve-dependencies@^25.5.4": - "integrity" "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==" - "resolved" "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz" - "version" "25.5.4" +jest-resolve-dependencies@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" + integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== dependencies: "@jest/types" "^25.5.0" - "jest-regex-util" "^25.2.6" - "jest-snapshot" "^25.5.1" + jest-regex-util "^25.2.6" + jest-snapshot "^25.5.1" -"jest-resolve@*", "jest-resolve@^25.5.1": - "integrity" "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==" - "resolved" "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz" - "version" "25.5.1" +jest-resolve-dependencies@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" + integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== + dependencies: + jest-regex-util "^29.2.0" + jest-snapshot "^29.3.1" + +jest-resolve@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" + integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== dependencies: "@jest/types" "^25.5.0" - "browser-resolve" "^1.11.3" - "chalk" "^3.0.0" - "graceful-fs" "^4.2.4" - "jest-pnp-resolver" "^1.2.1" - "read-pkg-up" "^7.0.1" - "realpath-native" "^2.0.0" - "resolve" "^1.17.0" - "slash" "^3.0.0" - -"jest-runner@^25.5.4": - "integrity" "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==" - "resolved" "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz" - "version" "25.5.4" + browser-resolve "^1.11.3" + chalk "^3.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.1" + read-pkg-up "^7.0.1" + realpath-native "^2.0.0" + resolve "^1.17.0" + slash "^3.0.0" + +jest-resolve@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" + integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.3.1" + jest-pnp-resolver "^1.2.2" + jest-util "^29.3.1" + jest-validate "^29.3.1" + resolve "^1.20.0" + resolve.exports "^1.1.0" + slash "^3.0.0" + +jest-runner@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" + integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== dependencies: "@jest/console" "^25.5.0" "@jest/environment" "^25.5.0" "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "exit" "^0.1.2" - "graceful-fs" "^4.2.4" - "jest-config" "^25.5.4" - "jest-docblock" "^25.3.0" - "jest-haste-map" "^25.5.1" - "jest-jasmine2" "^25.5.4" - "jest-leak-detector" "^25.5.0" - "jest-message-util" "^25.5.0" - "jest-resolve" "^25.5.1" - "jest-runtime" "^25.5.4" - "jest-util" "^25.5.0" - "jest-worker" "^25.5.0" - "source-map-support" "^0.5.6" - "throat" "^5.0.0" - -"jest-runtime@^25.5.4": - "integrity" "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==" - "resolved" "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz" - "version" "25.5.4" + chalk "^3.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-docblock "^25.3.0" + jest-haste-map "^25.5.1" + jest-jasmine2 "^25.5.4" + jest-leak-detector "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + jest-runtime "^25.5.4" + jest-util "^25.5.0" + jest-worker "^25.5.0" + source-map-support "^0.5.6" + throat "^5.0.0" + +jest-runner@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" + integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== + dependencies: + "@jest/console" "^29.3.1" + "@jest/environment" "^29.3.1" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.2.0" + jest-environment-node "^29.3.1" + jest-haste-map "^29.3.1" + jest-leak-detector "^29.3.1" + jest-message-util "^29.3.1" + jest-resolve "^29.3.1" + jest-runtime "^29.3.1" + jest-util "^29.3.1" + jest-watcher "^29.3.1" + jest-worker "^29.3.1" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^25.5.4: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" + integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== dependencies: "@jest/console" "^25.5.0" "@jest/environment" "^25.5.0" @@ -5275,153 +5891,269 @@ "@jest/transform" "^25.5.1" "@jest/types" "^25.5.0" "@types/yargs" "^15.0.0" - "chalk" "^3.0.0" - "collect-v8-coverage" "^1.0.0" - "exit" "^0.1.2" - "glob" "^7.1.3" - "graceful-fs" "^4.2.4" - "jest-config" "^25.5.4" - "jest-haste-map" "^25.5.1" - "jest-message-util" "^25.5.0" - "jest-mock" "^25.5.0" - "jest-regex-util" "^25.2.6" - "jest-resolve" "^25.5.1" - "jest-snapshot" "^25.5.1" - "jest-util" "^25.5.0" - "jest-validate" "^25.5.0" - "realpath-native" "^2.0.0" - "slash" "^3.0.0" - "strip-bom" "^4.0.0" - "yargs" "^15.3.1" - -"jest-serializer@^25.5.0": - "integrity" "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==" - "resolved" "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz" - "version" "25.5.0" - dependencies: - "graceful-fs" "^4.2.4" - -"jest-snapshot@^25.5.1": - "integrity" "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==" - "resolved" "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz" - "version" "25.5.1" + chalk "^3.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^25.5.4" + jest-haste-map "^25.5.1" + jest-message-util "^25.5.0" + jest-mock "^25.5.0" + jest-regex-util "^25.2.6" + jest-resolve "^25.5.1" + jest-snapshot "^25.5.1" + jest-util "^25.5.0" + jest-validate "^25.5.0" + realpath-native "^2.0.0" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.3.1" + +jest-runtime@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" + integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== + dependencies: + "@jest/environment" "^29.3.1" + "@jest/fake-timers" "^29.3.1" + "@jest/globals" "^29.3.1" + "@jest/source-map" "^29.2.0" + "@jest/test-result" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.3.1" + jest-message-util "^29.3.1" + jest-mock "^29.3.1" + jest-regex-util "^29.2.0" + jest-resolve "^29.3.1" + jest-snapshot "^29.3.1" + jest-util "^29.3.1" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-serializer@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" + integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== + dependencies: + graceful-fs "^4.2.4" + +jest-snapshot@^25.5.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" + integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== dependencies: "@babel/types" "^7.0.0" "@jest/types" "^25.5.0" "@types/prettier" "^1.19.0" - "chalk" "^3.0.0" - "expect" "^25.5.0" - "graceful-fs" "^4.2.4" - "jest-diff" "^25.5.0" - "jest-get-type" "^25.2.6" - "jest-matcher-utils" "^25.5.0" - "jest-message-util" "^25.5.0" - "jest-resolve" "^25.5.1" - "make-dir" "^3.0.0" - "natural-compare" "^1.4.0" - "pretty-format" "^25.5.0" - "semver" "^6.3.0" - -"jest-util@^25.5.0": - "integrity" "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==" - "resolved" "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz" - "version" "25.5.0" + chalk "^3.0.0" + expect "^25.5.0" + graceful-fs "^4.2.4" + jest-diff "^25.5.0" + jest-get-type "^25.2.6" + jest-matcher-utils "^25.5.0" + jest-message-util "^25.5.0" + jest-resolve "^25.5.1" + make-dir "^3.0.0" + natural-compare "^1.4.0" + pretty-format "^25.5.0" + semver "^6.3.0" + +jest-snapshot@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" + integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.3.1" + "@jest/transform" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/babel__traverse" "^7.0.6" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.3.1" + graceful-fs "^4.2.9" + jest-diff "^29.3.1" + jest-get-type "^29.2.0" + jest-haste-map "^29.3.1" + jest-matcher-utils "^29.3.1" + jest-message-util "^29.3.1" + jest-util "^29.3.1" + natural-compare "^1.4.0" + pretty-format "^29.3.1" + semver "^7.3.5" + +jest-util@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" + integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== dependencies: "@jest/types" "^25.5.0" - "chalk" "^3.0.0" - "graceful-fs" "^4.2.4" - "is-ci" "^2.0.0" - "make-dir" "^3.0.0" + chalk "^3.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + make-dir "^3.0.0" + +jest-util@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" + integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== + dependencies: + "@jest/types" "^29.3.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" -"jest-validate@^25.5.0": - "integrity" "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==" - "resolved" "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz" - "version" "25.5.0" +jest-validate@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" + integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== dependencies: "@jest/types" "^25.5.0" - "camelcase" "^5.3.1" - "chalk" "^3.0.0" - "jest-get-type" "^25.2.6" - "leven" "^3.1.0" - "pretty-format" "^25.5.0" - -"jest-watch-typeahead@^0.5.0": - "integrity" "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==" - "resolved" "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "ansi-escapes" "^4.2.1" - "chalk" "^3.0.0" - "jest-regex-util" "^25.2.1" - "jest-watcher" "^25.2.4" - "slash" "^3.0.0" - "string-length" "^3.1.0" - "strip-ansi" "^6.0.0" - -"jest-watcher@^25.2.4", "jest-watcher@^25.5.0": - "integrity" "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==" - "resolved" "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz" - "version" "25.5.0" + camelcase "^5.3.1" + chalk "^3.0.0" + jest-get-type "^25.2.6" + leven "^3.1.0" + pretty-format "^25.5.0" + +jest-validate@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" + integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== + dependencies: + "@jest/types" "^29.3.1" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.2.0" + leven "^3.1.0" + pretty-format "^29.3.1" + +jest-watch-typeahead@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" + integrity sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-regex-util "^25.2.1" + jest-watcher "^25.2.4" + slash "^3.0.0" + string-length "^3.1.0" + strip-ansi "^6.0.0" + +jest-watcher@^25.2.4, jest-watcher@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" + integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== dependencies: "@jest/test-result" "^25.5.0" "@jest/types" "^25.5.0" - "ansi-escapes" "^4.2.1" - "chalk" "^3.0.0" - "jest-util" "^25.5.0" - "string-length" "^3.1.0" + ansi-escapes "^4.2.1" + chalk "^3.0.0" + jest-util "^25.5.0" + string-length "^3.1.0" + +jest-watcher@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" + integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== + dependencies: + "@jest/test-result" "^29.3.1" + "@jest/types" "^29.3.1" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.3.1" + string-length "^4.0.1" -"jest-worker@^24.0.0", "jest-worker@^24.9.0": - "integrity" "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" - "version" "24.9.0" +jest-worker@^24.0.0, jest-worker@^24.9.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" + integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== dependencies: - "merge-stream" "^2.0.0" - "supports-color" "^6.1.0" + merge-stream "^2.0.0" + supports-color "^6.1.0" -"jest-worker@^25.5.0": - "integrity" "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz" - "version" "25.5.0" +jest-worker@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" + integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== dependencies: - "merge-stream" "^2.0.0" - "supports-color" "^7.0.0" + merge-stream "^2.0.0" + supports-color "^7.0.0" -"jest@^25.3.0", "jest@>=25 <26": - "integrity" "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==" - "resolved" "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz" - "version" "25.5.4" +jest-worker@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" + integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== dependencies: - "@jest/core" "^25.5.4" - "import-local" "^3.0.2" - "jest-cli" "^25.5.4" - -"jpjs@^1.2.1": - "integrity" "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==" - "resolved" "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz" - "version" "1.2.1" - -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" + "@types/node" "*" + jest-util "^29.3.1" + merge-stream "^2.0.0" + supports-color "^8.0.0" -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" +jest@^25.3.0: + version "25.5.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" + integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"jsbn@~0.1.0": - "integrity" "sha1-peZUwuWi3rXyAdls77yoDA7y9RM= sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" - "resolved" "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" - "version" "0.1.1" - -"jscodeshift@^0.13.0": - "integrity" "sha512-FNHLuwh7TeI0F4EzNVIRwUSxSqsGWM5nTv596FK4NfBnEEKFpIcyFeG559DMFGHSTIYA5AY4Fqh2cBrJx0EAwg==" - "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.0.tgz" - "version" "0.13.0" + "@jest/core" "^25.5.4" + import-local "^3.0.2" + jest-cli "^25.5.4" + +jest@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" + integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== + dependencies: + "@jest/core" "^29.3.1" + "@jest/types" "^29.3.1" + import-local "^3.0.2" + jest-cli "^29.3.1" + +jpjs@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" + integrity sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== + +jscodeshift@^0.13.0: + version "0.13.1" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" + integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== dependencies: "@babel/core" "^7.13.16" "@babel/parser" "^7.13.16" @@ -5432,21 +6164,21 @@ "@babel/preset-flow" "^7.13.13" "@babel/preset-typescript" "^7.13.0" "@babel/register" "^7.13.16" - "babel-core" "^7.0.0-bridge.0" - "colors" "^1.1.2" - "flow-parser" "0.*" - "graceful-fs" "^4.2.4" - "micromatch" "^3.1.10" - "neo-async" "^2.5.0" - "node-dir" "^0.1.17" - "recast" "^0.20.4" - "temp" "^0.8.4" - "write-file-atomic" "^2.3.0" - -"jscodeshift@^0.6.3": - "integrity" "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==" - "resolved" "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz" - "version" "0.6.4" + babel-core "^7.0.0-bridge.0" + chalk "^4.1.2" + flow-parser "0.*" + graceful-fs "^4.2.4" + micromatch "^3.1.10" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.20.4" + temp "^0.8.4" + write-file-atomic "^2.3.0" + +jscodeshift@^0.6.3: + version "0.6.4" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.6.4.tgz#e19ab86214edac86a75c4557fc88b3937d558a8e" + integrity sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ== dependencies: "@babel/core" "^7.1.6" "@babel/parser" "^7.1.6" @@ -5456,3251 +6188,3040 @@ "@babel/preset-flow" "^7.0.0" "@babel/preset-typescript" "^7.1.0" "@babel/register" "^7.0.0" - "babel-core" "^7.0.0-bridge.0" - "colors" "^1.1.2" - "flow-parser" "0.*" - "graceful-fs" "^4.1.11" - "micromatch" "^3.1.10" - "neo-async" "^2.5.0" - "node-dir" "^0.1.17" - "recast" "^0.16.1" - "temp" "^0.8.1" - "write-file-atomic" "^2.3.0" - -"jsdom@^15.2.1": - "integrity" "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==" - "resolved" "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz" - "version" "15.2.1" - dependencies: - "abab" "^2.0.0" - "acorn" "^7.1.0" - "acorn-globals" "^4.3.2" - "array-equal" "^1.0.0" - "cssom" "^0.4.1" - "cssstyle" "^2.0.0" - "data-urls" "^1.1.0" - "domexception" "^1.0.1" - "escodegen" "^1.11.1" - "html-encoding-sniffer" "^1.0.2" - "nwsapi" "^2.2.0" - "parse5" "5.1.0" - "pn" "^1.1.0" - "request" "^2.88.0" - "request-promise-native" "^1.0.7" - "saxes" "^3.1.9" - "symbol-tree" "^3.2.2" - "tough-cookie" "^3.0.1" - "w3c-hr-time" "^1.0.1" - "w3c-xmlserializer" "^1.1.2" - "webidl-conversions" "^4.0.2" - "whatwg-encoding" "^1.0.5" - "whatwg-mimetype" "^2.3.0" - "whatwg-url" "^7.0.0" - "ws" "^7.0.0" - "xml-name-validator" "^3.0.0" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-parse-better-errors@^1.0.1", "json-parse-better-errors@^1.0.2": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json-schema-traverse@^1.0.0": - "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - "version" "1.0.0" - -"json-schema@^0.3.0": - "integrity" "sha512-TYfxx36xfl52Rf1LU9HyWSLGPdYLL+SQ8/E/0yVyKG8wCCDaSrhPap0vEdlsZWRaS6tnKKLPGiEJGiREVC8kxQ==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.3.0.tgz" - "version" "0.3.0" - -"json-schema@0.2.3": - "integrity" "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= sha512-a3xHnILGMtk+hDOqNwHzF6e2fNbiMrXZvxKQiEv2MlgQP+pjIOzqAmKYD2mDpXYE/44M7g+n9p2bKkYWDUcXCQ==" - "resolved" "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" - "version" "0.2.3" - -"json-stable-stringify-without-jsonify@^1.0.1": - "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" - "version" "1.0.1" - -"json-stringify-safe@~5.0.1": - "integrity" "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" - "resolved" "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - "version" "5.0.1" - -"json5-writer@^0.1.8": - "integrity" "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==" - "resolved" "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz" - "version" "0.1.8" - dependencies: - "jscodeshift" "^0.6.3" - -"json5@^1.0.1": - "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.1", "json5@^2.1.2", "json5@2.x": - "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "minimist" "^1.2.5" - -"jsonfile@^4.0.0": - "integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - "version" "4.0.0" + babel-core "^7.0.0-bridge.0" + colors "^1.1.2" + flow-parser "0.*" + graceful-fs "^4.1.11" + micromatch "^3.1.10" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.16.1" + temp "^0.8.1" + write-file-atomic "^2.3.0" + +jsdom@^15.2.1: + version "15.2.1" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" + integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + dependencies: + abab "^2.0.0" + acorn "^7.1.0" + acorn-globals "^4.3.2" + array-equal "^1.0.0" + cssom "^0.4.1" + cssstyle "^2.0.0" + data-urls "^1.1.0" + domexception "^1.0.1" + escodegen "^1.11.1" + html-encoding-sniffer "^1.0.2" + nwsapi "^2.2.0" + parse5 "5.1.0" + pn "^1.1.0" + request "^2.88.0" + request-promise-native "^1.0.7" + saxes "^3.1.9" + symbol-tree "^3.2.2" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.1" + w3c-xmlserializer "^1.1.2" + webidl-conversions "^4.0.2" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^7.0.0" + ws "^7.0.0" + xml-name-validator "^3.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-schema@0.4.0, json-schema@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5-writer@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/json5-writer/-/json5-writer-0.1.8.tgz#98e1934ef6002f8ac12f36438e2b39c49af213fd" + integrity sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw== + dependencies: + jscodeshift "^0.6.3" + +json5@2.x, json5@^2.1.1, json5@^2.1.2, json5@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" + integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - "universalify" "^2.0.0" + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"jsprim@^1.2.2": - "integrity" "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= sha512-4Dj8Rf+fQ+/Pn7C5qeEX02op1WfOss3PKTE9Nsop3Dx+6UPxlm1dr/og7o2cRa5hNN07CACr4NFzRLtj/rjWog==" - "resolved" "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" - "version" "1.4.1" +jsprim@^1.2.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: - "assert-plus" "1.0.0" - "extsprintf" "1.3.0" - "json-schema" "0.2.3" - "verror" "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", "jsx-ast-utils@^3.1.0": - "integrity" "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==" - "resolved" "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "array-includes" "^3.1.3" - "object.assign" "^4.1.2" - -"kind-of@^3.0.2", "kind-of@^3.0.3": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.2.0": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^4.0.0": - "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc= sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"kind-of@^6.0.0", "kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"language-subtag-registry@~0.3.2": - "integrity" "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==" - "resolved" "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz" - "version" "0.3.21" - -"language-tags@^1.0.5": - "integrity" "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==" - "resolved" "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "language-subtag-registry" "~0.3.2" - -"last-call-webpack-plugin@^3.0.0": - "integrity" "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==" - "resolved" "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "lodash" "^4.17.5" - "webpack-sources" "^1.1.0" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"levn@^0.3.0", "levn@~0.3.0": - "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - -"levn@^0.4.1": - "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==" - "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "prelude-ls" "^1.2.1" - "type-check" "~0.4.0" - -"libsodium-sumo@^0.7.0": - "integrity" "sha512-DcfJ57zlSlcmQU4s8KOX78pT0zKx5S9RLi0oyDuoIgm4K95+VNSaOidK/y9lUK4lxft14PtTPjoBy8tmLk1TDQ==" - "resolved" "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.9.tgz" - "version" "0.7.9" - -"libsodium-wrappers-sumo@^0.7.9": - "integrity" "sha512-XLgLkqY973PngrRElbjOH0y7bJKYEfMWVpWPmW5iuhBjO6zXvHYQWtN52MVEeie/h98ZXN1Aw9BE+GzxQVAfLg==" - "resolved" "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.9.tgz" - "version" "0.7.9" - dependencies: - "libsodium-sumo" "^0.7.0" - -"lilconfig@^2.0.3": - "integrity" "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==" - "resolved" "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz" - "version" "2.0.3" - -"lines-and-columns@^1.1.6": - "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= sha512-8ZmlJFVK9iCmtLz19HpSsR8HaAMWBT284VMNednLwlIMDP2hJDCIhUp0IZ2xUcZ+Ob6BM0VvCSJwzASDM45NLQ==" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - "version" "1.1.6" - -"load-json-file@^4.0.0": - "integrity" "sha1-L19Fq5HjMhYjT9U62rZo607AmTs= sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==" - "resolved" "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "graceful-fs" "^4.1.2" - "parse-json" "^4.0.0" - "pify" "^3.0.0" - "strip-bom" "^3.0.0" - -"loader-runner@^2.4.0": - "integrity" "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" - "version" "2.4.0" - -"loader-utils@^1.2.3": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0": - "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^2.0.0": - "integrity" "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "p-locate" "^2.0.0" - "path-exists" "^3.0.0" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"lodash.clonedeep@^4.5.0": - "integrity" "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" - "resolved" "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" - "version" "4.5.0" - -"lodash.debounce@^4.0.8": - "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168= sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.memoize@^4.1.2", "lodash.memoize@4.x": - "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.merge@^4.6.2": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash.sortby@^4.7.0": - "integrity" "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - "resolved" "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - "version" "4.7.0" - -"lodash.truncate@^4.4.2": - "integrity" "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==" - "resolved" "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" - "version" "4.4.2" - -"lodash.uniq@^4.5.0": - "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" - "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - "version" "4.5.0" - -"lodash@^4.17.14", "lodash@^4.17.15", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@^4.17.5": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"log-symbols@^3.0.0": - "integrity" "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==" - "resolved" "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "chalk" "^2.4.2" - -"log-update@^2.3.0": - "integrity" "sha1-iDKP19HOeTiykoN0bwsbwSayRwg= sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==" - "resolved" "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "ansi-escapes" "^3.0.0" - "cli-cursor" "^2.0.0" - "wrap-ansi" "^3.0.1" - -"log-update@^3.3.0": - "integrity" "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==" - "resolved" "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz" - "version" "3.4.0" - dependencies: - "ansi-escapes" "^3.2.0" - "cli-cursor" "^2.1.0" - "wrap-ansi" "^5.0.0" - -"lolex@^5.0.0": - "integrity" "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==" - "resolved" "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz" - "version" "5.1.2" + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.4.0" + verror "1.10.0" + +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +language-subtag-registry@^0.3.20: + version "0.3.22" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" + integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== + +language-tags@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.7.tgz#41cc248730f3f12a452c2e2efe32bc0bbce67967" + integrity sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw== + dependencies: + language-subtag-registry "^0.3.20" + +last-call-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" + integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== + dependencies: + lodash "^4.17.5" + webpack-sources "^1.1.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libsodium-sumo@^0.7.0: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz#169756dbf32088f42e30dfb0a7860074663fb0b4" + integrity sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA== + +libsodium-wrappers-sumo@^0.7.9: + version "0.7.10" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz#592b0cc714ddf3954f93e2292ff3aadebd2b282b" + integrity sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg== + dependencies: + libsodium-sumo "^0.7.0" + +lilconfig@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" + integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" + integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + +loader-utils@^1.2.3: + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.memoize@4.x, lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +log-update@^3.3.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9" + integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg== + dependencies: + ansi-escapes "^3.2.0" + cli-cursor "^2.1.0" + wrap-ansi "^5.0.0" + +lolex@^5.0.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" + integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== dependencies: "@sinonjs/commons" "^1.7.0" -"loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" + js-tokens "^3.0.0 || ^4.0.0" -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - "tslib" "^2.0.3" + tslib "^2.0.3" -"lru-cache@^5.1.1": - "integrity" "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - "version" "5.1.1" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== dependencies: - "yallist" "^3.0.2" + yallist "^3.0.2" -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: - "yallist" "^4.0.0" + yallist "^4.0.0" -"magic-string@^0.25.2", "magic-string@^0.25.7": - "integrity" "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==" - "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" - "version" "0.25.7" +magic-string@^0.25.2, magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== dependencies: - "sourcemap-codec" "^1.4.4" + sourcemap-codec "^1.4.8" -"make-dir@^2.0.0", "make-dir@^2.1.0": - "integrity" "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz" - "version" "2.1.0" +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: - "pify" "^4.0.1" - "semver" "^5.6.0" - -"make-dir@^3.0.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-dir@^3.0.2": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"make-error@1.x": - "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - "version" "1.3.6" - -"makeerror@1.0.x": - "integrity" "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= sha512-M/XvMZ6oK4edXjvg/ZYyzByg8kjpVrF/m0x3wbhOlzJfsQgFkqP1rJnLnJExOcslmLSSeLiN6NmF+cBoKJHGTg==" - "resolved" "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz" - "version" "1.0.11" - dependencies: - "tmpl" "1.0.x" - -"map-cache@^0.2.2": - "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==" - "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - "version" "0.2.2" - -"map-visit@^1.0.0": - "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==" - "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "object-visit" "^1.0.0" - -"md5.js@^1.3.4": - "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==" - "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz" - "version" "1.3.5" - dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" - "safe-buffer" "^5.1.2" - -"mdn-data@2.0.14": - "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - "version" "2.0.14" - -"memory-fs@^0.4.1": - "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"memory-fs@^0.5.0": - "integrity" "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz" - "version" "0.5.0" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.3.0": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"mico-spinner@^1.2.2": - "integrity" "sha512-iwc0mhP+H/qorAKhDsDW40QOb3kKxAIwH1ImoIkFUWP3kT4gn6UZ2gdyT0uNRLrCx7fADY1F7OFBuFM1/wfflQ==" - "resolved" "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "nanocolors" "^0.1.1" - -"micromatch@^3.1.10", "micromatch@^3.1.4": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^4.0.2", "micromatch@^4.0.4", "micromatch@4.x": - "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "braces" "^3.0.1" - "picomatch" "^2.2.3" - -"miller-rabin@^4.0.0": - "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==" - "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "bn.js" "^4.0.0" - "brorand" "^1.0.1" - -"mime-db@1.49.0": - "integrity" "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz" - "version" "1.49.0" - -"mime-types@^2.1.12", "mime-types@~2.1.19": - "integrity" "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" - "version" "2.1.32" - dependencies: - "mime-db" "1.49.0" - -"mime@^2.3.1": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mimic-fn@^1.0.0": - "integrity" "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz" - "version" "1.2.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimalistic-crypto-utils@^1.0.1": - "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" - "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.2", "minimatch@^3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.1.1", "minimist@^1.2.0", "minimist@^1.2.5": - "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - "version" "1.2.5" - -"mississippi@^3.0.0": - "integrity" "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==" - "resolved" "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "concat-stream" "^1.5.0" - "duplexify" "^3.4.2" - "end-of-stream" "^1.1.0" - "flush-write-stream" "^1.0.0" - "from2" "^2.1.0" - "parallel-transform" "^1.1.0" - "pump" "^3.0.0" - "pumpify" "^1.3.3" - "stream-each" "^1.1.0" - "through2" "^2.0.0" - -"mixin-deep@^1.2.0": - "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "for-in" "^1.0.2" - "is-extendable" "^1.0.1" - -"mkdirp@^0.5.1", "mkdirp@0.x": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mkdirp@^0.5.3": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mkdirp@^1.0.4": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" - -"move-concurrently@^1.0.1": - "integrity" "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==" - "resolved" "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "aproba" "^1.1.1" - "copy-concurrently" "^1.0.0" - "fs-write-stream-atomic" "^1.0.8" - "mkdirp" "^0.5.1" - "rimraf" "^2.5.4" - "run-queue" "^1.0.3" - -"mri@^1.1.0": - "integrity" "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" - "resolved" "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" - "version" "1.2.0" - -"ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.0.0": - "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"msgpack5@^5.3.2": - "integrity" "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==" - "resolved" "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz" - "version" "5.3.2" - dependencies: - "bl" "^4.0.0" - "inherits" "^2.0.3" - "readable-stream" "^3.0.0" - "safe-buffer" "^5.1.2" - -"mute-stream@0.0.8": - "integrity" "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - "resolved" "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" - "version" "0.0.8" - -"nan@^2.12.1": - "integrity" "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==" - "resolved" "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz" - "version" "2.15.0" - -"nanocolors@^0.1.0", "nanocolors@^0.1.1", "nanocolors@^0.1.12", "nanocolors@^0.1.5": - "integrity" "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" - "resolved" "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz" - "version" "0.1.12" - -"nanoid@^3.1.25": - "integrity" "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz" - "version" "3.1.25" - -"nanomatch@^1.2.9": - "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" - "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "fragment-cache" "^0.2.1" - "is-windows" "^1.0.2" - "kind-of" "^6.0.2" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"natural-compare@^1.4.0": - "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - "version" "1.4.0" - -"neo-async@^2.5.0", "neo-async@^2.6.1": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"node-dir@^0.1.17": - "integrity" "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU= sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==" - "resolved" "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz" - "version" "0.1.17" - dependencies: - "minimatch" "^3.0.2" - -"node-int64@^0.4.0": - "integrity" "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - "resolved" "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" - "version" "0.4.0" - -"node-libs-browser@^2.2.1": - "integrity" "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==" - "resolved" "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "assert" "^1.1.1" - "browserify-zlib" "^0.2.0" - "buffer" "^4.3.0" - "console-browserify" "^1.1.0" - "constants-browserify" "^1.0.0" - "crypto-browserify" "^3.11.0" - "domain-browser" "^1.1.1" - "events" "^3.0.0" - "https-browserify" "^1.0.0" - "os-browserify" "^0.3.0" - "path-browserify" "0.0.1" - "process" "^0.11.10" - "punycode" "^1.2.4" - "querystring-es3" "^0.2.0" - "readable-stream" "^2.3.3" - "stream-browserify" "^2.0.1" - "stream-http" "^2.7.2" - "string_decoder" "^1.0.0" - "timers-browserify" "^2.0.4" - "tty-browserify" "0.0.0" - "url" "^0.11.0" - "util" "^0.11.0" - "vm-browserify" "^1.0.1" - -"node-modules-regexp@^1.0.0": - "integrity" "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= sha512-JMaRS9L4wSRIR+6PTVEikTrq/lMGEZR43a48ETeilY0Q0iMwVnccMFrUM1k+tNzmYuIU0Vh710bCUqHX+/+ctQ==" - "resolved" "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" - "version" "1.0.0" - -"node-notifier@^6.0.0": - "integrity" "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==" - "resolved" "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "growly" "^1.3.0" - "is-wsl" "^2.1.1" - "semver" "^6.3.0" - "shellwords" "^0.1.1" - "which" "^1.3.1" - -"node-releases@^1.1.76": - "integrity" "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz" - "version" "1.1.76" - -"nofilter@^3.0.2": - "integrity" "sha512-TN/MCrQmXQk5DyUJ8TGUq1Il8rv4fTsjddLmMopV006QP8DMkglmGgYfQKD5620vXLRXfr8iGI6ZZ4/ZWld2cQ==" - "resolved" "https://registry.npmjs.org/nofilter/-/nofilter-3.0.3.tgz" - "version" "3.0.3" - -"normalize-package-data@^2.3.2", "normalize-package-data@^2.5.0": - "integrity" "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==" - "resolved" "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "hosted-git-info" "^2.1.4" - "resolve" "^1.10.0" - "semver" "2 || 3 || 4 || 5" - "validate-npm-package-license" "^3.0.1" - -"normalize-path@^2.1.1": - "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "remove-trailing-separator" "^1.0.1" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-url@^6.0.1": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"npm-run-path@^2.0.0": - "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "path-key" "^2.0.0" - -"npm-run-path@^4.0.0": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nth-check@^2.0.0": - "integrity" "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "boolbase" "^1.0.0" - -"nwsapi@^2.2.0": - "integrity" "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" - "resolved" "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz" - "version" "2.2.0" - -"oauth-sign@~0.9.0": - "integrity" "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - "resolved" "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" - "version" "0.9.0" - -"object-assign@^4.1.1": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-copy@^0.1.0": - "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw= sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==" - "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "copy-descriptor" "^0.1.0" - "define-property" "^0.2.5" - "kind-of" "^3.0.3" - -"object-inspect@^1.11.0", "object-inspect@^1.9.0": - "integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" - "version" "1.11.0" - -"object-keys@^1.0.12", "object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" - -"object-visit@^1.0.0": - "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==" - "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "isobject" "^3.0.0" - -"object.assign@^4.1.0", "object.assign@^4.1.2": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" - -"object.entries@^1.1.4": - "integrity" "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==" - "resolved" "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.2" - -"object.fromentries@^2.0.4": - "integrity" "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==" - "resolved" "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.2" - "has" "^1.0.3" - -"object.hasown@^1.0.0": - "integrity" "sha512-qYMF2CLIjxxLGleeM0jrcB4kiv3loGVAjKQKvH8pSU/i2VcRRvUNmxbD+nEMmrXRfORhuVJuH8OtSYCZoue3zA==" - "resolved" "https://registry.npmjs.org/object.hasown/-/object.hasown-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "define-properties" "^1.1.3" - "es-abstract" "^1.18.1" - -"object.pick@^1.3.0": - "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==" - "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "isobject" "^3.0.1" - -"object.values@^1.1.4": - "integrity" "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.2" - -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E= sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "wrappy" "1" - -"onetime@^2.0.0": - "integrity" "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "mimic-fn" "^1.0.0" - -"onetime@^5.1.0": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "mimic-fn" "^2.1.0" - -"opener@^1.5.2": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" - -"optimize-css-assets-webpack-plugin@^6.0.1": - "integrity" "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==" - "resolved" "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "cssnano" "^5.0.2" - "last-call-webpack-plugin" "^3.0.0" - "postcss" "^8.2.1" - -"optionator@^0.8.1": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"optionator@^0.8.3": - "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz" - "version" "0.8.3" - dependencies: - "deep-is" "~0.1.3" - "fast-levenshtein" "~2.0.6" - "levn" "~0.3.0" - "prelude-ls" "~1.1.2" - "type-check" "~0.3.2" - "word-wrap" "~1.2.3" - -"optionator@^0.9.1": - "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==" - "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - "version" "0.9.1" - dependencies: - "deep-is" "^0.1.3" - "fast-levenshtein" "^2.0.6" - "levn" "^0.4.1" - "prelude-ls" "^1.2.1" - "type-check" "^0.4.0" - "word-wrap" "^1.2.3" - -"ora@^4.0.3": - "integrity" "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==" - "resolved" "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "chalk" "^3.0.0" - "cli-cursor" "^3.1.0" - "cli-spinners" "^2.2.0" - "is-interactive" "^1.0.0" - "log-symbols" "^3.0.0" - "mute-stream" "0.0.8" - "strip-ansi" "^6.0.0" - "wcwidth" "^1.0.1" - -"os-browserify@^0.3.0": - "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==" - "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz" - "version" "0.3.0" - -"os-tmpdir@~1.0.2": - "integrity" "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==" - "resolved" "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - "version" "1.0.2" - -"p-each-series@^2.1.0": - "integrity" "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==" - "resolved" "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz" - "version" "2.2.0" - -"p-finally@^1.0.0": - "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" - -"p-finally@^2.0.0": - "integrity" "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz" - "version" "2.0.1" - -"p-limit@^1.1.0": - "integrity" "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "p-try" "^1.0.0" - -"p-limit@^2.0.0", "p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "p-try" "^2.0.0" - -"p-locate@^2.0.0": - "integrity" "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "p-limit" "^1.1.0" - -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-limit" "^2.0.0" - -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "p-limit" "^2.2.0" - -"p-try@^1.0.0": - "integrity" "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - "version" "1.0.0" - -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" - -"pako@~1.0.5": - "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz" - "version" "1.0.11" - -"parallel-transform@^1.1.0": - "integrity" "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==" - "resolved" "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "cyclist" "^1.0.1" - "inherits" "^2.0.3" - "readable-stream" "^2.1.5" - -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "callsites" "^3.0.0" - -"parse-asn1@^5.0.0", "parse-asn1@^5.1.5": - "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==" - "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz" - "version" "5.1.6" - dependencies: - "asn1.js" "^5.2.0" - "browserify-aes" "^1.0.0" - "evp_bytestokey" "^1.0.0" - "pbkdf2" "^3.0.3" - "safe-buffer" "^5.1.1" - -"parse-json@^4.0.0": - "integrity" "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "error-ex" "^1.3.1" - "json-parse-better-errors" "^1.0.1" - -"parse-json@^5.0.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== + dependencies: + tmpl "1.0.5" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== + dependencies: + object-visit "^1.0.0" + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" + integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +mico-spinner@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/mico-spinner/-/mico-spinner-1.4.0.tgz#2d754167f9cbdfee61691b80e155b14b826df33f" + integrity sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw== + dependencies: + picocolors "^0.2.0" + +micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== + +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.1.0: + version "5.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: + version "1.2.7" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" + integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +msgpack5@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-5.3.2.tgz#679a1f197465f2d446a1d467cf678e3e83bb56dc" + integrity sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A== + dependencies: + bl "^4.0.0" + inherits "^2.0.3" + readable-stream "^3.0.0" + safe-buffer "^5.1.2" + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@^2.12.1: + version "2.17.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + +nanoid@^3.1.28, nanoid@^3.3.4: + version "3.3.4" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +neo-async@^2.5.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-dir@^0.1.17: + version "0.1.17" + resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" + integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== + dependencies: + minimatch "^3.0.2" + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" + integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-notifier@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" + integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== + dependencies: + growly "^1.3.0" + is-wsl "^2.1.1" + semver "^6.3.0" + shellwords "^0.1.1" + which "^1.3.1" + +node-releases@^2.0.6: + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +nwsapi@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" + integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.12.2, object-inspect@^1.9.0: + version "1.12.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" + integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +object.values@^1.1.5, object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optimize-css-assets-webpack-plugin@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz#7719bceabba1f3891ec3ae04efb81a1cc99cd793" + integrity sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ== + dependencies: + cssnano "^5.0.2" + last-call-webpack-plugin "^3.0.0" + postcss "^8.2.1" + +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +ora@^4.0.3: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" + integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +p-each-series@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" + integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" + integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" + integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^5.0.0, parse-json@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parse-ms@^2.1.0": - "integrity" "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==" - "resolved" "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz" - "version" "2.1.0" - -"parse5@5.1.0": - "integrity" "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz" - "version" "5.1.0" - -"pascal-case@^3.1.1": - "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" - "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"pascalcase@^0.1.1": - "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==" - "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - "version" "0.1.1" - -"path-browserify@^1.0.1": - "integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz" - "version" "1.0.1" - -"path-browserify@0.0.1": - "integrity" "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" - "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz" - "version" "0.0.1" - -"path-dirname@^1.0.0": - "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==" - "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - "version" "1.0.2" - -"path-exists@^3.0.0": - "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18= sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-key@^2.0.0", "path-key@^2.0.1": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.6": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-type@^3.0.0": - "integrity" "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "pify" "^3.0.0" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"pbkdf2@^3.0.3": - "integrity" "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==" - "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "create-hash" "^1.1.2" - "create-hmac" "^1.1.4" - "ripemd160" "^2.0.1" - "safe-buffer" "^5.0.1" - "sha.js" "^2.4.8" - -"performance-now@^2.1.0": - "integrity" "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - "resolved" "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" - "version" "2.1.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.2", "picomatch@^2.2.3": - "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - "version" "2.3.0" - -"pify@^3.0.0": - "integrity" "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==" - "resolved" "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - "version" "3.0.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pirates@^4.0.0", "pirates@^4.0.1": - "integrity" "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==" - "resolved" "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "node-modules-regexp" "^1.0.0" - -"pkg-dir@^2.0.0": - "integrity" "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "find-up" "^2.1.0" - -"pkg-dir@^3.0.0": - "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^3.0.0" - -"pkg-dir@^4.1.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pkg-dir@^4.2.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pkg-up@^2.0.0": - "integrity" "sha1-yBmscoBZpGHKscOImivjxJoATX8= sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==" - "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "find-up" "^2.1.0" - -"pn@^1.1.0": - "integrity" "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==" - "resolved" "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz" - "version" "1.1.0" - -"pnp-webpack-plugin@^1.7.0": - "integrity" "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==" - "resolved" "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "ts-pnp" "^1.1.6" - -"posix-character-classes@^0.1.0": - "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==" - "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - "version" "0.1.1" - -"postcss-calc@^8.0.0": - "integrity" "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==" - "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.0.2" - -"postcss-colormin@^5.2.0": - "integrity" "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==" - "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "browserslist" "^4.16.6" - "caniuse-api" "^3.0.0" - "colord" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-convert-values@^5.0.1": - "integrity" "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==" - "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-discard-comments@^5.0.1": - "integrity" "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==" - "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-duplicates@^5.0.1": - "integrity" "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==" - "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-empty@^5.0.1": - "integrity" "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==" - "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-overridden@^5.0.1": - "integrity" "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==" - "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz" - "version" "5.0.1" - -"postcss-merge-longhand@^5.0.2": - "integrity" "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==" - "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "css-color-names" "^1.0.1" - "postcss-value-parser" "^4.1.0" - "stylehacks" "^5.0.1" - -"postcss-merge-rules@^5.0.2": - "integrity" "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==" - "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "browserslist" "^4.16.6" - "caniuse-api" "^3.0.0" - "cssnano-utils" "^2.0.1" - "postcss-selector-parser" "^6.0.5" - "vendors" "^1.0.3" - -"postcss-minify-font-values@^5.0.1": - "integrity" "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==" - "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-minify-gradients@^5.0.2": - "integrity" "sha512-7Do9JP+wqSD6Prittitt2zDLrfzP9pqKs2EcLX7HJYxsxCOwrrcLt4x/ctQTsiOw+/8HYotAoqNkrzItL19SdQ==" - "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "colord" "^2.6" - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-minify-params@^5.0.1": - "integrity" "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==" - "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "alphanum-sort" "^1.0.2" - "browserslist" "^4.16.0" - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - "uniqs" "^2.0.0" - -"postcss-minify-selectors@^5.1.0": - "integrity" "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==" - "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "alphanum-sort" "^1.0.2" - "postcss-selector-parser" "^6.0.5" - -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" - -"postcss-modules-local-by-default@^4.0.0": - "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" - -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "postcss-selector-parser" "^6.0.4" - -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "icss-utils" "^5.0.0" - -"postcss-normalize-charset@^5.0.1": - "integrity" "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz" - "version" "5.0.1" - -"postcss-normalize-display-values@^5.0.1": - "integrity" "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==" - "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-positions@^5.0.1": - "integrity" "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-repeat-style@^5.0.1": - "integrity" "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==" - "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-string@^5.0.1": - "integrity" "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-timing-functions@^5.0.1": - "integrity" "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==" - "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-unicode@^5.0.1": - "integrity" "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "browserslist" "^4.16.0" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-url@^5.0.2": - "integrity" "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==" - "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "is-absolute-url" "^3.0.3" - "normalize-url" "^6.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-whitespace@^5.0.1": - "integrity" "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-ms@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" + integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== + +parse5@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" + integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + +pascal-case@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" + integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + +path-browserify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" + integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + +picocolors@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.1.0.tgz#e10d446a03ca5f127e9680865fbfe80ee5148266" + integrity sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw== + +picocolors@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pn@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" + integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + +pnp-webpack-plugin@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" + integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== + dependencies: + ts-pnp "^1.1.6" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" + integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz#8f97679e67cc8d08677a6519afca41edf2220894" + integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" -"postcss-ordered-values@^5.0.2": - "integrity" "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==" - "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz" - "version" "5.0.2" +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" + postcss-selector-parser "^6.0.4" -"postcss-reduce-initial@^5.0.1": - "integrity" "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==" - "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz" - "version" "5.0.1" +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - "browserslist" "^4.16.0" - "caniuse-api" "^3.0.0" + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== -"postcss-reduce-transforms@^5.0.1": - "integrity" "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==" - "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz" - "version" "5.0.1" +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" + postcss-value-parser "^4.2.0" -"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5": - "integrity" "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==" - "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" - "version" "6.0.6" +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" + postcss-value-parser "^4.2.0" -"postcss-svgo@^5.0.2": - "integrity" "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==" - "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz" - "version" "5.0.2" +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== dependencies: - "postcss-value-parser" "^4.1.0" - "svgo" "^2.3.0" + postcss-value-parser "^4.2.0" -"postcss-unique-selectors@^5.0.1": - "integrity" "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==" - "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz" - "version" "5.0.1" +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== dependencies: - "alphanum-sort" "^1.0.2" - "postcss-selector-parser" "^6.0.5" - "uniqs" "^2.0.0" + postcss-value-parser "^4.2.0" -"postcss-value-parser@^4.0.2", "postcss-value-parser@^4.1.0": - "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" - "version" "4.1.0" - -"postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.2.1", "postcss@^8.2.15", "postcss@^8.2.2": - "integrity" "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz" - "version" "8.3.7" - dependencies: - "nanocolors" "^0.1.5" - "nanoid" "^3.1.25" - "source-map-js" "^0.6.2" - -"prelude-ls@^1.2.1": - "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - "version" "1.2.1" +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" -"prelude-ls@~1.1.2": - "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==" - "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz" - "version" "1.1.2" +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" -"prettier-linter-helpers@^1.0.0": - "integrity" "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==" - "resolved" "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "fast-diff" "^1.1.2" +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" -"prettier@^1.19.1", "prettier@>=1.13.0": - "integrity" "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" - "resolved" "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" - "version" "1.19.1" - -"pretty-format@^25.2.1", "pretty-format@^25.5.0": - "integrity" "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==" - "resolved" "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz" - "version" "25.5.0" +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== dependencies: - "@jest/types" "^25.5.0" - "ansi-regex" "^5.0.0" - "ansi-styles" "^4.0.0" - "react-is" "^16.12.0" - -"pretty-ms@^7.0.1": - "integrity" "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==" - "resolved" "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "parse-ms" "^2.1.0" - -"private@~0.1.5": - "integrity" "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" - "resolved" "https://registry.npmjs.org/private/-/private-0.1.8.tgz" - "version" "0.1.8" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"process@^0.11.10": - "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI= sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==" - "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - "version" "0.11.10" - -"progress-estimator@^0.2.2": - "integrity" "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==" - "resolved" "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz" - "version" "0.2.2" - dependencies: - "chalk" "^2.4.1" - "cli-spinners" "^1.3.1" - "humanize-duration" "^3.15.3" - "log-update" "^2.3.0" - -"progress@^2.0.0": - "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - "version" "2.0.3" - -"promise-inflight@^1.0.1": - "integrity" "sha1-mEcocL8igTL8vdhoEputEsPAKeM= sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" - "resolved" "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - "version" "1.0.1" - -"prompts@^2.0.1": - "integrity" "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"prop-types@^15.7.2": - "integrity" "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" - "version" "15.7.2" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.8.1" - -"prr@~1.0.1": - "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY= sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==" - "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - "version" "1.0.1" - -"psl@^1.1.28": - "integrity" "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" - "resolved" "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" - "version" "1.8.0" - -"public-encrypt@^4.0.0": - "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==" - "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "bn.js" "^4.1.0" - "browserify-rsa" "^4.0.0" - "create-hash" "^1.1.0" - "parse-asn1" "^5.0.0" - "randombytes" "^2.0.1" - "safe-buffer" "^5.1.2" - -"pump@^2.0.0": - "integrity" "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==" - "resolved" "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"pumpify@^1.3.3": - "integrity" "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==" - "resolved" "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "duplexify" "^3.6.0" - "inherits" "^2.0.3" - "pump" "^2.0.0" - -"punycode@^1.2.4": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4= sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0", "punycode@^2.1.1": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"qs@~6.5.2": - "integrity" "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" - "version" "6.5.2" - -"querystring-es3@^0.2.0": - "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==" - "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz" - "version" "0.2.1" - -"querystring@0.2.0": - "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5", "randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"randomfill@^1.0.3": - "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==" - "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "randombytes" "^2.0.5" - "safe-buffer" "^5.1.0" - -"react-is@^16.12.0", "react-is@^16.8.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"read-pkg-up@^3.0.0": - "integrity" "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^2.0.0" - "read-pkg" "^3.0.0" - -"read-pkg-up@^7.0.1": - "integrity" "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==" - "resolved" "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "find-up" "^4.1.0" - "read-pkg" "^5.2.0" - "type-fest" "^0.8.1" - -"read-pkg@^3.0.0": - "integrity" "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "load-json-file" "^4.0.0" - "normalize-package-data" "^2.3.2" - "path-type" "^3.0.0" - -"read-pkg@^5.2.0": - "integrity" "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==" - "resolved" "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - "version" "5.2.0" + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== dependencies: - "@types/normalize-package-data" "^2.4.0" - "normalize-package-data" "^2.5.0" - "parse-json" "^5.0.0" - "type-fest" "^0.6.0" - -"readable-stream@^2.0.0": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.0.1": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.0.2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.1.5": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.2.2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.3.3": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.3.6": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.0.0", "readable-stream@^3.4.0", "readable-stream@^3.6.0": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readable-stream@~2.3.6": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@1 || 2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - 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" - -"readdirp@^2.2.1": - "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "graceful-fs" "^4.1.11" - "micromatch" "^3.1.10" - "readable-stream" "^2.0.2" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"realpath-native@^2.0.0": - "integrity" "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==" - "resolved" "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz" - "version" "2.0.0" - -"recast@^0.16.1": - "integrity" "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==" - "resolved" "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz" - "version" "0.16.2" - dependencies: - "ast-types" "0.11.7" - "esprima" "~4.0.0" - "private" "~0.1.5" - "source-map" "~0.6.1" - -"recast@^0.20.4": - "integrity" "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==" - "resolved" "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz" - "version" "0.20.5" - dependencies: - "ast-types" "0.14.2" - "esprima" "~4.0.0" - "source-map" "~0.6.1" - "tslib" "^2.0.1" - -"rechoir@^0.6.2": - "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "resolve" "^1.1.6" - -"regenerate-unicode-properties@^9.0.0": - "integrity" "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz" - "version" "9.0.0" - dependencies: - "regenerate" "^1.4.2" - -"regenerate@^1.4.2": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.13.4", "regenerator-runtime@^0.13.7": - "integrity" "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" - "version" "0.13.9" - -"regenerator-transform@^0.14.2": - "integrity" "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" - "version" "0.14.5" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz#c18b7dfb88aee24b1f8e4936541c29adbd35224e" + integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w== dependencies: - "@babel/runtime" "^7.8.4" + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" -"regex-not@^1.0.0", "regex-not@^1.0.2": - "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "extend-shallow" "^3.0.2" - "safe-regex" "^1.1.0" - -"regexp.prototype.flags@^1.3.1": - "integrity" "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==" - "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"regexpp@^2.0.1": - "integrity" "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz" - "version" "2.0.1" - -"regexpp@^3.0.0", "regexpp@^3.1.0": - "integrity" "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" - "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" - "version" "3.2.0" - -"regexpu-core@^4.7.1": - "integrity" "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz" - "version" "4.8.0" - dependencies: - "regenerate" "^1.4.2" - "regenerate-unicode-properties" "^9.0.0" - "regjsgen" "^0.5.2" - "regjsparser" "^0.7.0" - "unicode-match-property-ecmascript" "^2.0.0" - "unicode-match-property-value-ecmascript" "^2.0.0" - -"regjsgen@^0.5.2": - "integrity" "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" - "version" "0.5.2" - -"regjsparser@^0.7.0": - "integrity" "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz" - "version" "0.7.0" - dependencies: - "jsesc" "~0.5.0" - -"remove-trailing-separator@^1.0.1": - "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8= sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" - "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - "version" "1.1.0" - -"repeat-element@^1.1.2": - "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - "version" "1.1.4" - -"repeat-string@^1.6.1": - "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc= sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"request-promise-core@1.1.4": - "integrity" "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==" - "resolved" "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz" - "version" "1.1.4" - dependencies: - "lodash" "^4.17.19" - -"request-promise-native@^1.0.7": - "integrity" "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==" - "resolved" "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz" - "version" "1.0.9" - dependencies: - "request-promise-core" "1.1.4" - "stealthy-require" "^1.1.1" - "tough-cookie" "^2.3.3" - -"request@^2.34", "request@^2.88.0": - "integrity" "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==" - "resolved" "https://registry.npmjs.org/request/-/request-2.88.2.tgz" - "version" "2.88.2" - dependencies: - "aws-sign2" "~0.7.0" - "aws4" "^1.8.0" - "caseless" "~0.12.0" - "combined-stream" "~1.0.6" - "extend" "~3.0.2" - "forever-agent" "~0.6.1" - "form-data" "~2.3.2" - "har-validator" "~5.1.3" - "http-signature" "~1.2.0" - "is-typedarray" "~1.0.0" - "isstream" "~0.1.2" - "json-stringify-safe" "~5.0.1" - "mime-types" "~2.1.19" - "oauth-sign" "~0.9.0" - "performance-now" "^2.1.0" - "qs" "~6.5.2" - "safe-buffer" "^5.1.2" - "tough-cookie" "~2.5.0" - "tunnel-agent" "^0.6.0" - "uuid" "^3.3.2" - -"require-directory@^2.1.1": - "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I= sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" - -"require-from-string@^2.0.2": - "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" - "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - "version" "2.0.2" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"resolve-cwd@^3.0.0": - "integrity" "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "resolve-from" "^5.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-from@^5.0.0": - "integrity" "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" - "version" "5.0.0" - -"resolve-url@^0.2.1": - "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve@^1.1.6", "resolve@^1.10.0", "resolve@^1.11.0", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.17.0", "resolve@^1.20.0": - "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "is-core-module" "^2.2.0" - "path-parse" "^1.0.6" - -"resolve@^2.0.0-next.3": - "integrity" "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz" - "version" "2.0.0-next.3" - dependencies: - "is-core-module" "^2.2.0" - "path-parse" "^1.0.6" - -"resolve@1.1.7": - "integrity" "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz" - "version" "1.1.7" - -"resolve@1.17.0": - "integrity" "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz" - "version" "1.17.0" - dependencies: - "path-parse" "^1.0.6" - -"restore-cursor@^2.0.0": - "integrity" "sha1-n37ih/gv0ybU/RYpI9YhKe7g368= sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "onetime" "^2.0.0" - "signal-exit" "^3.0.2" - -"restore-cursor@^3.1.0": - "integrity" "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - "resolved" "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "onetime" "^5.1.0" - "signal-exit" "^3.0.2" - -"ret@~0.1.10": - "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - "version" "0.1.15" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rimraf@^2.5.4", "rimraf@^2.6.3", "rimraf@~2.6.2", "rimraf@2.6.3": - "integrity" "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "glob" "^7.1.3" - -"rimraf@^3.0.0": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.11" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" + integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== dependencies: - "glob" "^7.1.3" + cssesc "^3.0.0" + util-deprecate "^1.0.2" -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== dependencies: - "glob" "^7.1.3" + postcss-value-parser "^4.2.0" + svgo "^2.7.0" -"ripemd160@^2.0.0", "ripemd160@^2.0.1": - "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==" - "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz" - "version" "2.0.2" +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== dependencies: - "hash-base" "^3.0.0" - "inherits" "^2.0.1" + postcss-selector-parser "^6.0.5" -"rollup-plugin-sourcemaps@^0.6.2": - "integrity" "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==" - "resolved" "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz" - "version" "0.6.3" +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.2.1, postcss@^8.2.15: + version "8.4.20" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" + integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +pretty-format@^25.2.1, pretty-format@^25.5.0: + version "25.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" + integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== + dependencies: + "@jest/types" "^25.5.0" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^16.12.0" + +pretty-format@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" + integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== + dependencies: + "@jest/schemas" "^29.0.0" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +pretty-ms@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" + integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== + dependencies: + parse-ms "^2.1.0" + +private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress-estimator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/progress-estimator/-/progress-estimator-0.2.2.tgz#1c3947a5782ea56e40c8fccc290ac7ceeb1b91cb" + integrity sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA== + dependencies: + chalk "^2.4.1" + cli-spinners "^1.3.1" + humanize-duration "^3.15.3" + log-update "^2.3.0" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +psl@^1.1.28: + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" + integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +react-is@^16.12.0, react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +realpath-native@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" + integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== + +recast@^0.16.1: + version "0.16.2" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.2.tgz#3796ebad5fe49ed85473b479cd6df554ad725dc2" + integrity sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A== + dependencies: + ast-types "0.11.7" + esprima "~4.0.0" + private "~0.1.5" + source-map "~0.6.1" + +recast@^0.20.4: + version "0.20.5" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" + integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== + dependencies: + ast-types "0.14.2" + esprima "~4.0.0" + source-map "~0.6.1" + tslib "^2.0.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.7: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" + integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + functions-have-names "^1.2.2" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== + dependencies: + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsgen "^0.7.1" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsgen@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" + integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== + +request-promise-core@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" + integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== + dependencies: + lodash "^4.17.19" + +request-promise-native@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" + integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== + dependencies: + request-promise-core "1.1.4" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + +request@^2.88.0: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== + +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + +resolve@1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0, resolve@^1.22.0: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.3: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@2.6.3, rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rollup-plugin-sourcemaps@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" + integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== dependencies: "@rollup/pluginutils" "^3.0.9" - "source-map-resolve" "^0.6.0" + source-map-resolve "^0.6.0" -"rollup-plugin-terser@^5.1.2": - "integrity" "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==" - "resolved" "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz" - "version" "5.3.1" +rollup-plugin-terser@^5.1.2: + version "5.3.1" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" + integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== dependencies: "@babel/code-frame" "^7.5.5" - "jest-worker" "^24.9.0" - "rollup-pluginutils" "^2.8.2" - "serialize-javascript" "^4.0.0" - "terser" "^4.6.2" + jest-worker "^24.9.0" + rollup-pluginutils "^2.8.2" + serialize-javascript "^4.0.0" + terser "^4.6.2" -"rollup-plugin-typescript2@^0.27.3": - "integrity" "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==" - "resolved" "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz" - "version" "0.27.3" +rollup-plugin-typescript2@^0.27.3: + version "0.27.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" + integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== dependencies: "@rollup/pluginutils" "^3.1.0" - "find-cache-dir" "^3.3.1" - "fs-extra" "8.1.0" - "resolve" "1.17.0" - "tslib" "2.0.1" + find-cache-dir "^3.3.1" + fs-extra "8.1.0" + resolve "1.17.0" + tslib "2.0.1" -"rollup-pluginutils@^2.8.2": - "integrity" "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==" - "resolved" "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" - "version" "2.8.2" +rollup-pluginutils@^2.8.2: + version "2.8.2" + resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" + integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== dependencies: - "estree-walker" "^0.6.1" + estree-walker "^0.6.1" -"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^1.32.1", "rollup@>=0.31.2", "rollup@>=0.66.0 <3", "rollup@>=1.26.3": - "integrity" "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==" - "resolved" "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz" - "version" "1.32.1" +rollup@^1.32.1: + version "1.32.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" + integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== dependencies: "@types/estree" "*" "@types/node" "*" - "acorn" "^7.1.0" + acorn "^7.1.0" -"rsvp@^4.8.4": - "integrity" "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" - "resolved" "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz" - "version" "4.8.5" +rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== -"run-async@^2.4.0": - "integrity" "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - "resolved" "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" - "version" "2.4.1" +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: - "queue-microtask" "^1.2.2" + queue-microtask "^1.2.2" -"run-queue@^1.0.0", "run-queue@^1.0.3": - "integrity" "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==" - "resolved" "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz" - "version" "1.0.3" +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" + integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== dependencies: - "aproba" "^1.1.1" + aproba "^1.1.1" -"rxjs@^6.6.0": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: - "tslib" "^1.9.0" + tslib "^1.9.0" -"sade@^1.4.2": - "integrity" "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==" - "resolved" "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz" - "version" "1.7.4" +sade@^1.4.2: + version "1.8.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: - "mri" "^1.1.0" + mri "^1.1.0" -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -"safe-buffer@~5.1.0", "safe-buffer@~5.1.1": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" -"safe-regex@^1.1.0": - "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4= sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - "version" "1.1.0" +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== dependencies: - "ret" "~0.1.10" + ret "~0.1.10" -"safer-buffer@^2.0.2", "safer-buffer@^2.1.0", "safer-buffer@>= 2.1.2 < 3", "safer-buffer@~2.1.0": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"sane@^4.0.3": - "integrity" "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==" - "resolved" "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz" - "version" "4.1.0" +sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== dependencies: "@cnakazawa/watch" "^1.0.3" - "anymatch" "^2.0.0" - "capture-exit" "^2.0.0" - "exec-sh" "^0.3.2" - "execa" "^1.0.0" - "fb-watchman" "^2.0.0" - "micromatch" "^3.1.4" - "minimist" "^1.1.1" - "walker" "~1.0.5" - -"saxes@^3.1.9": - "integrity" "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==" - "resolved" "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz" - "version" "3.1.11" - dependencies: - "xmlchars" "^2.1.1" - -"schema-utils@^1.0.0": - "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "ajv" "^6.1.0" - "ajv-errors" "^1.0.0" - "ajv-keywords" "^3.1.0" - -"schema-utils@^3.0.0": - "integrity" "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz" - "version" "3.1.1" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + +saxes@^3.1.9: + version "3.1.11" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" + integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + dependencies: + xmlchars "^2.1.1" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: "@types/json-schema" "^7.0.8" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"semver@^5.5.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.0.0", "semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.1.1", "semver@^7.2.1", "semver@^7.3.2", "semver@^7.3.5", "semver@7.3.5": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - -"semver@2 || 3 || 4 || 5": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@6.x": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"serialize-javascript@^4.0.0": - "integrity" "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "randombytes" "^2.1.0" - -"set-blocking@^2.0.0": - "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc= sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-value@^2.0.0", "set-value@^2.0.1": - "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" - "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "is-extendable" "^0.1.1" - "is-plain-object" "^2.0.3" - "split-string" "^3.0.1" - -"setimmediate@^1.0.4": - "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"sha.js@^2.4.0", "sha.js@^2.4.8": - "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==" - "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz" - "version" "2.4.11" - dependencies: - "inherits" "^2.0.1" - "safe-buffer" "^5.0.1" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^1.2.0": - "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shelljs@^0.8.3": - "integrity" "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==" - "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "glob" "^7.0.0" - "interpret" "^1.0.0" - "rechoir" "^0.6.2" - -"shellwords@^0.1.1": - "integrity" "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==" - "resolved" "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz" - "version" "0.1.1" - -"side-channel@^1.0.4": - "integrity" "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==" - "resolved" "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.0" - "get-intrinsic" "^1.0.2" - "object-inspect" "^1.9.0" - -"signal-exit@^3.0.0", "signal-exit@^3.0.2": - "integrity" "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz" - "version" "3.0.4" - -"sirv@^1.0.7": - "integrity" "sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==" - "resolved" "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz" - "version" "1.0.17" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== dependencies: "@polka/url" "^1.0.0-next.20" - "mime" "^2.3.1" - "totalist" "^1.0.0" - -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" - -"size-limit@^5.0.4", "size-limit@5.0.4": - "integrity" "sha512-xAe8sZ7MZe48glBetVFG3DlfMNXIS2V/PQsy9RPj8PRBCvIg5ESLFZQxJnxf7jsp47sKBUO+XVvablL3S4szog==" - "resolved" "https://registry.npmjs.org/size-limit/-/size-limit-5.0.4.tgz" - "version" "5.0.4" - dependencies: - "bytes-iec" "^3.1.1" - "chokidar" "^3.5.2" - "ci-job-number" "^1.2.2" - "globby" "^11.0.4" - "lilconfig" "^2.0.3" - "mico-spinner" "^1.2.2" - "nanocolors" "^0.1.0" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"slice-ansi@^2.1.0": - "integrity" "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "astral-regex" "^1.0.0" - "is-fullwidth-code-point" "^2.0.0" - -"slice-ansi@^4.0.0": - "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==" - "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "astral-regex" "^2.0.0" - "is-fullwidth-code-point" "^3.0.0" - -"snapdragon-node@^2.0.1": - "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-property" "^1.0.0" - "isobject" "^3.0.0" - "snapdragon-util" "^3.0.1" - -"snapdragon-util@^3.0.1": - "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^3.2.0" - -"snapdragon@^0.8.1": - "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - "version" "0.8.2" - dependencies: - "base" "^0.11.1" - "debug" "^2.2.0" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "map-cache" "^0.2.2" - "source-map" "^0.5.6" - "source-map-resolve" "^0.5.0" - "use" "^3.1.0" - -"source-list-map@^2.0.0": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-js@^0.6.2": - "integrity" "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" - "version" "0.6.2" - -"source-map-resolve@^0.5.0": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - "resolve-url" "^0.2.1" - "source-map-url" "^0.4.0" - "urix" "^0.1.0" - -"source-map-resolve@^0.6.0": - "integrity" "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - -"source-map-support@^0.5.16", "source-map-support@^0.5.6", "source-map-support@~0.5.12": - "integrity" "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz" - "version" "0.5.20" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.5.0": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.5.6": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0", "source-map@^0.6.1", "source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.7.3": - "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - "version" "0.7.3" - -"sourcemap-codec@^1.4.4": - "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" - "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - "version" "1.4.8" - -"spdx-correct@^3.0.0": - "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" - "resolved" "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "spdx-expression-parse" "^3.0.0" - "spdx-license-ids" "^3.0.0" - -"spdx-exceptions@^2.1.0": - "integrity" "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - "resolved" "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - "version" "2.3.0" - -"spdx-expression-parse@^3.0.0": - "integrity" "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==" - "resolved" "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "spdx-exceptions" "^2.1.0" - "spdx-license-ids" "^3.0.0" - -"spdx-license-ids@^3.0.0": - "integrity" "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" - "resolved" "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz" - "version" "3.0.10" - -"split-string@^3.0.1", "split-string@^3.0.2": - "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend-shallow" "^3.0.0" - -"sprintf-js@~1.0.2": - "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"sshpk@^1.7.0": - "integrity" "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==" - "resolved" "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" - "version" "1.16.1" - dependencies: - "asn1" "~0.2.3" - "assert-plus" "^1.0.0" - "bcrypt-pbkdf" "^1.0.0" - "dashdash" "^1.12.0" - "ecc-jsbn" "~0.1.1" - "getpass" "^0.1.1" - "jsbn" "~0.1.0" - "safer-buffer" "^2.0.2" - "tweetnacl" "~0.14.0" - -"ssri@^6.0.1": - "integrity" "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==" - "resolved" "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "figgy-pudding" "^3.5.1" - -"stable@^0.1.8": - "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - "version" "0.1.8" - -"stack-utils@^1.0.1": - "integrity" "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==" - "resolved" "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "escape-string-regexp" "^2.0.0" - -"static-extend@^0.1.1": - "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==" - "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "define-property" "^0.2.5" - "object-copy" "^0.1.0" - -"stealthy-require@^1.1.1": - "integrity" "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==" - "resolved" "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz" - "version" "1.1.1" - -"stream-browserify@^2.0.1": - "integrity" "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==" - "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "inherits" "~2.0.1" - "readable-stream" "^2.0.2" - -"stream-each@^1.1.0": - "integrity" "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==" - "resolved" "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz" - "version" "1.2.3" - dependencies: - "end-of-stream" "^1.1.0" - "stream-shift" "^1.0.0" - -"stream-http@^2.7.2": - "integrity" "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==" - "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz" - "version" "2.8.3" - dependencies: - "builtin-status-codes" "^3.0.0" - "inherits" "^2.0.1" - "readable-stream" "^2.3.6" - "to-arraybuffer" "^1.0.0" - "xtend" "^4.0.0" - -"stream-shift@^1.0.0": - "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" - "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" - "version" "1.0.1" - -"string_decoder@^1.0.0", "string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string-length@^3.1.0": - "integrity" "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==" - "resolved" "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "astral-regex" "^1.0.0" - "strip-ansi" "^5.2.0" - -"string-width@^2.1.1": - "integrity" "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^4.0.0" - -"string-width@^3.0.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string-width@^4.1.0", "string-width@^4.2.0": - "integrity" "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.1" - -"string.prototype.matchall@^4.0.5": - "integrity" "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==" - "resolved" "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz" - "version" "4.0.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.2" - "get-intrinsic" "^1.1.1" - "has-symbols" "^1.0.2" - "internal-slot" "^1.0.3" - "regexp.prototype.flags" "^1.3.1" - "side-channel" "^1.0.4" - -"string.prototype.trimend@^1.0.4": - "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"string.prototype.trimstart@^1.0.4": - "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"strip-ansi@^4.0.0": - "integrity" "sha1-qEeQIusaw2iocTibY1JixQXuNo8= sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "ansi-regex" "^3.0.0" - -"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0", "strip-ansi@^6.0.1": - "integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - "version" "6.0.1" - dependencies: - "ansi-regex" "^5.0.1" - -"strip-bom@^3.0.0": - "integrity" "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - "version" "3.0.0" + mrmime "^1.0.0" + totalist "^1.0.0" + +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + +size-limit@^5.0.4: + version "5.0.5" + resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-5.0.5.tgz#860643aade5dae4bd9afc72ab0ef081e987e5377" + integrity sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg== + dependencies: + bytes-iec "^3.1.1" + chokidar "^3.5.2" + ci-job-number "^1.2.2" + globby "^11.0.4" + lilconfig "^2.0.3" + mico-spinner "^1.3.0" + picocolors "^0.1.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sshpk@^1.7.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" + integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + dependencies: + figgy-pudding "^3.5.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stack-utils@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" + integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== + dependencies: + escape-string-regexp "^2.0.0" + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== + dependencies: + escape-string-regexp "^2.0.0" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" + integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" + integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" + integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + +string-length@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" + integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== + dependencies: + astral-regex "^1.0.0" + strip-ansi "^5.2.0" + +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string_decoder@^1.0.0, string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +style-loader@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" + integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" -"strip-bom@^4.0.0": - "integrity" "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - "resolved" "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" - "version" "4.0.0" - -"strip-eof@^1.0.0": - "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==" - "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - "version" "1.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-json-comments@^3.0.1", "strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"style-loader@^2.0.0": - "integrity" "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==" - "resolved" "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"stylehacks@^5.0.1": - "integrity" "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==" - "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "browserslist" "^4.16.0" - "postcss-selector-parser" "^6.0.4" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^6.1.0": - "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - "version" "6.1.0" +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.0.0", "supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: - "has-flag" "^4.0.0" + has-flag "^4.0.0" -"supports-hyperlinks@^2.0.0": - "integrity" "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==" - "resolved" "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz" - "version" "2.2.0" +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - "has-flag" "^4.0.0" - "supports-color" "^7.0.0" + has-flag "^4.0.0" -"svgo@^2.3.0": - "integrity" "sha512-aDLsGkre4fTDCWvolyW+fs8ZJFABpzLXbtdK1y71CKnHzAnpDxKXPj2mNKj+pyOXUCzFHzuxRJ94XOFygOWV3w==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.7.0.tgz" - "version" "2.7.0" +supports-hyperlinks@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" + integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== dependencies: "@trysound/sax" "0.2.0" - "commander" "^7.2.0" - "css-select" "^4.1.3" - "css-tree" "^1.1.3" - "csso" "^4.2.0" - "nanocolors" "^0.1.12" - "stable" "^0.1.8" - -"symbol-tree@^3.2.2": - "integrity" "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" - "resolved" "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz" - "version" "3.2.4" - -"table@^5.2.3": - "integrity" "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==" - "resolved" "https://registry.npmjs.org/table/-/table-5.4.6.tgz" - "version" "5.4.6" - dependencies: - "ajv" "^6.10.2" - "lodash" "^4.17.14" - "slice-ansi" "^2.1.0" - "string-width" "^3.0.0" - -"table@^6.0.9": - "integrity" "sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==" - "resolved" "https://registry.npmjs.org/table/-/table-6.7.1.tgz" - "version" "6.7.1" - dependencies: - "ajv" "^8.0.1" - "lodash.clonedeep" "^4.5.0" - "lodash.truncate" "^4.4.2" - "slice-ansi" "^4.0.0" - "string-width" "^4.2.0" - "strip-ansi" "^6.0.0" - -"tapable@^1.0.0", "tapable@^1.1.3": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"temp@^0.8.1", "temp@^0.8.4": - "integrity" "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==" - "resolved" "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "rimraf" "~2.6.2" - -"terminal-link@^2.0.0": - "integrity" "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==" - "resolved" "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "ansi-escapes" "^4.2.1" - "supports-hyperlinks" "^2.0.0" - -"terser-webpack-plugin@^1.4.3": - "integrity" "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz" - "version" "1.4.5" - dependencies: - "cacache" "^12.0.2" - "find-cache-dir" "^2.1.0" - "is-wsl" "^1.1.0" - "schema-utils" "^1.0.0" - "serialize-javascript" "^4.0.0" - "source-map" "^0.6.1" - "terser" "^4.1.2" - "webpack-sources" "^1.4.0" - "worker-farm" "^1.7.0" - -"terser@^4.1.2", "terser@^4.6.2": - "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" - "version" "4.8.0" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.6.1" - "source-map-support" "~0.5.12" - -"test-exclude@^6.0.0": - "integrity" "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==" - "resolved" "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" - "version" "6.0.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +symbol-tree@^3.2.2: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + 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" + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +temp@^0.8.1, temp@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + +terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + +terser-webpack-plugin@^1.4.3: + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2, terser@^4.6.2: + version "4.8.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" + integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: "@istanbuljs/schema" "^0.1.2" - "glob" "^7.1.4" - "minimatch" "^3.0.4" - -"text-table@^0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"throat@^4.1.0": - "integrity" "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==" - "resolved" "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz" - "version" "4.1.0" - -"throat@^5.0.0": - "integrity" "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==" - "resolved" "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz" - "version" "5.0.0" - -"through@^2.3.6": - "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - "version" "2.3.8" - -"through2@^2.0.0": - "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==" - "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - "version" "2.0.5" - dependencies: - "readable-stream" "~2.3.6" - "xtend" "~4.0.1" - -"timers-browserify@^2.0.4": - "integrity" "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==" - "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz" - "version" "2.0.12" - dependencies: - "setimmediate" "^1.0.4" - -"timsort@^0.3.0": - "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" - "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" - "version" "0.3.0" - -"tiny-glob@^0.2.6": - "integrity" "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==" - "resolved" "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz" - "version" "0.2.9" - dependencies: - "globalyzer" "0.1.0" - "globrex" "^0.1.2" - -"tmp@^0.0.33": - "integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==" - "resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" - "version" "0.0.33" - dependencies: - "os-tmpdir" "~1.0.2" - -"tmpl@1.0.x": - "integrity" "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - "resolved" "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" - "version" "1.0.5" - -"to-arraybuffer@^1.0.0": - "integrity" "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==" - "resolved" "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz" - "version" "1.0.1" - -"to-fast-properties@^2.0.0": - "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-object-path@^0.3.0": - "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "kind-of" "^3.0.2" - -"to-regex-range@^2.1.0": - "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"to-regex@^3.0.1", "to-regex@^3.0.2": - "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "regex-not" "^1.0.2" - "safe-regex" "^1.1.0" - -"totalist@^1.0.0": - "integrity" "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" - "resolved" "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" - "version" "1.1.0" - -"tough-cookie@^2.3.3": - "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "psl" "^1.1.28" - "punycode" "^2.1.1" - -"tough-cookie@^3.0.1": - "integrity" "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "ip-regex" "^2.1.0" - "psl" "^1.1.28" - "punycode" "^2.1.1" - -"tough-cookie@~2.5.0": - "integrity" "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==" - "resolved" "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "psl" "^1.1.28" - "punycode" "^2.1.1" - -"tr46@^1.0.1": - "integrity" "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - "resolved" "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "punycode" "^2.1.0" - -"ts-jest@^25.3.1": - "integrity" "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==" - "resolved" "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz" - "version" "25.5.1" - dependencies: - "bs-logger" "0.x" - "buffer-from" "1.x" - "fast-json-stable-stringify" "2.x" - "json5" "2.x" - "lodash.memoize" "4.x" - "make-error" "1.x" - "micromatch" "4.x" - "mkdirp" "0.x" - "semver" "6.x" - "yargs-parser" "18.x" - -"ts-migrate-plugins@^0.1.23": - "integrity" "sha512-xnExNdslzRVmMBo0wFJxWOxhcZHMD4dRj1Fc+1bj3nfC2x3OA21qhAZfOlTbyoCbHlh1WGLJiqAMQ0r0HOQWZA==" - "resolved" "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.23.tgz" - "version" "0.1.23" - dependencies: - "eslint" "^7.14.0" - "jscodeshift" "^0.13.0" - "json-schema" "^0.3.0" - "ts-migrate-server" "^0.1.23" - "typescript" "4.2.4" - -"ts-migrate-server@^0.1.23": - "integrity" "sha512-q4wxqFqS3MI4DDtQ0sxfmeUjRfFdz2wZEF7em9uILs5V3n4ldrT6EAITwJKT61hRrRQvXrxmtp1sboo2XZlMyA==" - "resolved" "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.23.tgz" - "version" "0.1.23" - dependencies: - "@ts-morph/bootstrap" "^0.9.1" - "pretty-ms" "^7.0.1" - "typescript" "4.2.4" - "updatable-log" "^0.2.0" - -"ts-migrate@^0.1.23": - "integrity" "sha512-YzMcoVQVOt1bQYMJgO1LtNPXrugzsgZ7vIWm39mrsvUh/PIwgmSE8hU6FI/MkF36j1JS2O303KzF3LDYB3YSgg==" - "resolved" "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.23.tgz" - "version" "0.1.23" - dependencies: - "create-jest-runner" "^0.5.3" - "json5" "^2.1.1" - "json5-writer" "^0.1.8" - "ts-migrate-plugins" "^0.1.23" - "ts-migrate-server" "^0.1.23" - "typescript" "4.2.4" - "updatable-log" "^0.2.0" - "yargs" "^15.0.2" - -"ts-pnp@^1.1.6": - "integrity" "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" - "resolved" "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz" - "version" "1.2.0" - -"tsconfig-paths@^3.11.0": - "integrity" "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==" - "resolved" "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz" - "version" "3.11.0" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +throat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" + integrity sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA== + +throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + dependencies: + setimmediate "^1.0.4" + +tiny-glob@^0.2.6: + version "0.2.9" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" + integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== + dependencies: + globalyzer "0.1.0" + globrex "^0.1.2" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +ts-jest@^25.3.1: + version "25.5.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" + integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== + dependencies: + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + json5 "2.x" + lodash.memoize "4.x" + make-error "1.x" + micromatch "4.x" + mkdirp "0.x" + semver "6.x" + yargs-parser "18.x" + +ts-migrate-plugins@^0.1.35: + version "0.1.35" + resolved "https://registry.yarnpkg.com/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz#96579e07ba8ffa31ff85dfbdd0220482e641f654" + integrity sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ== + dependencies: + eslint "^7.14.0" + jscodeshift "^0.13.0" + json-schema "^0.4.0" + ts-migrate-server "^0.1.33" + +ts-migrate-server@^0.1.33: + version "0.1.33" + resolved "https://registry.yarnpkg.com/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz#7fc38ac9ce6642399dbfbcb8e46a26e45caea8c4" + integrity sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g== + dependencies: + "@ts-morph/bootstrap" "^0.16.0" + pretty-ms "^7.0.1" + updatable-log "^0.2.0" + +ts-migrate@^0.1.23: + version "0.1.35" + resolved "https://registry.yarnpkg.com/ts-migrate/-/ts-migrate-0.1.35.tgz#705d65e54b9d4a5a72ee11e276bb5a5856a4b340" + integrity sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w== + dependencies: + create-jest-runner "^0.5.3" + json5 "^2.1.1" + json5-writer "^0.1.8" + ts-migrate-plugins "^0.1.35" + ts-migrate-server "^0.1.33" + updatable-log "^0.2.0" + yargs "^15.0.2" + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" + integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + +tsconfig-paths@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" + integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== dependencies: "@types/json5" "^0.0.29" - "json5" "^1.0.1" - "minimist" "^1.2.0" - "strip-bom" "^3.0.0" + json5 "^1.0.1" + minimist "^1.2.6" + strip-bom "^3.0.0" -"tsdx@^0.14.1": - "integrity" "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==" - "resolved" "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz" - "version" "0.14.1" +tsdx@^0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/tsdx/-/tsdx-0.14.1.tgz#8771d509b6fc523ad971bae3a63ebe3a88355ab3" + integrity sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w== dependencies: "@babel/core" "^7.4.4" "@babel/helper-module-imports" "^7.0.0" @@ -8716,658 +9237,688 @@ "@types/jest" "^25.2.1" "@typescript-eslint/eslint-plugin" "^2.12.0" "@typescript-eslint/parser" "^2.12.0" - "ansi-escapes" "^4.2.1" - "asyncro" "^3.0.0" - "babel-eslint" "^10.0.3" - "babel-plugin-annotate-pure-calls" "^0.4.0" - "babel-plugin-dev-expression" "^0.2.1" - "babel-plugin-macros" "^2.6.1" - "babel-plugin-polyfill-regenerator" "^0.0.4" - "babel-plugin-transform-rename-import" "^2.3.0" - "camelcase" "^6.0.0" - "chalk" "^4.0.0" - "enquirer" "^2.3.4" - "eslint" "^6.1.0" - "eslint-config-prettier" "^6.0.0" - "eslint-config-react-app" "^5.2.1" - "eslint-plugin-flowtype" "^3.13.0" - "eslint-plugin-import" "^2.18.2" - "eslint-plugin-jsx-a11y" "^6.2.3" - "eslint-plugin-prettier" "^3.1.0" - "eslint-plugin-react" "^7.14.3" - "eslint-plugin-react-hooks" "^2.2.0" - "execa" "^4.0.3" - "fs-extra" "^9.0.0" - "jest" "^25.3.0" - "jest-watch-typeahead" "^0.5.0" - "jpjs" "^1.2.1" - "lodash.merge" "^4.6.2" - "ora" "^4.0.3" - "pascal-case" "^3.1.1" - "prettier" "^1.19.1" - "progress-estimator" "^0.2.2" - "regenerator-runtime" "^0.13.7" - "rollup" "^1.32.1" - "rollup-plugin-sourcemaps" "^0.6.2" - "rollup-plugin-terser" "^5.1.2" - "rollup-plugin-typescript2" "^0.27.3" - "sade" "^1.4.2" - "semver" "^7.1.1" - "shelljs" "^0.8.3" - "tiny-glob" "^0.2.6" - "ts-jest" "^25.3.1" - "tslib" "^1.9.3" - "typescript" "^3.7.3" - -"tslib@^1.8.1": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^1.9.3": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.0.1", "tslib@^2.0.3", "tslib@^2.3.1": - "integrity" "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - "version" "2.3.1" - -"tslib@2.0.1": - "integrity" "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz" - "version" "2.0.1" - -"tsutils@^3.17.1": - "integrity" "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==" - "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - "version" "3.21.0" - dependencies: - "tslib" "^1.8.1" - -"tty-browserify@0.0.0": - "integrity" "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==" - "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz" - "version" "0.0.0" - -"tunnel-agent@^0.6.0": - "integrity" "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==" - "resolved" "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "safe-buffer" "^5.0.1" - -"tweetnacl@^0.14.3", "tweetnacl@~0.14.0": - "integrity" "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" - "resolved" "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" - "version" "0.14.5" - -"type-check@^0.4.0", "type-check@~0.4.0": - "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "prelude-ls" "^1.2.1" - -"type-check@~0.3.2": - "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==" - "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz" - "version" "0.3.2" - dependencies: - "prelude-ls" "~1.1.2" - -"type-detect@4.0.8": - "integrity" "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - "resolved" "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" - "version" "4.0.8" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-fest@^0.6.0": - "integrity" "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - "version" "0.6.0" - -"type-fest@^0.8.1": - "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - "version" "0.8.1" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typedarray@^0.0.6": - "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - "version" "0.0.6" - -"typescript@^3.7.3", "typescript@>=3.4 <4.0": - "integrity" "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz" - "version" "3.9.10" - -"typescript@^4.4.3", "typescript@>=2.4.0", "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": - "integrity" "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz" - "version" "4.4.3" - -"typescript@4.2.4": - "integrity" "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz" - "version" "4.2.4" - -"unbox-primitive@^1.0.1": - "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "function-bind" "^1.1.1" - "has-bigints" "^1.0.1" - "has-symbols" "^1.0.2" - "which-boxed-primitive" "^1.0.2" - -"unicode-canonical-property-names-ecmascript@^2.0.0": - "integrity" "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-match-property-ecmascript@^2.0.0": - "integrity" "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "unicode-canonical-property-names-ecmascript" "^2.0.0" - "unicode-property-aliases-ecmascript" "^2.0.0" - -"unicode-match-property-value-ecmascript@^2.0.0": - "integrity" "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"unicode-property-aliases-ecmascript@^2.0.0": - "integrity" "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" - "version" "2.0.0" - -"union-value@^1.0.0": - "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" - "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "arr-union" "^3.1.0" - "get-value" "^2.0.6" - "is-extendable" "^0.1.1" - "set-value" "^2.0.1" - -"uniqs@^2.0.0": - "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI= sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" - "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" - "version" "2.0.0" - -"unique-filename@^1.1.1": - "integrity" "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==" - "resolved" "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "unique-slug" "^2.0.0" - -"unique-slug@^2.0.0": - "integrity" "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==" - "resolved" "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "imurmurhash" "^0.1.4" - -"universalify@^0.1.0": - "integrity" "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - "version" "0.1.2" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unset-value@^1.0.0": - "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==" - "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-value" "^0.3.1" - "isobject" "^3.0.0" - -"upath@^1.1.1": - "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - "version" "1.2.0" - -"updatable-log@^0.2.0": - "integrity" "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==" - "resolved" "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "chalk" "^2.4.2" - "figures" "^3.0.0" - "log-update" "^3.3.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url@^0.11.0": - "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"urlsafe-base64@^1.0.0": - "integrity" "sha1-I/iQaabGL0bPOh07ABac77kL4MY= sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" - "resolved" "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz" - "version" "1.0.0" - -"use@^3.1.0": - "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - "version" "3.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util@^0.11.0": - "integrity" "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.11.1.tgz" - "version" "0.11.1" - dependencies: - "inherits" "2.0.3" - -"util@0.10.3": - "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk= sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==" - "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz" - "version" "0.10.3" - dependencies: - "inherits" "2.0.1" - -"uuid@^3.3.2": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"v8-compile-cache@^2.0.3": - "integrity" "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==" - "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" - "version" "2.3.0" - -"v8-to-istanbul@^4.1.3": - "integrity" "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==" - "resolved" "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz" - "version" "4.1.4" + ansi-escapes "^4.2.1" + asyncro "^3.0.0" + babel-eslint "^10.0.3" + babel-plugin-annotate-pure-calls "^0.4.0" + babel-plugin-dev-expression "^0.2.1" + babel-plugin-macros "^2.6.1" + babel-plugin-polyfill-regenerator "^0.0.4" + babel-plugin-transform-rename-import "^2.3.0" + camelcase "^6.0.0" + chalk "^4.0.0" + enquirer "^2.3.4" + eslint "^6.1.0" + eslint-config-prettier "^6.0.0" + eslint-config-react-app "^5.2.1" + eslint-plugin-flowtype "^3.13.0" + eslint-plugin-import "^2.18.2" + eslint-plugin-jsx-a11y "^6.2.3" + eslint-plugin-prettier "^3.1.0" + eslint-plugin-react "^7.14.3" + eslint-plugin-react-hooks "^2.2.0" + execa "^4.0.3" + fs-extra "^9.0.0" + jest "^25.3.0" + jest-watch-typeahead "^0.5.0" + jpjs "^1.2.1" + lodash.merge "^4.6.2" + ora "^4.0.3" + pascal-case "^3.1.1" + prettier "^1.19.1" + progress-estimator "^0.2.2" + regenerator-runtime "^0.13.7" + rollup "^1.32.1" + rollup-plugin-sourcemaps "^0.6.2" + rollup-plugin-terser "^5.1.2" + rollup-plugin-typescript2 "^0.27.3" + sade "^1.4.2" + semver "^7.1.1" + shelljs "^0.8.3" + tiny-glob "^0.2.6" + ts-jest "^25.3.1" + tslib "^1.9.3" + typescript "^3.7.3" + +tslib@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== + +tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.1, tslib@^2.0.3, tslib@^2.3.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" + integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript@^3.7.3: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typescript@^4.4.3: + version "4.9.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" + integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +updatable-log@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/updatable-log/-/updatable-log-0.2.0.tgz#8adfe35dd744bd87e8bf217425e4e8bb81b6f3c6" + integrity sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ== + dependencies: + chalk "^2.4.2" + figures "^3.0.0" + log-update "^3.3.0" + +update-browserslist-db@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +urlsafe-base64@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" + integrity sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA== + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" + integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + dependencies: + inherits "2.0.3" + +uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +v8-to-istanbul@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" + integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" - "convert-source-map" "^1.6.0" - "source-map" "^0.7.3" + convert-source-map "^1.6.0" + source-map "^0.7.3" -"validate-npm-package-license@^3.0.1": - "integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==" - "resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - "version" "3.0.4" +v8-to-istanbul@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" + integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== dependencies: - "spdx-correct" "^3.0.0" - "spdx-expression-parse" "^3.0.0" + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" -"vendors@^1.0.3": - "integrity" "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - "resolved" "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" - "version" "1.0.4" +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" -"verror@1.10.0": - "integrity" "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==" - "resolved" "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" - "version" "1.10.0" +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: - "assert-plus" "^1.0.0" - "core-util-is" "1.0.2" - "extsprintf" "^1.2.0" + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" -"vm-browserify@^1.0.1": - "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" - "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz" - "version" "1.1.2" +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" + integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -"w3c-hr-time@^1.0.1": - "integrity" "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==" - "resolved" "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz" - "version" "1.0.2" +w3c-hr-time@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== dependencies: - "browser-process-hrtime" "^1.0.0" + browser-process-hrtime "^1.0.0" -"w3c-xmlserializer@^1.1.2": - "integrity" "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==" - "resolved" "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz" - "version" "1.1.2" +w3c-xmlserializer@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" + integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== dependencies: - "domexception" "^1.0.1" - "webidl-conversions" "^4.0.2" - "xml-name-validator" "^3.0.0" + domexception "^1.0.1" + webidl-conversions "^4.0.2" + xml-name-validator "^3.0.0" -"walker@^1.0.7", "walker@~1.0.5": - "integrity" "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= sha512-cF4je9Fgt6sj1PKfuFt9jpQPeHosM+Ryma/hfY9U7uXGKM7pJCsF0v2r55o+Il54+i77SyYWetB4tD1dEygRkw==" - "resolved" "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz" - "version" "1.0.7" +walker@^1.0.7, walker@^1.0.8, walker@~1.0.5: + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - "makeerror" "1.0.x" + makeerror "1.0.12" -"watchpack-chokidar2@^2.0.1": - "integrity" "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==" - "resolved" "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz" - "version" "2.0.1" +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" + integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== dependencies: - "chokidar" "^2.1.8" + chokidar "^2.1.8" -"watchpack@^1.7.4": - "integrity" "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz" - "version" "1.7.5" +watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" + integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== dependencies: - "graceful-fs" "^4.1.2" - "neo-async" "^2.5.0" + graceful-fs "^4.1.2" + neo-async "^2.5.0" optionalDependencies: - "chokidar" "^3.4.1" - "watchpack-chokidar2" "^2.0.1" - -"wcwidth@^1.0.1": - "integrity" "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - "resolved" "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "defaults" "^1.0.3" - -"weak-map@~1.0.x": - "integrity" "sha1-eWkVhNmGB/UHC9O3CkDmuyLkAes= sha512-4u3oWsaowmfznU7I/PcCcq6T49fgxrgZ/1F+ZHQuFpBKruu0+yFsTxvI4uwypg4TE1ue1zhk7VsBTbuf3wimnQ==" - "resolved" "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz" - "version" "1.0.5" - -"webidl-conversions@^4.0.2": - "integrity" "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" - "version" "4.0.2" - -"webpack-bundle-analyzer@^4.4.2": - "integrity" "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==" - "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz" - "version" "4.4.2" - dependencies: - "acorn" "^8.0.4" - "acorn-walk" "^8.0.0" - "chalk" "^4.1.0" - "commander" "^6.2.0" - "gzip-size" "^6.0.0" - "lodash" "^4.17.20" - "opener" "^1.5.2" - "sirv" "^1.0.7" - "ws" "^7.3.1" - -"webpack-sources@^1.1.0", "webpack-sources@^1.4.0", "webpack-sources@^1.4.1": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack@^4.0.0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.44.1": - "integrity" "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz" - "version" "4.46.0" + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +weak-map@~1.0.x: + version "1.0.8" + resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3" + integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw== + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-bundle-analyzer@^4.4.2: + version "4.7.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#33c1c485a7fcae8627c547b5c3328b46de733c66" + integrity sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^7.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.44.1: + version "4.46.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" + integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== dependencies: "@webassemblyjs/ast" "1.9.0" "@webassemblyjs/helper-module-context" "1.9.0" "@webassemblyjs/wasm-edit" "1.9.0" "@webassemblyjs/wasm-parser" "1.9.0" - "acorn" "^6.4.1" - "ajv" "^6.10.2" - "ajv-keywords" "^3.4.1" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^4.5.0" - "eslint-scope" "^4.0.3" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^2.4.0" - "loader-utils" "^1.2.3" - "memory-fs" "^0.4.1" - "micromatch" "^3.1.10" - "mkdirp" "^0.5.3" - "neo-async" "^2.6.1" - "node-libs-browser" "^2.2.1" - "schema-utils" "^1.0.0" - "tapable" "^1.1.3" - "terser-webpack-plugin" "^1.4.3" - "watchpack" "^1.7.4" - "webpack-sources" "^1.4.1" - -"whatwg-encoding@^1.0.1", "whatwg-encoding@^1.0.5": - "integrity" "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==" - "resolved" "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz" - "version" "1.0.5" - dependencies: - "iconv-lite" "0.4.24" - -"whatwg-mimetype@^2.2.0", "whatwg-mimetype@^2.3.0": - "integrity" "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - "resolved" "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz" - "version" "2.3.0" - -"whatwg-url@^7.0.0": - "integrity" "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - "resolved" "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - "version" "7.1.0" - dependencies: - "lodash.sortby" "^4.7.0" - "tr46" "^1.0.1" - "webidl-conversions" "^4.0.2" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-bigint" "^1.0.1" - "is-boolean-object" "^1.1.0" - "is-number-object" "^1.0.4" - "is-string" "^1.0.5" - "is-symbol" "^1.0.3" - -"which-module@^2.0.0": - "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which@^1.2.9": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1", "which@^2.0.2": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"word-wrap@^1.2.3", "word-wrap@~1.2.3": - "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" - "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - "version" "1.2.3" - -"worker-farm@^1.7.0": - "integrity" "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==" - "resolved" "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz" - "version" "1.7.0" - dependencies: - "errno" "~0.1.7" - -"wrap-ansi@^3.0.1": - "integrity" "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo= sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "string-width" "^2.1.1" - "strip-ansi" "^4.0.0" - -"wrap-ansi@^5.0.0": - "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "string-width" "^3.0.0" - "strip-ansi" "^5.0.0" - -"wrap-ansi@^6.2.0": - "integrity" "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^2.3.0": - "integrity" "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz" - "version" "2.4.3" - dependencies: - "graceful-fs" "^4.1.11" - "imurmurhash" "^0.1.4" - "signal-exit" "^3.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"write@1.0.3": - "integrity" "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==" - "resolved" "https://registry.npmjs.org/write/-/write-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "mkdirp" "^0.5.1" - -"ws@^7.0.0", "ws@^7.3.1": - "integrity" "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz" - "version" "7.5.5" - -"xml-name-validator@^3.0.0": - "integrity" "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - "resolved" "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz" - "version" "3.0.0" - -"xmlchars@^2.1.1": - "integrity" "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - "resolved" "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz" - "version" "2.2.0" - -"xregexp@^5.1.0": - "integrity" "sha512-PynwUWtXnSZr8tpQlDPMZfPTyv78EYuA4oI959ukxcQ0a9O/lvndLVKy5wpImzzA26eMxpZmnAXJYiQA13AtWA==" - "resolved" "https://registry.npmjs.org/xregexp/-/xregexp-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "@babel/runtime-corejs3" "^7.14.9" - -"xtend@^4.0.0", "xtend@~4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"yallist@^3.0.2": - "integrity" "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - "version" "3.1.1" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.2", "yaml@^1.7.2": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^18.1.2", "yargs-parser@18.x": - "integrity" "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" - "version" "18.1.3" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs@^15.0.2", "yargs@^15.3.1": - "integrity" "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" - "version" "15.4.1" - dependencies: - "cliui" "^6.0.0" - "decamelize" "^1.2.0" - "find-up" "^4.1.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^4.2.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^18.1.2" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + +which@^1.2.9, which@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3, word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" + integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + dependencies: + errno "~0.1.7" + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write-file-atomic@^2.3.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +write-file-atomic@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + +ws@^7.0.0, ws@^7.3.1: + version "7.5.9" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + +xmlchars@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + +xregexp@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-5.1.1.tgz#6d3fe18819e3143aaf52f9284d34f49a59583ebb" + integrity sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg== + dependencies: + "@babel/runtime-corejs3" "^7.16.5" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@18.x, yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^15.0.2, yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + dependencies: + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yargs@^17.3.1: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== + 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" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From fb24d52208fbb0dcbb37bbb4647a9ec4b1f7e492 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Thu, 29 Dec 2022 21:26:23 -0800 Subject: [PATCH 008/463] Completing the port of Manager tests (for supported features) from keripy. Signed-off-by: pfeairheller --- src/keri/core/manager.ts | 10 +- src/keri/core/matter.ts | 14 +-- src/keri/core/siger.ts | 4 +- test/core/manager.test.ts | 235 +++++++++++++++++++++++++++++++++++++- 4 files changed, 248 insertions(+), 15 deletions(-) diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index a4a96ed5..da7655c7 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -74,7 +74,7 @@ export class RandyCreator implements Creator { } get tier(): Tier { - return Tier.low; + return "" as Tier; } } @@ -407,7 +407,7 @@ export class Manager { let pp = new PrePrm() pp.pidx = pidx! pp.algo = algo! - pp.salt = this._encrypter?.encrypt(b(creator.salt)).qb64 + pp.salt = creator.salt.length > 0 ? this._encrypter?.encrypt(b(creator.salt)).qb64 : creator.salt pp.stem = creator.stem pp.tier = creator.tier @@ -528,7 +528,7 @@ export class Manager { } rotate({pre, ncodes=undefined, ncount=1, ncode=MtrDex.Ed25519_Seed, dcode=MtrDex.Blake3_256, - transferable=true, temp=false, erase=true}:RotateArgs) { + transferable=true, temp=false, erase=true}:RotateArgs): [Array, Array] { let pp = this.ks.getPrms(pre) if (pp == undefined) { throw new Error(`Attempt to rotate nonexistent pre=${pre}.`) @@ -539,7 +539,7 @@ export class Manager { throw new Error(`Attempt to rotate nonexistent pre=${pre}.`) } - if (ps.nxt.pubs == undefined) { + if (ps.nxt.pubs == undefined || ps.nxt.pubs.length == 0) { throw new Error(`Attempt to rotate nontransferable pre=${pre}.`) } @@ -566,7 +566,7 @@ export class Manager { salt = this.decrypter.decrypt(b(salt)).qb64 } - let creator = new Creatory(pp.algo).make(salt, pp.stem, pp.tier) + let creator = new Creatory(pp.algo).make(salt, pp.tier, pp.stem) if (ncodes == undefined) { if (ncount < 0) { diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index a61a1854..ce7dc3ff 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -72,14 +72,14 @@ export class Matter { constructor({raw, code = MtrDex.Ed25519N, qb64b, qb64, qb2}: MatterArgs) { let size = -1 - if (raw !== undefined) { - if (code.length === 0) { + if (raw != undefined) { + if (code.length == 0) { throw new Error("Improper initialization need either (raw and code) or qb64b or qb64 or qb2.") } // Add support for variable size codes here if needed, this code only works for stable size codes let sizage = Matter.Sizes.get(code) - if (sizage!.fs === -1) { // invalid + if (sizage!.fs == -1) { // invalid throw new Error(`Unsupported variable size code=${code}`) } @@ -222,15 +222,15 @@ export class Matter { if (ps != 0) { let base = new Array(ps + 1).join('A') + qb64.slice(cs); let paw = Base64.decode(base) // decode base to leave prepadded raw - let pi = (readInt(paw.slice(0, ps))) // prepad as int + let pi = (readInt(paw.subarray(0, ps))) // prepad as int if (pi & (2 ** pbs - 1)) { // masked pad bits non-zero throw new Error(`Non zeroed prepad bits = {pi & (2 ** pbs - 1 ):<06b} in {qb64b[cs:cs+1]}.`) } - raw = paw.slice(ps) // strip off ps prepad paw bytes + raw = paw.subarray(ps) // strip off ps prepad paw bytes } else { let base = qb64.slice(cs); let paw = Base64.decode(base); - let li = readInt(paw.slice(0, sizage!.ls)) + let li = readInt(paw.subarray(0, sizage!.ls)) if (li != 0) { if (li == 1) { throw new Error(`Non zeroed lead byte = 0x{li:02x}.`) @@ -238,7 +238,7 @@ export class Matter { throw new Error(`Non zeroed lead bytes = 0x{li:04x}`) } } - raw = paw.slice(sizage!.ls) + raw = paw.subarray(sizage!.ls) } this._code = hard // hard only diff --git a/src/keri/core/siger.ts b/src/keri/core/siger.ts index bffeb59a..a6418585 100644 --- a/src/keri/core/siger.ts +++ b/src/keri/core/siger.ts @@ -19,8 +19,8 @@ import {Verfer} from "./verfer"; export class Siger extends Indexer { private _verfer?: Verfer - constructor({raw, code, qb64, qb64b, qb2}: IndexerArgs, verfer?: Verfer) { - super({raw, code, qb64, qb64b, qb2}); + constructor({raw, code, index, ondex, qb64, qb64b, qb2}: IndexerArgs, verfer?: Verfer) { + super({raw, code, index, ondex, qb64, qb64b, qb2}); if (!IdxSigDex.has(this.code)) { throw new Error(`Invalid code = ${this.code} for Siger.`) diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index 82d7cfce..3db6c951 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -11,6 +11,7 @@ import {Verfer} from "../../src/keri/core/verfer"; import {Diger} from "../../src/keri/core/diger"; import {Siger} from "../../src/keri/core/siger"; import {b} from "../../src/keri/core/core"; +import {Cigar} from "../../src/keri/core/cigar"; describe('RandyCreator', () => { @@ -137,13 +138,15 @@ describe('Manager', () => { let salter = new Salter({raw: b(raw)}) let salt = salter.qb64 assert.equal(salt, "0AAwMTIzNDU2Nzg5YWJjZGVm") + let stem = "red" + // Create a Manager without encryption should raise an exception assert.throws(() => { new Manager({salt: salt}) }) - // cryptseed0 = b'h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf' + // cryptseed0 = b('h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf') let cryptseed0 = new Uint8Array([104, 44, 35, 124, 138, 112, 34, 18, 196, 51, 116, 50, 166, 225, 24, 25, 240, 102, 50, 44, 121, 196, 194, 49, 64, 245, 64, 21, 46, 162, 26, 207]) let cryptsigner0 = new Signer({raw: cryptseed0, code: MtrDex.Ed25519_Seed, transferable: false}) let seed0 = cryptsigner0.qb64 @@ -228,5 +231,235 @@ describe('Manager', () => { let psigers = manager.sign({ser: serb, pubs: ps.new.pubs}) assert.equal(psigers.length, 1) assert.equal(psigers[0] instanceof Siger, true) + let vsigers = manager.sign({ser: serb, verfers: verfers}) + let psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) + let vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) + assert.deepStrictEqual(psigs, vsigs) + assert.equal(psigs[0], 'AAAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + + // Test sign with indices + let indices = [3] + psigers = manager.sign({ser: serb, pubs: ps.new.pubs, indices: indices}) as Array + assert.equal(psigers.length, 1) + assert.equal(psigers[0] instanceof Siger, true) + assert.equal(psigers[0].index, indices[0]) + psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) + assert.equal(psigs[0], 'ADAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + + vsigers = manager.sign({ser: serb, verfers: verfers, indices: indices}) as Array + assert.equal(vsigers.length, 1) + assert.equal(vsigers[0] instanceof Siger, true) + assert.equal(vsigers[0].index, indices[0]) + vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) + assert.deepStrictEqual(psigs, vsigs) + + let pcigars = manager.sign({ser: serb, pubs: ps.new.pubs, indexed: false}) + assert.equal(pcigars.length, 1) + assert.equal(pcigars[0] instanceof Cigar, true) + let vcigars = manager.sign({ser: serb, verfers: verfers, indexed: false}) + assert.equal(vcigars.length , 1) + let pcigs = Array.from(pcigars as Array, (psiger) => psiger.qb64) + let vcigs = Array.from(vcigars as Array, (vsiger) => vsiger.qb64) + assert.deepStrictEqual(vcigs, pcigs) + assert.equal(pcigs[0], '0BAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + + let oldpubs = Array.from(verfers, (verfer) => verfer.qb64) + let hashes = manager.rotate({pre: spre}) + verfers = hashes[0] + digers = hashes[1] + + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 0) + assert.equal(pp.algo, Algos.salty) + assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(pp.stem, '') + assert.equal(pp.tier, Tier.low) + + ps = manager.ks.getSits(spre)! + assert.deepStrictEqual(ps.old.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.equal(ps.new.pubs.length, 1) + assert.deepStrictEqual(ps.new.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.equal(ps.new.ridx, 1) + assert.equal(ps.new.kidx, 1) + assert.equal(ps.nxt.pubs.length, 1) + assert.deepStrictEqual(ps.nxt.pubs, ['DAoQ1WxT29XtCFtOpJZyuO2q38BD8KTefktf7X0WN4YW']) + assert.equal(ps.nxt.ridx, 2) + assert.equal(ps.nxt.kidx, 2) + + keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + assert.deepStrictEqual(keys, ps.new.pubs ) + + digs = Array.from(digers, (diger: Diger) => diger.qb64) + assert.deepStrictEqual(digs, ['EJczV8HmnEWZiEHw2lVuSatrvzCmJOZ3zpa7JFfrnjau']) + + assert.deepStrictEqual(oldpubs, ps.old.pubs) + + oldpubs = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + let deadpubs = ps.old.pubs + + manager.rotate({pre: spre}) + + pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 0) + + ps = manager.ks.getSits(spre)! + assert.deepStrictEqual(oldpubs, ps.old.pubs) + + deadpubs.forEach((pub: string) => { + assert.notEqual(manager.ks.getPris(pub, decrypter0), undefined) + }) + + pl = manager.ks.getPubs(riKey(spre, ps.new.ridx))! + assert.deepStrictEqual(pl.pubs, ps.new.pubs) + + pl = manager.ks.getPubs(riKey(spre, ps.nxt.ridx))! + assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) + + hashes = manager.rotate({pre: spre, ncount: 0}) + digers = hashes[1] + pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 0) + + ps = manager.ks.getSits(spre)! + assert.equal(ps.nxt.pubs.length, 0) + assert.equal(digers.length, 0) + + assert.throws(() => { + manager.rotate({pre: spre}) + }) + + // randy algo support + hashes = manager.incept({algo: Algos.randy}) + verfers = hashes[0] + digers = hashes[1] + + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + assert.equal(manager.pidx, 2) + let rpre = verfers[0].qb64 + + pp = manager.ks.getPrms(rpre)! + assert.equal(pp.pidx, 1) + assert.equal(pp.algo, Algos.randy) + assert.equal(pp.salt, '') + assert.equal(pp.stem, '') + assert.equal(pp.tier, '') + + ps = manager.ks.getSits(rpre)! + assert.deepStrictEqual(ps.old.pubs, []) + assert.equal(ps.new.pubs.length, 1) + assert.deepStrictEqual(ps.new.pubs.length, 1) + assert.equal(ps.new.ridx, 0) + assert.equal(ps.new.kidx, 0) + assert.equal(ps.nxt.pubs.length, 1) + assert.equal(ps.nxt.ridx, 1) + assert.equal(ps.nxt.kidx, 1) + + keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + keys.forEach((key) => { + assert.notEqual(manager.ks.getPris(key, decrypter0), undefined) + }) + + let oldrpre = rpre + rpre = 'DMqxMVG3IcCNK4lpFfCu5o5cxzv1lgpMM-9rfkY3XVUc' + manager.move(oldrpre, rpre) + + oldpubs = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + manager.rotate({pre: rpre}) + + pp = manager.ks.getPrms(rpre)! + assert.equal(pp.pidx, 1) + ps = manager.ks.getSits(rpre)! + assert.deepStrictEqual(oldpubs, ps.old.pubs) + + // randy algo incept with null nxt + hashes = manager.incept({algo: Algos.randy, ncount: 0}) + verfers = hashes[0] + digers = hashes[1] + + assert.equal(manager.pidx, 3) + rpre = verfers[0].qb64 + + pp = manager.ks.getPrms(rpre)! + assert.equal(pp.pidx, 2) + + ps = manager.ks.getSits(rpre)! + assert.deepStrictEqual(ps.nxt.pubs, []) + assert.deepStrictEqual(digers, []) + + // attempt to rotate after null + assert.throws(() => { + manager.rotate({pre: rpre}) + }) + + // salty algorithm incept with stem + hashes = manager.incept({salt: salt, stem: stem, temp: true}) + verfers = hashes[0] + digers = hashes[1] + + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + assert.equal(manager.pidx, 4) + + spre = verfers[0].qb64 + assert.equal(spre, "DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM") + + pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 3) + assert.equal(pp.algo, Algos.salty) + assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(pp.stem, 'red') + assert.equal(pp.tier, Tier.low) + + ps = manager.ks.getSits(spre)! + assert.deepStrictEqual(ps.old.pubs, []) + assert.equal(ps.new.pubs.length, 1) + assert.deepStrictEqual(ps.new.pubs, ['DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM']) + assert.equal(ps.new.ridx, 0) + assert.equal(ps.new.kidx, 0) + assert.equal(ps.nxt.pubs.length, 1) + assert.deepStrictEqual(ps.nxt.pubs, ['DBzZ6vejSNAZpXv1SDRnIF_P1UqcW5d2pu2U-v-uhXvE']) + assert.equal(ps.nxt.ridx, 1) + assert.equal(ps.nxt.kidx, 1) + + keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + assert.deepStrictEqual(keys, ps.new.pubs) + + digs = Array.from(digers, (diger: Diger) => diger.qb64) + assert.deepStrictEqual(digs, ['EIGjhyyBRcqCkPE9bmkph7morew0wW0ak-rQ-dHCH-M2']) + + assert.throws(() => { + manager.incept({salt: salt, stem: stem, temp: true}) + }) + + oldspre = spre + spre = 'DCNK4lpFfpMM-9rfkY3XVUcCu5o5cxzv1lgMqxMVG3Ic' + manager.move(oldspre, spre) + + assert.throws(() => { + manager.incept({salt: salt, stem: stem, temp: true}) + }) + + hashes = manager.incept({ncount: 0, salt: salt, stem: 'wit0', transferable: false, temp: true}) + verfers = hashes[0] + digers = hashes[1] + + let witpre0 = verfers[0].qb64 + assert.equal(verfers[0].qb64, 'BOTNI4RzN706NecNdqTlGEcMSTWiFUvesEqmxWR_op8n') + assert.equal(verfers[0].code, MtrDex.Ed25519N) + assert.notEqual(digers, undefined) + + hashes = manager.incept({ncount: 0, salt: salt, stem: 'wit1', transferable: false, temp: true}) + verfers = hashes[0] + digers = hashes[1] + + let witpre1 = verfers[0].qb64 + assert.equal(verfers[0].qb64, 'BAB_5xNXH4hoxDCtAHPFPDedZ6YwTo8mbdw_v0AOHOMt') + assert.equal(verfers[0].code, MtrDex.Ed25519N) + assert.notEqual(digers, undefined) + + assert.notEqual(witpre0, witpre1) }) }) From cf0308a1d04b667d1f0d6e05371c4a0730ef42b6 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Tue, 3 Jan 2023 17:18:18 -0500 Subject: [PATCH 009/463] Update to use npm for CI along with a package-lock file. Signed-off-by: pfeairheller --- .github/workflows/main.yml | 8 +- package-lock.json | 35631 +++++++++++++++++++++++++++++++++++ package.json | 2 +- yarn.lock | 9924 ---------- 4 files changed, 35636 insertions(+), 9929 deletions(-) create mode 100644 package-lock.json delete mode 100644 yarn.lock diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b8a4515d..e20f19da 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,10 +22,10 @@ jobs: - uses: actions/setup-node@v2 with: node-version: '18.12.1' - cache: 'yarn' + cache: 'npm' - name: build run: | - yarn - yarn test - yarn build + npm ci + npm test + npm run build diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..bcb50688 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,35631 @@ +{ + "name": "signify-ts", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "signify-ts", + "version": "0.1.0", + "license": "Apache-2.0", + "dependencies": { + "@types/libsodium-wrappers-sumo": "^0.7.5", + "blake3": "^2.1.7", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/lodash": "^4.14.185", + "@types/urlsafe-base64": "^1.0.28", + "husky": "^7.0.2", + "jest": "^29.3.1", + "size-limit": "^5.0.4", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.4.3" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "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/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/highlight/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/@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "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.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "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==", + "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-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@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-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@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-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@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-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@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-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==", + "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-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "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-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "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-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.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-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.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.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "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-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "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-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", + "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-flow-strip-types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "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" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", + "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register/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, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@babel/register/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/@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", + "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "dependencies": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "dependencies": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + }, + "bin": { + "watch": "cli.js" + }, + "engines": { + "node": ">=0.1.95" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "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/@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "dev": true, + "dependencies": { + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.2.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "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/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "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/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@size-limit/file": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", + "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", + "dev": true, + "dependencies": { + "semver": "7.3.5" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "size-limit": "5.0.5" + } + }, + "node_modules/@size-limit/preset-small-lib": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", + "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", + "dev": true, + "dependencies": { + "@size-limit/file": "5.0.5", + "@size-limit/webpack": "5.0.5" + }, + "peerDependencies": { + "size-limit": "5.0.5" + } + }, + "node_modules/@size-limit/webpack": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", + "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", + "dev": true, + "dependencies": { + "css-loader": "^5.2.6", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "mkdirp": "^1.0.4", + "nanoid": "^3.1.28", + "optimize-css-assets-webpack-plugin": "^6.0.1", + "pnp-webpack-plugin": "^1.7.0", + "style-loader": "^2.0.0", + "webpack": "^4.44.1", + "webpack-bundle-analyzer": "^4.4.2" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "size-limit": "5.0.5" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ts-morph/bootstrap": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", + "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", + "dev": true, + "dependencies": { + "@ts-morph/common": "~0.16.0" + } + }, + "node_modules/@ts-morph/common": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", + "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/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/@ts-morph/common/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, + "dependencies": { + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" + } + }, + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@types/jest/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@types/jest/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/@types/jest/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "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/libsodium-wrappers": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", + "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" + }, + "node_modules/@types/libsodium-wrappers-sumo": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz", + "integrity": "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==", + "dependencies": { + "@types/libsodium-wrappers": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "node_modules/@types/urlsafe-base64": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", + "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", + "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "dependencies": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "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/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/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-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "dependencies": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "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": "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/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/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "peerDependencies": { + "ajv": ">=5.0.0" + } + }, + "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/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-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": "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/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": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "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": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "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-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "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.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ast-types": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", + "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "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-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": 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/asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "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/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", + "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", + "dev": true, + "peerDependencies": { + "@babel/core": "^6.0.0-0 || 7.x" + } + }, + "node_modules/babel-plugin-dev-expression": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", + "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "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-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-transform-rename-import": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", + "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "dev": true + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.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/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "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/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/blake3": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", + "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==", + "hasInstallScript": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "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/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "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/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "dependencies": { + "resolve": "1.1.7" + } + }, + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/cacache/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/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001441", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "dependencies": { + "rsvp": "^4.8.4" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dependencies": { + "nofilter": "^3.1.0" + }, + "engines": { + "node": ">=12.19" + } + }, + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "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==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ci-job-number": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", + "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "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/cliui/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/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/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/collections": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", + "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", + "dependencies": { + "weak-map": "~1.0.x" + } + }, + "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/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/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/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "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": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "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/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/concat-stream/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-stream/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/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/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "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/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/copy-concurrently/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/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "hasInstallScript": true, + "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/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-jest-runner": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", + "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "jest-worker": "^24.0.0", + "throat": "^4.1.0" + }, + "bin": { + "create-jest-runner": "generator/index.js" + } + }, + "node_modules/create-jest-runner/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/create-jest-runner/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/create-jest-runner/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/create-jest-runner/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/create-jest-runner/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/create-jest-runner/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/create-jest-runner/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/create-jest-runner/node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/create-jest-runner/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/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/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.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==", + "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/cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "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/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.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/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": ">=0.10.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "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==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "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/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-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "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": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "dependencies": { + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "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/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/duplexify/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/duplexify/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/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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/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/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enhanced-resolve/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/enhanced-resolve/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/enhanced-resolve/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/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/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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, + "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.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "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-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "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/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-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/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "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": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "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": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/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/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": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/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/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/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/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react/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": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/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/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.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/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/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/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/esrecurse/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/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/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "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/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/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "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/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/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/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/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/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "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-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "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/figures/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/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/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "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/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/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, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/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/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/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/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/flow-parser": { + "version": "0.196.3", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", + "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/flush-write-stream/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/flush-write-stream/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/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/from2/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/from2/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/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/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/fs-write-stream-atomic/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/fs-write-stream-atomic/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/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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "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/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.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "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-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "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/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/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "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/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "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.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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": "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/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "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/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^1.0.1" + } + }, + "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/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "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-duration": { + "version": "3.27.3", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", + "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "dev": true + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "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==", + "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/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "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/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/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "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==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "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-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "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-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-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "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-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "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-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/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/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "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.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.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-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "dev": true, + "dependencies": { + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "dev": true, + "dependencies": { + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-environment-jsdom/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/jest-jasmine2/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/jest-jasmine2/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/jest-jasmine2/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/jest-jasmine2/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", + "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-regex-util": "^25.2.1", + "jest-watcher": "^25.2.4", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-watch-typeahead/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-watch-typeahead/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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/jpjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", + "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", + "dev": true + }, + "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/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jscodeshift": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", + "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/preset-env": "^7.1.6", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.16.1", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + } + }, + "node_modules/jscodeshift/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "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-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "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/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/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "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/json5-writer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", + "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", + "dev": true, + "dependencies": { + "jscodeshift": "^0.6.3" + } + }, + "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/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + }, + "engines": { + "node": ">=4.0" + } + }, + "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/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + } + }, + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "dependencies": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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/libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + }, + "node_modules/libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "dependencies": { + "libsodium-sumo": "^0.7.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "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/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==" + }, + "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.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "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.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "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/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-symbols/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/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "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.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "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": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/memory-fs/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/memory-fs/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/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/mico-spinner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", + "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.0" + } + }, + "node_modules/mico-spinner/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "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/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "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/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/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "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.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/move-concurrently/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/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/msgpack5": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", + "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", + "dependencies": { + "bl": "^4.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.0", + "safe-buffer": "^5.1.2" + } + }, + "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/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/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-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/node-libs-browser/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/node-libs-browser/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/node-libs-browser/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/node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + } + }, + "node_modules/node-notifier/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, + "optional": true, + "peer": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/node-notifier/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, + "optional": true, + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "engines": { + "node": ">=12.19" + } + }, + "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, + "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/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "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-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "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-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.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.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "dev": true, + "dependencies": { + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/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-locate/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-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/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/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "dependencies": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/parallel-transform/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/parallel-transform/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/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-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "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-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "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-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/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "dependencies": { + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "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-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" + } + }, + "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": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "dependencies": { + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.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/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/progress-estimator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", + "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", + "dev": true, + "dependencies": { + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" + } + }, + "node_modules/progress-estimator/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/progress-estimator/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/progress-estimator/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-estimator/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/progress-estimator/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/progress-estimator/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/progress-estimator/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/progress-estimator/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/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/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "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 + }, + "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/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "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/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "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": ">=8" + } + }, + "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": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/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/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "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/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/recast": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", + "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", + "dev": true, + "dependencies": { + "ast-types": "0.11.7", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "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==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "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/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dev": true, + "dependencies": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "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/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.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-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true, + "engines": { + "node": ">=0.12" + } + }, + "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/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-sourcemaps": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", + "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.9", + "source-map-resolve": "^0.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "@types/node": ">=10.0.0", + "rollup": ">=0.31.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "peerDependencies": { + "rollup": ">=0.66.0 <3" + } + }, + "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-typescript2": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", + "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.17.0", + "tslib": "2.0.1" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/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": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/rollup-plugin-typescript2/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/rollup-plugin-typescript2/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/rollup-plugin-typescript2/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "dev": true + }, + "node_modules/rollup-plugin-typescript2/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/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "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/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/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/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "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": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "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/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/sane/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/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/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "dependencies": { + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "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/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "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/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "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/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/size-limit": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", + "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", + "dev": true, + "dependencies": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.2", + "ci-job-number": "^1.2.2", + "globby": "^11.0.4", + "lilconfig": "^2.0.3", + "mico-spinner": "^1.3.0", + "picocolors": "^0.1.0" + }, + "bin": { + "size-limit": "bin.js" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/size-limit/node_modules/picocolors": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", + "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", + "dev": true + }, + "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/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, + "dependencies": { + "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/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/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/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/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/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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/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-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/stream-browserify/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/stream-browserify/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/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/stream-http/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/stream-http/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/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "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-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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/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/table/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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/table/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/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "dependencies": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "engines": { + "node": ">= 6.9.0" + }, + "peerDependencies": { + "webpack": "^4.0.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "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", + "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/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "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/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/through2/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/through2/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/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "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/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "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-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "dependencies": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/ts-migrate": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", + "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", + "dev": true, + "dependencies": { + "create-jest-runner": "^0.5.3", + "json5": "^2.1.1", + "json5-writer": "^0.1.8", + "ts-migrate-plugins": "^0.1.35", + "ts-migrate-server": "^0.1.33", + "updatable-log": "^0.2.0", + "yargs": "^15.0.2" + }, + "bin": { + "ts-migrate": "build/cli.js", + "ts-migrate-full": "bin/ts-migrate-full.sh" + }, + "peerDependencies": { + "typescript": ">4.0" + } + }, + "node_modules/ts-migrate-plugins": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", + "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", + "dev": true, + "dependencies": { + "eslint": "^7.14.0", + "jscodeshift": "^0.13.0", + "json-schema": "^0.4.0", + "ts-migrate-server": "^0.1.33" + }, + "peerDependencies": { + "typescript": ">4.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-migrate-plugins/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/jscodeshift": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", + "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.4", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/ts-migrate-plugins/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "dev": true, + "dependencies": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ts-migrate-plugins/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-migrate-plugins/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/ts-migrate-server": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", + "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", + "dev": true, + "dependencies": { + "@ts-morph/bootstrap": "^0.16.0", + "pretty-ms": "^7.0.1", + "updatable-log": "^0.2.0" + }, + "peerDependencies": { + "typescript": ">4.0" + } + }, + "node_modules/ts-migrate/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/ts-migrate/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-migrate/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-migrate/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "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" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/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/tsdx": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", + "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", + "dev": true, + "dependencies": { + "@babel/core": "^7.4.4", + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.11.0", + "@babel/traverse": "^7.11.5", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-commonjs": "^11.0.0", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.2.1", + "@types/jest": "^25.2.1", + "@typescript-eslint/eslint-plugin": "^2.12.0", + "@typescript-eslint/parser": "^2.12.0", + "ansi-escapes": "^4.2.1", + "asyncro": "^3.0.0", + "babel-eslint": "^10.0.3", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.1", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-polyfill-regenerator": "^0.0.4", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "enquirer": "^2.3.4", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.2.0", + "execa": "^4.0.3", + "fs-extra": "^9.0.0", + "jest": "^25.3.0", + "jest-watch-typeahead": "^0.5.0", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^4.0.3", + "pascal-case": "^3.1.1", + "prettier": "^1.19.1", + "progress-estimator": "^0.2.2", + "regenerator-runtime": "^0.13.7", + "rollup": "^1.32.1", + "rollup-plugin-sourcemaps": "^0.6.2", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.27.3", + "sade": "^1.4.2", + "semver": "^7.1.1", + "shelljs": "^0.8.3", + "tiny-glob": "^0.2.6", + "ts-jest": "^25.3.1", + "tslib": "^1.9.3", + "typescript": "^3.7.3" + }, + "bin": { + "tsdx": "dist/index.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", + "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/console/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/core/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/@jest/core/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/tsdx/node_modules/@jest/core/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/tsdx/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" + } + }, + "node_modules/tsdx/node_modules/@jest/reporters/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/transform/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/@jest/types/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/tsdx/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/tsdx/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/tsdx/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsdx/node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsdx/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/tsdx/node_modules/babel-jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", + "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/tsdx/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/tsdx/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/tsdx/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsdx/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/tsdx/node_modules/cliui/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/tsdx/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/tsdx/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/tsdx/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/tsdx/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/tsdx/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/tsdx/node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" + } + }, + "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "dev": true, + "engines": { + "node": ">=7" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/tsdx/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/eslint/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/tsdx/node_modules/eslint/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/tsdx/node_modules/eslint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tsdx/node_modules/eslint/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/tsdx/node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/eslint/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/tsdx/node_modules/eslint/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/tsdx/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/tsdx/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/tsdx/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/tsdx/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsdx/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsdx/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/tsdx/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/tsdx/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/tsdx/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/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, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": "^8.12.0 || >=9.7.0" + } + }, + "node_modules/tsdx/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "dependencies": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-config/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-diff/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-environment-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + }, + "engines": { + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" + } + }, + "node_modules/tsdx/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "dependencies": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-message-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-resolve/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-runner/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-runtime/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-validate/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/tsdx/node_modules/jest-validate/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/jest-watcher/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "dependencies": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tsdx/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/tsdx/node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/tsdx/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tsdx/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tsdx/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/tsdx/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsdx/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tsdx/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/slice-ansi/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/tsdx/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/tsdx/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/tsdx/node_modules/ts-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", + "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", + "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "micromatch": "4.x", + "mkdirp": "0.x", + "semver": "6.x", + "yargs-parser": "18.x" + }, + "bin": { + "ts-jest": "cli.js" + }, + "engines": { + "node": ">= 8" + }, + "peerDependencies": { + "jest": ">=25 <26", + "typescript": ">=3.4 <4.0" + } + }, + "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/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/tsdx/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tsdx/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/tsdx/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/tsdx/node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": "8.x.x || >=10.10.0" + } + }, + "node_modules/tsdx/node_modules/v8-to-istanbul/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/tsdx/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/wrap-ansi/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/tsdx/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/tsdx/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsdx/node_modules/yargs-parser/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/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "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/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "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-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "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/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/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "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/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/updatable-log": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", + "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "figures": "^3.0.0", + "log-update": "^3.3.0" + } + }, + "node_modules/updatable-log/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/updatable-log/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/updatable-log/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/updatable-log/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/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/updatable-log/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/updatable-log/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/updatable-log/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/updatable-log/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/updatable-log/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/node_modules/log-update": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/updatable-log/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/updatable-log/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/updatable-log/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/updatable-log/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/updatable-log/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "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/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + }, + "node_modules/urlsafe-base64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", + "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "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==" + }, + "node_modules/util/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/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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/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/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "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": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" + } + }, + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "dev": true, + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": 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/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/watchpack-chokidar2/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, + "optional": true + }, + "node_modules/watchpack-chokidar2/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, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.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/weak-map": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "dev": true, + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/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" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/webpack/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/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/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.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": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "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/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-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write/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/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/xregexp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", + "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", + "dependencies": { + "@babel/runtime-corejs3": "^7.16.5" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "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/yargs/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/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" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", + "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-flow-strip-types": "^7.18.6" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@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" + } + }, + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + } + }, + "@babel/register": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", + "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", + "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "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 + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@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, + "requires": { + "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" + } + }, + "@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 + }, + "@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" + } + }, + "@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "dev": true, + "requires": { + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + } + }, + "@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0" + } + }, + "@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" + } + }, + "@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + } + }, + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@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 + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" + } + }, + "@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + } + }, + "@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@size-limit/file": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", + "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", + "dev": true, + "requires": { + "semver": "7.3.5" + } + }, + "@size-limit/preset-small-lib": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", + "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", + "dev": true, + "requires": { + "@size-limit/file": "5.0.5", + "@size-limit/webpack": "5.0.5" + } + }, + "@size-limit/webpack": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", + "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", + "dev": true, + "requires": { + "css-loader": "^5.2.6", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "mkdirp": "^1.0.4", + "nanoid": "^3.1.28", + "optimize-css-assets-webpack-plugin": "^6.0.1", + "pnp-webpack-plugin": "^1.7.0", + "style-loader": "^2.0.0", + "webpack": "^4.44.1", + "webpack-bundle-analyzer": "^4.4.2" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@ts-morph/bootstrap": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", + "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", + "dev": true, + "requires": { + "@ts-morph/common": "~0.16.0" + } + }, + "@ts-morph/common": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", + "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", + "dev": true, + "requires": { + "fast-glob": "^3.2.11", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" + }, + "dependencies": { + "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, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "dev": true, + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "dev": true, + "requires": { + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" + }, + "dependencies": { + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@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 + }, + "@types/libsodium-wrappers": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", + "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" + }, + "@types/libsodium-wrappers-sumo": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz", + "integrity": "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==", + "requires": { + "@types/libsodium-wrappers": "*" + } + }, + "@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "dev": true + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true + }, + "@types/urlsafe-base64": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", + "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/yargs": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", + "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@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 + }, + "@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 + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "dev": true, + "requires": { + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + } + } + }, + "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, + "requires": {} + }, + "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 + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true, + "requires": {} + }, + "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, + "requires": {} + }, + "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 + }, + "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, + "requires": { + "type-fest": "^0.21.3" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "dev": true + }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + } + }, + "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 + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "dev": true + }, + "array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "dev": true + }, + "ast-types": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", + "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", + "dev": true + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "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 + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "dev": true + }, + "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 + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "dev": true + }, + "axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "requires": {} + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "dev": true, + "requires": { + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", + "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", + "dev": true, + "requires": {} + }, + "babel-plugin-dev-expression": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", + "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", + "dev": true, + "requires": {} + }, + "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, + "requires": { + "@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" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + } + }, + "babel-plugin-transform-rename-import": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", + "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "dev": true + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "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 + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "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 + }, + "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 + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "blake3": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", + "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "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 + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dev": true, + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "requires": { + "node-int64": "^0.4.0" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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 + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "dev": true + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001441", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true + }, + "capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "dev": true, + "requires": { + "rsvp": "^4.8.4" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "requires": { + "nofilter": "^3.1.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "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 + }, + "ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "dev": true + }, + "ci-job-number": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", + "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "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, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "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, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "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, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true + }, + "collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "collections": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", + "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", + "requires": { + "weak-map": "~1.0.x" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "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, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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 + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "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 + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "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, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "dev": true + }, + "core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4" + } + }, + "core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==" + }, + "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 + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-jest-runner": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", + "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "jest-worker": "^24.0.0", + "throat": "^4.1.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "dev": true, + "requires": {} + }, + "css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "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 + }, + "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 + }, + "cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "dev": true + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dev": true, + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "dev": true + }, + "dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true + }, + "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 + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "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, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true + }, + "diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "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, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "dev": true, + "requires": { + "webidl-conversions": "^4.0.2" + } + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true + }, + "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 + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "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, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "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, + "requires": { + "prr": "~1.0.1" + } + }, + "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, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "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-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + } + }, + "es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "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, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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 + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + } + } + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "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 + } + } + }, + "eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "dev": true, + "requires": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "dev": true, + "requires": { + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" + }, + "dependencies": { + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "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 + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "dev": true, + "requires": { + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + } + }, + "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, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "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 + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-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 + }, + "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 + }, + "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, + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "requires": { + "bser": "2.1.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "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, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "flow-parser": { + "version": "0.196.3", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", + "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "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 + }, + "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 + }, + "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 + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "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 + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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 + }, + "globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "requires": { + "duplexer": "^0.1.2" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "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 + }, + "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 + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "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 + }, + "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, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "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 + }, + "html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "dev": true, + "requires": { + "whatwg-encoding": "^1.0.1" + } + }, + "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 + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "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 + }, + "humanize-duration": { + "version": "3.27.3", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", + "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "dev": true + }, + "husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true + }, + "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, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "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, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "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, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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 + } + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + } + }, + "internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "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 + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "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, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "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 + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + }, + "dependencies": { + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + } + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "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, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "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, + "optional": true + }, + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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 + }, + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "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, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2" + } + }, + "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 + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "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, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "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, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "dev": true, + "requires": { + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + } + }, + "jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "dev": true, + "requires": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "dev": true, + "requires": { + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + } + }, + "jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" + } + }, + "jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "dependencies": { + "@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + } + }, + "@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0" + } + }, + "jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + } + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + } + } + }, + "jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "dev": true + }, + "jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "dev": true, + "requires": { + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "dependencies": { + "@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + } + }, + "@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + } + }, + "@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + } + }, + "@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "requires": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + } + }, + "@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "requires": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "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 + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + } + }, + "jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + } + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + } + }, + "jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + } + }, + "jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "requires": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0" + } + }, + "jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true + }, + "jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + } + }, + "jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + } + }, + "jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + } + }, + "jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + } + }, + "jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + } + }, + "jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + } + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + } + }, + "jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "requires": {} + }, + "jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", + "dev": true + }, + "jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "dev": true, + "requires": { + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" + } + }, + "jest-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4" + } + }, + "jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" + } + }, + "jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + } + } + }, + "jest-watch-typeahead": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", + "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-regex-util": "^25.2.1", + "jest-watcher": "^25.2.4", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + } + }, + "@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + } + }, + "jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true + }, + "jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + } + }, + "jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "requires": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + } + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + } + } + }, + "jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "dev": true, + "requires": { + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "dev": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "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, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jpjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", + "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jscodeshift": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", + "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", + "dev": true, + "requires": { + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/preset-env": "^7.1.6", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.16.1", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "dev": true, + "requires": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "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 + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "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 + }, + "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 + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "json5-writer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", + "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", + "dev": true, + "requires": { + "jscodeshift": "^0.6.3" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "dev": true, + "requires": { + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" + } + }, + "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 + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "dev": true, + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + }, + "libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "requires": { + "libsodium-sumo": "^0.7.0" + } + }, + "lilconfig": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", + "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "dev": true + }, + "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 + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "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, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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 + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "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 + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "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 + }, + "log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + } + } + }, + "lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "dev": true, + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "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, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "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, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "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 + }, + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "requires": { + "tmpl": "1.0.5" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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 + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "mico-spinner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", + "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", + "dev": true, + "requires": { + "picocolors": "^0.2.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + } + } + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "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 + }, + "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, + "requires": { + "mime-db": "1.52.0" + } + }, + "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 + }, + "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 + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "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, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true + }, + "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 + }, + "msgpack5": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", + "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", + "requires": { + "bl": "^4.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.0", + "safe-buffer": "^5.1.2" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "dev": true, + "optional": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "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 + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + }, + "dependencies": { + "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, + "optional": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "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, + "optional": true, + "peer": true + } + } + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "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, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "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 + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "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 + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "dev": true, + "requires": { + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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 + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "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, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "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, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true + }, + "parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "dev": true + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "dev": true + }, + "postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + } + }, + "postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "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, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "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, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "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, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "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 + }, + "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 + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true + }, + "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, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "requires": { + "parse-ms": "^2.1.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "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 + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "progress-estimator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", + "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "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 + }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "dev": true + }, + "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 + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "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, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "dependencies": { + "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 + } + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "dev": true + }, + "recast": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", + "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", + "dev": true, + "requires": { + "ast-types": "0.11.7", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dev": true, + "requires": { + "resolve": "^1.1.6" + } + }, + "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 + }, + "regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "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==" + }, + "regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "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 + }, + "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 + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + } + }, + "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 + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "dev": true + }, + "resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "dev": true + }, + "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, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + } + }, + "rollup-plugin-sourcemaps": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", + "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.0.9", + "source-map-resolve": "^0.6.0" + } + }, + "rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" + }, + "dependencies": { + "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 + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "rollup-plugin-typescript2": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", + "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.17.0", + "tslib": "2.0.1" + }, + "dependencies": { + "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, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "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, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "dev": true + }, + "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 + } + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, + "rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "requires": { + "mri": "^1.1.0" + } + }, + "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==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "dev": true, + "requires": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "dev": true, + "requires": { + "xmlchars": "^2.1.1" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "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 + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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, + "requires": { + "kind-of": "^6.0.2" + } + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dev": true, + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "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, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "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 + }, + "sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "size-limit": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", + "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", + "dev": true, + "requires": { + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.2", + "ci-job-number": "^1.2.2", + "globby": "^11.0.4", + "lilconfig": "^2.0.3", + "mico-spinner": "^1.3.0", + "picocolors": "^0.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", + "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", + "dev": true + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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 + }, + "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 + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "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 + }, + "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, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, + "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, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true + }, + "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 + }, + "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 + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + } + }, + "stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dev": true, + "requires": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + } + }, + "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 + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "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 + }, + "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, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "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 + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "requires": { + "rimraf": "~2.6.2" + } + }, + "terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + } + }, + "terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "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 + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "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, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + } + }, + "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 + }, + "throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "requires": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "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 + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "dev": true, + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "ts-migrate": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", + "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", + "dev": true, + "requires": { + "create-jest-runner": "^0.5.3", + "json5": "^2.1.1", + "json5-writer": "^0.1.8", + "ts-migrate-plugins": "^0.1.35", + "ts-migrate-server": "^0.1.33", + "updatable-log": "^0.2.0", + "yargs": "^15.0.2" + }, + "dependencies": { + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "ts-migrate-plugins": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", + "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", + "dev": true, + "requires": { + "eslint": "^7.14.0", + "jscodeshift": "^0.13.0", + "json-schema": "^0.4.0", + "ts-migrate-server": "^0.1.33" + }, + "dependencies": { + "ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "jscodeshift": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", + "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", + "dev": true, + "requires": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.4", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "dev": true, + "requires": { + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, + "ts-migrate-server": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", + "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", + "dev": true, + "requires": { + "@ts-morph/bootstrap": "^0.16.0", + "pretty-ms": "^7.0.1", + "updatable-log": "^0.2.0" + } + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "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, + "requires": { + "minimist": "^1.2.0" + } + }, + "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 + } + } + }, + "tsdx": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", + "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", + "dev": true, + "requires": { + "@babel/core": "^7.4.4", + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.11.0", + "@babel/traverse": "^7.11.5", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-commonjs": "^11.0.0", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.2.1", + "@types/jest": "^25.2.1", + "@typescript-eslint/eslint-plugin": "^2.12.0", + "@typescript-eslint/parser": "^2.12.0", + "ansi-escapes": "^4.2.1", + "asyncro": "^3.0.0", + "babel-eslint": "^10.0.3", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.1", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-polyfill-regenerator": "^0.0.4", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "enquirer": "^2.3.4", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.2.0", + "execa": "^4.0.3", + "fs-extra": "^9.0.0", + "jest": "^25.3.0", + "jest-watch-typeahead": "^0.5.0", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^4.0.3", + "pascal-case": "^3.1.1", + "prettier": "^1.19.1", + "progress-estimator": "^0.2.2", + "regenerator-runtime": "^0.13.7", + "rollup": "^1.32.1", + "rollup-plugin-sourcemaps": "^0.6.2", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.27.3", + "sade": "^1.4.2", + "semver": "^7.1.1", + "shelljs": "^0.8.3", + "tiny-glob": "^0.2.6", + "ts-jest": "^25.3.1", + "tslib": "^1.9.3", + "typescript": "^3.7.3" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", + "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "dev": true, + "requires": { + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + } + }, + "@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + } + }, + "@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + } + }, + "@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "node-notifier": "^6.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "dev": true, + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" + } + }, + "@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "dev": true, + "requires": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + } + }, + "@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" + } + }, + "@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "dev": true, + "requires": { + "@types/yargs-parser": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "dev": true, + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "dev": true, + "requires": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "dev": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", + "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.0.3" + } + }, + "babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "dev": true, + "requires": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "requires": { + "confusing-browser-globals": "^1.0.9" + } + }, + "eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "dev": true, + "requires": {} + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "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 + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "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, + "optional": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "dev": true, + "requires": { + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "dev": true, + "requires": { + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + } + }, + "jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + } + } + }, + "jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "dev": true, + "requires": { + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "dev": true, + "requires": { + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "dev": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "dev": true, + "requires": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true + }, + "jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + } + }, + "jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "dev": true, + "requires": { + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + } + }, + "jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0" + } + }, + "jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true + }, + "jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" + } + }, + "jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "dev": true, + "requires": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "dev": true, + "requires": { + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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, + "requires": { + "minimist": "^1.2.6" + } + }, + "node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true + }, + "pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "dev": true, + "requires": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + } + } + }, + "stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "dev": true, + "requires": { + "escape-string-regexp": "^2.0.0" + } + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "dev": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + } + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + } + } + }, + "throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "ts-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", + "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", + "dev": true, + "requires": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "micromatch": "4.x", + "mkdirp": "0.x", + "semver": "6.x", + "yargs-parser": "18.x" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "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 + }, + "typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "dev": true + }, + "v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "dev": true, + "requires": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + } + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + } + } + }, + "tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "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 + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "dev": true + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "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 + }, + "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, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "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 + }, + "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 + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + } + } + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "optional": true + }, + "updatable-log": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", + "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "figures": "^3.0.0", + "log-update": "^3.3.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "dev": true + }, + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "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 + }, + "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 + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "log-update": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + } + } + }, + "urlsafe-base64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", + "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "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 + }, + "v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "dependencies": { + "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 + } + } + }, + "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, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + } + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "dev": true, + "requires": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" + } + }, + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "requires": { + "makeerror": "1.0.12" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "dev": true, + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "optional": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "optional": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "optional": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "optional": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "optional": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "optional": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "optional": true, + "requires": { + "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" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "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, + "optional": true + }, + "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, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "optional": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "weak-map": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "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, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "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, + "requires": { + "minimist": "^1.2.6" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "dev": true, + "requires": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "dependencies": { + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "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, + "requires": { + "iconv-lite": "0.4.24" + } + }, + "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 + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "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 + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + }, + "dependencies": { + "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, + "requires": { + "minimist": "^1.2.6" + } + } + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "requires": {} + }, + "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 + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "xregexp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", + "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", + "requires": { + "@babel/runtime-corejs3": "^7.16.5" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + } + } + }, + "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 + }, + "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 + } + } +} diff --git a/package.json b/package.json index 106d1292..0d27b4ba 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "limit": "10 KB" }, { - "path": "dist/signify.esm.js", + "path": "dist/signify-ts.esm.js", "limit": "10 KB" } ], diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 6384d72b..00000000 --- a/yarn.lock +++ /dev/null @@ -1,9924 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.20.10" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" - integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== - -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.4.4", "@babel/core@^7.7.5": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" - integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.20.7" - "@babel/helpers" "^7.20.7" - "@babel/parser" "^7.20.7" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/generator@^7.20.7", "@babel/generator@^7.7.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" - integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== - dependencies: - "@babel/types" "^7.20.7" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" - integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" - integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.2.1" - -"@babel/helper-define-polyfill-provider@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz#df9da66285b884ce66417abdd0b6ca91198149bd" - integrity sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ== - dependencies: - "@babel/helper-compilation-targets" "^7.10.4" - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/traverse" "^7.11.5" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" - integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== - dependencies: - "@babel/types" "^7.20.7" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" - integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.10" - "@babel/types" "^7.20.7" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/helpers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" - integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.7.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" - integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - 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" - -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.6", "@babel/plugin-proposal-class-properties@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" - integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" - integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" - integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.7.2": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" - integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" - integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" - -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" - integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-flow-strip-types@^7.18.6": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz#e9e8606633287488216028719638cbbb2f2dde8f" - integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-flow" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" - integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" - -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" - integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typescript@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz#673f49499cd810ae32a1ea5f3f8fab370987e055" - integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-typescript" "^7.20.0" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@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.20.0" - "@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-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.13.13": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb" - integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-flow-strip-types" "^7.18.6" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - 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" - -"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.13.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" - -"@babel/register@^7.0.0", "@babel/register@^7.13.16": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c" - integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw== - dependencies: - clone-deep "^4.0.1" - find-cache-dir "^2.0.0" - make-dir "^2.1.0" - pirates "^4.0.5" - source-map-support "^0.5.16" - -"@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.16.5": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz#a1e5ea3d758ba6beb715210142912e3f29981d84" - integrity sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.18.9", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" - integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.11.5", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": - version "7.20.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" - integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" - integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - 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" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-25.5.0.tgz#770800799d510f37329c508a9edd0b7b447d9abb" - integrity sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-message-util "^25.5.0" - jest-util "^25.5.0" - slash "^3.0.0" - -"@jest/console@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.3.1.tgz#3e3f876e4e47616ea3b1464b9fbda981872e9583" - integrity sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - -"@jest/core@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-25.5.4.tgz#3ef7412f7339210f003cdf36646bbca786efe7b4" - integrity sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA== - dependencies: - "@jest/console" "^25.5.0" - "@jest/reporters" "^25.5.1" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^25.5.0" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-resolve-dependencies "^25.5.4" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - jest-watcher "^25.5.0" - micromatch "^4.0.2" - p-each-series "^2.1.0" - realpath-native "^2.0.0" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/core@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.3.1.tgz#bff00f413ff0128f4debec1099ba7dcd649774a1" - integrity sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/reporters" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.2.0" - jest-config "^29.3.1" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-resolve-dependencies "^29.3.1" - jest-runner "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - jest-watcher "^29.3.1" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-25.5.0.tgz#aa33b0c21a716c65686638e7ef816c0e3a0c7b37" - integrity sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA== - dependencies: - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - -"@jest/environment@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.3.1.tgz#eb039f726d5fcd14698acd072ac6576d41cfcaa6" - integrity sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag== - dependencies: - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== - dependencies: - jest-get-type "^29.2.0" - -"@jest/expect@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.3.1.tgz#456385b62894349c1d196f2d183e3716d4c6a6cd" - integrity sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg== - dependencies: - expect "^29.3.1" - jest-snapshot "^29.3.1" - -"@jest/fake-timers@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-25.5.0.tgz#46352e00533c024c90c2bc2ad9f2959f7f114185" - integrity sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ== - dependencies: - "@jest/types" "^25.5.0" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - lolex "^5.0.0" - -"@jest/fake-timers@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.3.1.tgz#b140625095b60a44de820876d4c14da1aa963f67" - integrity sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A== - dependencies: - "@jest/types" "^29.3.1" - "@sinonjs/fake-timers" "^9.1.2" - "@types/node" "*" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -"@jest/globals@^25.5.2": - version "25.5.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-25.5.2.tgz#5e45e9de8d228716af3257eeb3991cc2e162ca88" - integrity sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/types" "^25.5.0" - expect "^25.5.0" - -"@jest/globals@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.3.1.tgz#92be078228e82d629df40c3656d45328f134a0c6" - integrity sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/types" "^29.3.1" - jest-mock "^29.3.1" - -"@jest/reporters@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-25.5.1.tgz#cb686bcc680f664c2dbaf7ed873e93aa6811538b" - integrity sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.4" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^25.5.1" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-worker "^25.5.0" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^3.1.0" - terminal-link "^2.0.0" - v8-to-istanbul "^4.1.3" - optionalDependencies: - node-notifier "^6.0.0" - -"@jest/reporters@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.3.1.tgz#9a6d78c109608e677c25ddb34f907b90e07b4310" - integrity sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - jest-worker "^29.3.1" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" - integrity sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.4" - source-map "^0.6.0" - -"@jest/source-map@^29.2.0": - version "29.2.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" - integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.15" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-25.5.0.tgz#139a043230cdeffe9ba2d8341b27f2efc77ce87c" - integrity sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A== - dependencies: - "@jest/console" "^25.5.0" - "@jest/types" "^25.5.0" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.3.1.tgz#92cd5099aa94be947560a24610aa76606de78f50" - integrity sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw== - dependencies: - "@jest/console" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^25.5.4": - version "25.5.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz#9b4e685b36954c38d0f052e596d28161bdc8b737" - integrity sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA== - dependencies: - "@jest/test-result" "^25.5.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-runner "^25.5.4" - jest-runtime "^25.5.4" - -"@jest/test-sequencer@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz#fa24b3b050f7a59d48f7ef9e0b782ab65123090d" - integrity sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA== - dependencies: - "@jest/test-result" "^29.3.1" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - slash "^3.0.0" - -"@jest/transform@^25.5.1": - version "25.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-25.5.1.tgz#0469ddc17699dd2bf985db55fa0fb9309f5c2db3" - integrity sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^25.5.0" - babel-plugin-istanbul "^6.0.0" - chalk "^3.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^25.5.1" - jest-regex-util "^25.2.6" - jest-util "^25.5.0" - micromatch "^4.0.2" - pirates "^4.0.1" - realpath-native "^2.0.0" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/transform@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.3.1.tgz#1e6bd3da4af50b5c82a539b7b1f3770568d6e36d" - integrity sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.3.1" - "@jridgewell/trace-mapping" "^0.3.15" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - -"@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@polka/url@^1.0.0-next.20": - version "1.0.0-next.21" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" - integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== - -"@rollup/plugin-babel@^5.1.0": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" - integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-commonjs@^11.0.0": - version "11.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz#60636c7a722f54b41e419e1709df05c7234557ef" - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== - dependencies: - "@rollup/pluginutils" "^3.0.8" - commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" - -"@rollup/plugin-json@^4.0.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - dependencies: - "@rollup/pluginutils" "^3.0.8" - -"@rollup/plugin-node-resolve@^9.0.0": - version "9.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz#39bd0034ce9126b39c1699695f440b4b7d2b62e6" - integrity sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.17.0" - -"@rollup/plugin-replace@^2.2.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== - -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@size-limit/file@5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-5.0.5.tgz#fc62708e626e2f154412f65d618937d8a2b081ef" - integrity sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA== - dependencies: - semver "7.3.5" - -"@size-limit/preset-small-lib@^5.0.4": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz#0f5eac605f1d3f1b7129a215a2abe11ff47c3cc3" - integrity sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ== - dependencies: - "@size-limit/file" "5.0.5" - "@size-limit/webpack" "5.0.5" - -"@size-limit/webpack@5.0.5": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@size-limit/webpack/-/webpack-5.0.5.tgz#368eb926087120b43592aa97cc69e6bca3c7575c" - integrity sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q== - dependencies: - css-loader "^5.2.6" - escape-string-regexp "^4.0.0" - file-loader "^6.2.0" - mkdirp "^1.0.4" - nanoid "^3.1.28" - optimize-css-assets-webpack-plugin "^6.0.1" - pnp-webpack-plugin "^1.7.0" - style-loader "^2.0.0" - webpack "^4.44.1" - webpack-bundle-analyzer "^4.4.2" - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@ts-morph/bootstrap@^0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz#c97034175a8fc2b7d3f575526d819877f7ed2d83" - integrity sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw== - dependencies: - "@ts-morph/common" "~0.16.0" - -"@ts-morph/common@~0.16.0": - version "0.16.0" - resolved "https://registry.yarnpkg.com/@ts-morph/common/-/common-0.16.0.tgz#57e27d4b3fd65a4cd72cb36679ed08acb40fa3ba" - integrity sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw== - dependencies: - fast-glob "^3.2.11" - minimatch "^5.1.0" - mkdirp "^1.0.4" - path-browserify "^1.0.1" - -"@types/babel__core@^7.1.14", "@types/babel__core@^7.1.7": - version "7.1.20" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" - integrity sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== - dependencies: - "@babel/types" "^7.3.0" - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/estree@*": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@^25.2.1": - version "25.2.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" - integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== - dependencies: - jest-diff "^25.2.1" - pretty-format "^25.2.1" - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.8": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/libsodium-wrappers-sumo@^0.7.5": - version "0.7.5" - resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz#c5191fc28d44edd39583552bd1855f6b7b77ca88" - integrity sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw== - dependencies: - "@types/libsodium-wrappers" "*" - -"@types/libsodium-wrappers@*": - version "0.7.10" - resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#a6ebde70d3b4af960fd802af8d0e3c7cfe281eb2" - integrity sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA== - -"@types/lodash@^4.14.185": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== - -"@types/node@*": - version "18.11.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" - integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^1.19.0": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" - integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== - -"@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== - -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/urlsafe-base64@^1.0.28": - version "1.0.28" - resolved "https://registry.yarnpkg.com/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz#2cf2098518e98c730a7e00de79a455e0269a3f4d" - integrity sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^15.0.0": - version "15.0.14" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" - integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - version "17.0.17" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.17.tgz#5672e5621f8e0fca13f433a8017aae4b7a2a03e7" - integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== - dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^2.12.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn-walk@^8.0.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^6.0.1, acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - -acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.0.4: - version "8.8.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" - integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.1: - version "8.11.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.11.2.tgz#aecb20b50607acf2569b6382167b65a96008bb78" - integrity sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - -ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - -ansi-regex@^5.0.0, ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== - -array-includes@^3.1.4, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - -array.prototype.flat@^1.2.5: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" - -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -ast-types@0.11.7: - version "0.11.7" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.7.tgz#f318bf44e339db6a320be0009ded64ec1471f46c" - integrity sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw== - -ast-types@0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" - integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== - dependencies: - tslib "^2.0.1" - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -asyncro@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" - integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -axe-core@^4.4.3: - version "4.6.1" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.1.tgz#79cccdee3e3ab61a8f42c458d4123a6768e6fbce" - integrity sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - -babel-eslint@^10.0.3: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-jest@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.5.1.tgz#bc2e6101f849d6f6aec09720ffc7bc5332e62853" - integrity sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ== - dependencies: - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - slash "^3.0.0" - -babel-jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44" - integrity sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA== - dependencies: - "@jest/transform" "^29.3.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.2.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-annotate-pure-calls@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" - integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== - -babel-plugin-dev-expression@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz#8aaf52155dfb063ed4ddec6280456fbc256fead4" - integrity sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw== - -babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - 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" - -babel-plugin-jest-hoist@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz#129c80ba5c7fc75baf3a45b93e2e372d57ca2677" - integrity sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz#23ee99c37390a98cfddf3ef4a78674180d823094" - integrity sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^2.6.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz#588641af9a2cb4e299b1400c47672a4a104d2459" - integrity sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.0.3" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -babel-plugin-transform-rename-import@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz#5d9d645f937b0ca5c26a24b2510a06277b6ffd9b" - integrity sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ== - -babel-preset-current-node-syntax@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz#826f1f8e7245ad534714ba001f84f7e906c3b615" - integrity sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@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-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@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-top-level-await" "^7.8.3" - -babel-preset-jest@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz#c1d7f191829487a907764c65307faa0e66590b49" - integrity sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw== - dependencies: - babel-plugin-jest-hoist "^25.5.0" - babel-preset-current-node-syntax "^0.1.2" - -babel-preset-jest@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz#3048bea3a1af222e3505e4a767a974c95a7620dc" - integrity sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA== - dependencies: - babel-plugin-jest-hoist "^29.2.0" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.0.2, base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blake3@^2.1.7: - version "2.1.7" - resolved "https://registry.yarnpkg.com/blake3/-/blake3-2.1.7.tgz#449a1359448b582a650e854f193880d3861bca7a" - integrity sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA== - -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.16.6, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -builtin-modules@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes-iec@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" - integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== - -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400: - version "1.0.30001441" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" - integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -cbor@^8.0.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" - integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== - dependencies: - nofilter "^3.1.0" - -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1, chokidar@^3.5.2: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.2.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef" - integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== - -ci-job-number@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/ci-job-number/-/ci-job-number-1.2.2.tgz#f4e5918fcaeeda95b604f214be7d7d4a961fe0c0" - integrity sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -cli-cursor@^2.0.0, cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-spinners@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.3.1.tgz#002c1990912d0d59580c93bd36c056de99e4259a" - integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== - -cli-spinners@^2.2.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== - -cli-width@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" - integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -collections@^5.1.12: - version "5.1.13" - resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.13.tgz#eee204a93b67473c8e74e00e934a997cc2817585" - integrity sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg== - dependencies: - weak-map "~1.0.x" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colors@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -confusing-browser-globals@^1.0.9: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -core-js-compat@^3.25.1: - version "3.27.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.0.tgz#e2c58a89df6432a5f36f3fa34097e9e83e709fb6" - integrity sha512-spN2H4E/wocMML7XtbKuqttHHM+zbF3bAdl9mT4/iyFaF33bowQGjxiWNWyvUJGH9F+hTgnhWziiLtwu3oC/Qg== - dependencies: - browserslist "^4.21.4" - -core-js-pure@^3.25.1: - version "3.27.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.0.tgz#091dce4799a5aad4cfde930ea747b0a1962388c5" - integrity sha512-fJml7FM6v1HI3Gkg5/Ifc/7Y2qXcJxaDwSROeZGAZfNykSTvUk94WT55TYzJ2lFHK0voSr/d4nOVChLuNCWNpA== - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -create-jest-runner@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/create-jest-runner/-/create-jest-runner-0.5.3.tgz#1387e2ce70b08e4c989ae55f677005b64f9ba97b" - integrity sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g== - dependencies: - chalk "^2.4.2" - jest-worker "^24.0.0" - throat "^4.1.0" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-declaration-sorter@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== - -css-loader@^5.2.6: - version "5.2.7" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" - integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== - dependencies: - icss-utils "^5.1.0" - loader-utils "^2.0.0" - postcss "^8.2.15" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^3.0.0" - semver "^7.3.5" - -css-select@^4.1.3: - version "4.3.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.2.13: - version "5.2.13" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz#e7353b0c57975d1bdd97ac96e68e5c1b8c68e990" - integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.3" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.1" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.2: - version "5.1.14" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.14.tgz#07b0af6da73641276fe5a6d45757702ebae2eb05" - integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw== - dependencies: - cssnano-preset-default "^5.2.13" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.4.251: - version "1.4.284" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" - integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enquirer@^2.3.4, enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" - integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - 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-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - unbox-primitive "^1.0.2" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^1.11.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^6.0.0: - version "6.15.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz#7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-config-react-app@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^3.13.0: - version "3.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" - integrity sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw== - dependencies: - lodash "^4.17.15" - -eslint-plugin-import@^2.18.2: - version "2.26.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jsx-a11y@^6.2.3: - version "6.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-prettier@^3.1.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@^2.2.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" - integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== - -eslint-plugin-react@^7.14.3: - version "7.31.11" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz#011521d2b16dcf95795df688a4770b4eaab364c8" - integrity sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint@^6.1.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint@^7.14.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1, esquery@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0, esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.6" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" - integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" - integrity sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA== - dependencies: - "@jest/types" "^25.5.0" - ansi-styles "^4.0.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-regex-util "^25.2.6" - -expect@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== - dependencies: - "@jest/expect-utils" "^29.3.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== - dependencies: - reusify "^1.0.4" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -flow-parser@0.*: - version "0.196.3" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.196.3.tgz#dd923f29a6c194770a4f999f8026ef1da79d428b" - integrity sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0, globals@^13.9.0: - version "13.19.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" - integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== - dependencies: - type-fest "^0.20.2" - -globalyzer@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" - integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== - -globby@^11.0.4: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globrex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" - integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -humanize-duration@^3.15.3: - version "3.27.3" - resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.27.3.tgz#db654e72ebf5ccfe232c7f56bc58aa3a6fe4df88" - integrity sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw== - -husky@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" - integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -ieee754@^1.1.13, ieee754@^1.1.4: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -inquirer@^7.0.0: - version "7.3.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" - integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== - dependencies: - ansi-escapes "^4.2.1" - chalk "^4.1.0" - cli-cursor "^3.1.0" - cli-width "^3.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.19" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.6.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-slot@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" - integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - side-channel "^1.0.4" - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-docker@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-interactive@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" - integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-reference@^1.1.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - -is-wsl@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - 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" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" - integrity sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw== - dependencies: - "@jest/types" "^25.5.0" - execa "^3.2.0" - throat "^5.0.0" - -jest-changed-files@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289" - integrity sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA== - dependencies: - execa "^5.0.0" - p-limit "^3.1.0" - -jest-circus@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.3.1.tgz#177d07c5c0beae8ef2937a67de68f1e17bbf1b4a" - integrity sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/expect" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - is-generator-fn "^2.0.0" - jest-each "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-runtime "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - p-limit "^3.1.0" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.5.4.tgz#b9f1a84d1301a92c5c217684cb79840831db9f0d" - integrity sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw== - dependencies: - "@jest/core" "^25.5.4" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.5.4" - jest-util "^25.5.0" - jest-validate "^25.5.0" - prompts "^2.0.1" - realpath-native "^2.0.0" - yargs "^15.3.1" - -jest-cli@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.3.1.tgz#e89dff427db3b1df50cea9a393ebd8640790416d" - integrity sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ== - dependencies: - "@jest/core" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - prompts "^2.0.1" - yargs "^17.3.1" - -jest-config@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.5.4.tgz#38e2057b3f976ef7309b2b2c8dcd2a708a67f02c" - integrity sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.5.4" - "@jest/types" "^25.5.0" - babel-jest "^25.5.1" - chalk "^3.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.4" - jest-environment-jsdom "^25.5.0" - jest-environment-node "^25.5.0" - jest-get-type "^25.2.6" - jest-jasmine2 "^25.5.4" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - micromatch "^4.0.2" - pretty-format "^25.5.0" - realpath-native "^2.0.0" - -jest-config@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.3.1.tgz#0bc3dcb0959ff8662957f1259947aedaefb7f3c6" - integrity sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.3.1" - "@jest/types" "^29.3.1" - babel-jest "^29.3.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.3.1" - jest-environment-node "^29.3.1" - jest-get-type "^29.2.0" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-runner "^29.3.1" - jest-util "^29.3.1" - jest-validate "^29.3.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.3.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^25.2.1, jest-diff@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-docblock@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" - integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== - dependencies: - detect-newline "^3.0.0" - -jest-docblock@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" - integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== - dependencies: - detect-newline "^3.0.0" - -jest-each@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.5.0.tgz#0c3c2797e8225cb7bec7e4d249dcd96b934be516" - integrity sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - jest-get-type "^25.2.6" - jest-util "^25.5.0" - pretty-format "^25.5.0" - -jest-each@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.3.1.tgz#bc375c8734f1bb96625d83d1ca03ef508379e132" - integrity sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA== - dependencies: - "@jest/types" "^29.3.1" - chalk "^4.0.0" - jest-get-type "^29.2.0" - jest-util "^29.3.1" - pretty-format "^29.3.1" - -jest-environment-jsdom@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz#dcbe4da2ea997707997040ecf6e2560aec4e9834" - integrity sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - jsdom "^15.2.1" - -jest-environment-node@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.5.0.tgz#0f55270d94804902988e64adca37c6ce0f7d07a1" - integrity sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA== - dependencies: - "@jest/environment" "^25.5.0" - "@jest/fake-timers" "^25.5.0" - "@jest/types" "^25.5.0" - jest-mock "^25.5.0" - jest-util "^25.5.0" - semver "^6.3.0" - -jest-environment-node@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.3.1.tgz#5023b32472b3fba91db5c799a0d5624ad4803e74" - integrity sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-mock "^29.3.1" - jest-util "^29.3.1" - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - -jest-haste-map@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" - integrity sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ== - dependencies: - "@jest/types" "^25.5.0" - "@types/graceful-fs" "^4.1.2" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-serializer "^25.5.0" - jest-util "^25.5.0" - jest-worker "^25.5.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-haste-map@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.3.1.tgz#af83b4347f1dae5ee8c2fb57368dc0bb3e5af843" - integrity sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A== - dependencies: - "@jest/types" "^29.3.1" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.2.0" - jest-util "^29.3.1" - jest-worker "^29.3.1" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz#66ca8b328fb1a3c5364816f8958f6970a8526968" - integrity sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.5.0" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.5.0" - is-generator-fn "^2.0.0" - jest-each "^25.5.0" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-runtime "^25.5.4" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - pretty-format "^25.5.0" - throat "^5.0.0" - -jest-leak-detector@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz#2291c6294b0ce404241bb56fe60e2d0c3e34f0bb" - integrity sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA== - dependencies: - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-leak-detector@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz#95336d020170671db0ee166b75cd8ef647265518" - integrity sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA== - dependencies: - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-matcher-utils@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz#fbc98a12d730e5d2453d7f1ed4a4d948e34b7867" - integrity sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw== - dependencies: - chalk "^3.0.0" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== - dependencies: - chalk "^4.0.0" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - -jest-message-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.5.0.tgz#ea11d93204cc7ae97456e1d8716251185b8880ea" - integrity sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - graceful-fs "^4.2.4" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" - -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.5.0.tgz#a91a54dabd14e37ecd61665d6b6e06360a55387a" - integrity sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA== - dependencies: - "@jest/types" "^25.5.0" - -jest-mock@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e" - integrity sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - jest-util "^29.3.1" - -jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" - integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== - -jest-regex-util@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" - integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== - -jest-resolve-dependencies@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz#85501f53957c8e3be446e863a74777b5a17397a7" - integrity sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw== - dependencies: - "@jest/types" "^25.5.0" - jest-regex-util "^25.2.6" - jest-snapshot "^25.5.1" - -jest-resolve-dependencies@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz#a6a329708a128e68d67c49f38678a4a4a914c3bf" - integrity sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA== - dependencies: - jest-regex-util "^29.2.0" - jest-snapshot "^29.3.1" - -jest-resolve@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.5.1.tgz#0e6fbcfa7c26d2a5fe8f456088dc332a79266829" - integrity sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ== - dependencies: - "@jest/types" "^25.5.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - graceful-fs "^4.2.4" - jest-pnp-resolver "^1.2.1" - read-pkg-up "^7.0.1" - realpath-native "^2.0.0" - resolve "^1.17.0" - slash "^3.0.0" - -jest-resolve@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.3.1.tgz#9a4b6b65387a3141e4a40815535c7f196f1a68a7" - integrity sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-pnp-resolver "^1.2.2" - jest-util "^29.3.1" - jest-validate "^29.3.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.5.4.tgz#ffec5df3875da5f5c878ae6d0a17b8e4ecd7c71d" - integrity sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg== - dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-docblock "^25.3.0" - jest-haste-map "^25.5.1" - jest-jasmine2 "^25.5.4" - jest-leak-detector "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - jest-runtime "^25.5.4" - jest-util "^25.5.0" - jest-worker "^25.5.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runner@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.3.1.tgz#a92a879a47dd096fea46bb1517b0a99418ee9e2d" - integrity sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA== - dependencies: - "@jest/console" "^29.3.1" - "@jest/environment" "^29.3.1" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.2.0" - jest-environment-node "^29.3.1" - jest-haste-map "^29.3.1" - jest-leak-detector "^29.3.1" - jest-message-util "^29.3.1" - jest-resolve "^29.3.1" - jest-runtime "^29.3.1" - jest-util "^29.3.1" - jest-watcher "^29.3.1" - jest-worker "^29.3.1" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^25.5.4: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.5.4.tgz#dc981fe2cb2137abcd319e74ccae7f7eeffbfaab" - integrity sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ== - dependencies: - "@jest/console" "^25.5.0" - "@jest/environment" "^25.5.0" - "@jest/globals" "^25.5.2" - "@jest/source-map" "^25.5.0" - "@jest/test-result" "^25.5.0" - "@jest/transform" "^25.5.1" - "@jest/types" "^25.5.0" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.4" - jest-config "^25.5.4" - jest-haste-map "^25.5.1" - jest-message-util "^25.5.0" - jest-mock "^25.5.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.5.1" - jest-snapshot "^25.5.1" - jest-util "^25.5.0" - jest-validate "^25.5.0" - realpath-native "^2.0.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-runtime@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.3.1.tgz#21efccb1a66911d6d8591276a6182f520b86737a" - integrity sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A== - dependencies: - "@jest/environment" "^29.3.1" - "@jest/fake-timers" "^29.3.1" - "@jest/globals" "^29.3.1" - "@jest/source-map" "^29.2.0" - "@jest/test-result" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.3.1" - jest-message-util "^29.3.1" - jest-mock "^29.3.1" - jest-regex-util "^29.2.0" - jest-resolve "^29.3.1" - jest-snapshot "^29.3.1" - jest-util "^29.3.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.5.0.tgz#a993f484e769b4ed54e70e0efdb74007f503072b" - integrity sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA== - dependencies: - graceful-fs "^4.2.4" - -jest-snapshot@^25.5.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" - integrity sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^25.5.0" - "@types/prettier" "^1.19.0" - chalk "^3.0.0" - expect "^25.5.0" - graceful-fs "^4.2.4" - jest-diff "^25.5.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.5.0" - jest-message-util "^25.5.0" - jest-resolve "^25.5.1" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^25.5.0" - semver "^6.3.0" - -jest-snapshot@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.3.1.tgz#17bcef71a453adc059a18a32ccbd594b8cc4e45e" - integrity sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.3.1" - "@jest/transform" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/babel__traverse" "^7.0.6" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.3.1" - graceful-fs "^4.2.9" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - jest-haste-map "^29.3.1" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - natural-compare "^1.4.0" - pretty-format "^29.3.1" - semver "^7.3.5" - -jest-util@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.5.0.tgz#31c63b5d6e901274d264a4fec849230aa3fa35b0" - integrity sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA== - dependencies: - "@jest/types" "^25.5.0" - chalk "^3.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.5.0.tgz#fb4c93f332c2e4cf70151a628e58a35e459a413a" - integrity sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ== - dependencies: - "@jest/types" "^25.5.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.2.6" - leven "^3.1.0" - pretty-format "^25.5.0" - -jest-validate@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.3.1.tgz#d56fefaa2e7d1fde3ecdc973c7f7f8f25eea704a" - integrity sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g== - dependencies: - "@jest/types" "^29.3.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.2.0" - leven "^3.1.0" - pretty-format "^29.3.1" - -jest-watch-typeahead@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" - integrity sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-regex-util "^25.2.1" - jest-watcher "^25.2.4" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^6.0.0" - -jest-watcher@^25.2.4, jest-watcher@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.5.0.tgz#d6110d101df98badebe435003956fd4a465e8456" - integrity sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q== - dependencies: - "@jest/test-result" "^25.5.0" - "@jest/types" "^25.5.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.5.0" - string-length "^3.1.0" - -jest-watcher@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.3.1.tgz#3341547e14fe3c0f79f9c3a4c62dbc3fc977fd4a" - integrity sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg== - dependencies: - "@jest/test-result" "^29.3.1" - "@jest/types" "^29.3.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.3.1" - string-length "^4.0.1" - -jest-worker@^24.0.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz#2611d071b79cea0f43ee57a3d118593ac1547db1" - integrity sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b" - integrity sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw== - dependencies: - "@types/node" "*" - jest-util "^29.3.1" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^25.3.0: - version "25.5.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" - integrity sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ== - dependencies: - "@jest/core" "^25.5.4" - import-local "^3.0.2" - jest-cli "^25.5.4" - -jest@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.3.1.tgz#c130c0d551ae6b5459b8963747fed392ddbde122" - integrity sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA== - dependencies: - "@jest/core" "^29.3.1" - "@jest/types" "^29.3.1" - import-local "^3.0.2" - jest-cli "^29.3.1" - -jpjs@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" - integrity sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jscodeshift@^0.13.0: - version "0.13.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" - integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== - dependencies: - "@babel/core" "^7.13.16" - "@babel/parser" "^7.13.16" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - "@babel/plugin-transform-modules-commonjs" "^7.13.8" - "@babel/preset-flow" "^7.13.13" - "@babel/preset-typescript" "^7.13.0" - "@babel/register" "^7.13.16" - babel-core "^7.0.0-bridge.0" - chalk "^4.1.2" - flow-parser "0.*" - graceful-fs "^4.2.4" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.20.4" - temp "^0.8.4" - write-file-atomic "^2.3.0" - -jscodeshift@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.6.4.tgz#e19ab86214edac86a75c4557fc88b3937d558a8e" - integrity sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ== - dependencies: - "@babel/core" "^7.1.6" - "@babel/parser" "^7.1.6" - "@babel/plugin-proposal-class-properties" "^7.1.0" - "@babel/plugin-proposal-object-rest-spread" "^7.0.0" - "@babel/preset-env" "^7.1.6" - "@babel/preset-flow" "^7.0.0" - "@babel/preset-typescript" "^7.1.0" - "@babel/register" "^7.0.0" - babel-core "^7.0.0-bridge.0" - colors "^1.1.2" - flow-parser "0.*" - graceful-fs "^4.1.11" - micromatch "^3.1.10" - neo-async "^2.5.0" - node-dir "^0.1.17" - recast "^0.16.1" - temp "^0.8.1" - write-file-atomic "^2.3.0" - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0, json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5-writer@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/json5-writer/-/json5-writer-0.1.8.tgz#98e1934ef6002f8ac12f36438e2b39c49af213fd" - integrity sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw== - dependencies: - jscodeshift "^0.6.3" - -json5@2.x, json5@^2.1.1, json5@^2.1.2, json5@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" - integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.7.tgz#41cc248730f3f12a452c2e2efe32bc0bbce67967" - integrity sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw== - dependencies: - language-subtag-registry "^0.3.20" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -libsodium-sumo@^0.7.0: - version "0.7.10" - resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz#169756dbf32088f42e30dfb0a7860074663fb0b4" - integrity sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA== - -libsodium-wrappers-sumo@^0.7.9: - version "0.7.10" - resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz#592b0cc714ddf3954f93e2292ff3aadebd2b282b" - integrity sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg== - dependencies: - libsodium-sumo "^0.7.0" - -lilconfig@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^1.2.3: - version "1.4.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" - integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" - integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== - dependencies: - chalk "^2.4.2" - -log-update@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" - integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== - dependencies: - ansi-escapes "^3.0.0" - cli-cursor "^2.0.0" - wrap-ansi "^3.0.1" - -log-update@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-3.4.0.tgz#3b9a71e00ac5b1185cc193a36d654581c48f97b9" - integrity sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg== - dependencies: - ansi-escapes "^3.2.0" - cli-cursor "^2.1.0" - wrap-ansi "^5.0.0" - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.2, magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -mico-spinner@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/mico-spinner/-/mico-spinner-1.4.0.tgz#2d754167f9cbdfee61691b80e155b14b826df33f" - integrity sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw== - dependencies: - picocolors "^0.2.0" - -micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" - integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -mri@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" - integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== - -mrmime@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" - integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -msgpack5@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-5.3.2.tgz#679a1f197465f2d446a1d467cf678e3e83bb56dc" - integrity sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A== - dependencies: - bl "^4.0.0" - inherits "^2.0.3" - readable-stream "^3.0.0" - safe-buffer "^5.1.2" - -mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -nan@^2.12.1: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - -nanoid@^3.1.28, nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-dir@^0.1.17: - version "0.1.17" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" - integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== - dependencies: - minimatch "^3.0.2" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" - -node-releases@^2.0.6: - version "2.0.8" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" - integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== - -nofilter@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" - integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w== - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - -object.values@^1.1.5, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -opener@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" - integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== - -optimize-css-assets-webpack-plugin@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz#7719bceabba1f3891ec3ae04efb81a1cc99cd793" - integrity sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ== - dependencies: - cssnano "^5.0.2" - last-call-webpack-plugin "^3.0.0" - postcss "^8.2.1" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -ora@^4.0.3: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" - integrity sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A== - dependencies: - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-spinners "^2.2.0" - is-interactive "^1.0.0" - log-symbols "^3.0.0" - mute-stream "0.0.8" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== - -os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse-ms@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" - integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -pascal-case@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-browserify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" - integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.1.0.tgz#e10d446a03ca5f127e9680865fbfe80ee5148266" - integrity sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw== - -picocolors@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -pnp-webpack-plugin@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz#65741384f6d8056f36e2255a8d67ffc20866f5c9" - integrity sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg== - dependencies: - ts-pnp "^1.1.6" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz#8f97679e67cc8d08677a6519afca41edf2220894" - integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-reduce-initial@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz#c18b7dfb88aee24b1f8e4936541c29adbd35224e" - integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: - version "6.0.11" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^8.2.1, postcss@^8.2.15: - version "8.4.20" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" - integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-format@^25.2.1, pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-ms@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" - integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== - dependencies: - parse-ms "^2.1.0" - -private@~0.1.5: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -progress-estimator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/progress-estimator/-/progress-estimator-0.2.2.tgz#1c3947a5782ea56e40c8fccc290ac7ceeb1b91cb" - integrity sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA== - dependencies: - chalk "^2.4.1" - cli-spinners "^1.3.1" - humanize-duration "^3.15.3" - log-update "^2.3.0" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - -psl@^1.1.28: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -react-is@^16.12.0, react-is@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -realpath-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" - integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== - -recast@^0.16.1: - version "0.16.2" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.16.2.tgz#3796ebad5fe49ed85473b479cd6df554ad725dc2" - integrity sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A== - dependencies: - ast-types "0.11.7" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - -recast@^0.20.4: - version "0.20.5" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" - integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== - dependencies: - ast-types "0.14.2" - esprima "~4.0.0" - source-map "~0.6.1" - tslib "^2.0.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.7: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" - integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.7: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== - -resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.20.0, resolve@^1.22.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@2.6.3, rimraf@~2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rollup-plugin-sourcemaps@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" - integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== - dependencies: - "@rollup/pluginutils" "^3.0.9" - source-map-resolve "^0.6.0" - -rollup-plugin-terser@^5.1.2: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== - dependencies: - "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" - serialize-javascript "^4.0.0" - terser "^4.6.2" - -rollup-plugin-typescript2@^0.27.3: - version "0.27.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz#cd9455ac026d325b20c5728d2cc54a08a771b68b" - integrity sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - find-cache-dir "^3.3.1" - fs-extra "8.1.0" - resolve "1.17.0" - tslib "2.0.1" - -rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - -rollup@^1.32.1: - version "1.32.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" - integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== - dependencies: - "@types/estree" "*" - "@types/node" "*" - acorn "^7.1.0" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" - -rxjs@^6.6.0: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - -sade@^1.4.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" - integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== - dependencies: - mri "^1.1.0" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@7.3.5: - version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shelljs@^0.8.3: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sirv@^1.0.7: - version "1.0.19" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" - integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== - dependencies: - "@polka/url" "^1.0.0-next.20" - mrmime "^1.0.0" - totalist "^1.0.0" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -size-limit@^5.0.4: - version "5.0.5" - resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-5.0.5.tgz#860643aade5dae4bd9afc72ab0ef081e987e5377" - integrity sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg== - dependencies: - bytes-iec "^3.1.1" - chokidar "^3.5.2" - ci-job-number "^1.2.2" - globby "^11.0.4" - lilconfig "^2.0.3" - mico-spinner "^1.3.0" - picocolors "^0.1.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-resolve@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" - integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.12" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" - integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== - dependencies: - escape-string-regexp "^2.0.0" - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-loader@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-2.0.0.tgz#9669602fd4690740eaaec137799a03addbbc393c" - integrity sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -table@^6.0.9: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - 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" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -temp@^0.8.1, temp@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" - integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== - dependencies: - rimraf "~2.6.2" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.6.2: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA== - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -tiny-glob@^0.2.6: - version "0.2.9" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.9.tgz#2212d441ac17928033b110f8b3640683129d31e2" - integrity sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg== - dependencies: - globalyzer "0.1.0" - globrex "^0.1.2" - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -totalist@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" - integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -ts-jest@^25.3.1: - version "25.5.1" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" - integrity sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - micromatch "4.x" - mkdirp "0.x" - semver "6.x" - yargs-parser "18.x" - -ts-migrate-plugins@^0.1.35: - version "0.1.35" - resolved "https://registry.yarnpkg.com/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz#96579e07ba8ffa31ff85dfbdd0220482e641f654" - integrity sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ== - dependencies: - eslint "^7.14.0" - jscodeshift "^0.13.0" - json-schema "^0.4.0" - ts-migrate-server "^0.1.33" - -ts-migrate-server@^0.1.33: - version "0.1.33" - resolved "https://registry.yarnpkg.com/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz#7fc38ac9ce6642399dbfbcb8e46a26e45caea8c4" - integrity sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g== - dependencies: - "@ts-morph/bootstrap" "^0.16.0" - pretty-ms "^7.0.1" - updatable-log "^0.2.0" - -ts-migrate@^0.1.23: - version "0.1.35" - resolved "https://registry.yarnpkg.com/ts-migrate/-/ts-migrate-0.1.35.tgz#705d65e54b9d4a5a72ee11e276bb5a5856a4b340" - integrity sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w== - dependencies: - create-jest-runner "^0.5.3" - json5 "^2.1.1" - json5-writer "^0.1.8" - ts-migrate-plugins "^0.1.35" - ts-migrate-server "^0.1.33" - updatable-log "^0.2.0" - yargs "^15.0.2" - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tsdx@^0.14.1: - version "0.14.1" - resolved "https://registry.yarnpkg.com/tsdx/-/tsdx-0.14.1.tgz#8771d509b6fc523ad971bae3a63ebe3a88355ab3" - integrity sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w== - dependencies: - "@babel/core" "^7.4.4" - "@babel/helper-module-imports" "^7.0.0" - "@babel/parser" "^7.11.5" - "@babel/plugin-proposal-class-properties" "^7.4.4" - "@babel/preset-env" "^7.11.0" - "@babel/traverse" "^7.11.5" - "@rollup/plugin-babel" "^5.1.0" - "@rollup/plugin-commonjs" "^11.0.0" - "@rollup/plugin-json" "^4.0.0" - "@rollup/plugin-node-resolve" "^9.0.0" - "@rollup/plugin-replace" "^2.2.1" - "@types/jest" "^25.2.1" - "@typescript-eslint/eslint-plugin" "^2.12.0" - "@typescript-eslint/parser" "^2.12.0" - ansi-escapes "^4.2.1" - asyncro "^3.0.0" - babel-eslint "^10.0.3" - babel-plugin-annotate-pure-calls "^0.4.0" - babel-plugin-dev-expression "^0.2.1" - babel-plugin-macros "^2.6.1" - babel-plugin-polyfill-regenerator "^0.0.4" - babel-plugin-transform-rename-import "^2.3.0" - camelcase "^6.0.0" - chalk "^4.0.0" - enquirer "^2.3.4" - eslint "^6.1.0" - eslint-config-prettier "^6.0.0" - eslint-config-react-app "^5.2.1" - eslint-plugin-flowtype "^3.13.0" - eslint-plugin-import "^2.18.2" - eslint-plugin-jsx-a11y "^6.2.3" - eslint-plugin-prettier "^3.1.0" - eslint-plugin-react "^7.14.3" - eslint-plugin-react-hooks "^2.2.0" - execa "^4.0.3" - fs-extra "^9.0.0" - jest "^25.3.0" - jest-watch-typeahead "^0.5.0" - jpjs "^1.2.1" - lodash.merge "^4.6.2" - ora "^4.0.3" - pascal-case "^3.1.1" - prettier "^1.19.1" - progress-estimator "^0.2.2" - regenerator-runtime "^0.13.7" - rollup "^1.32.1" - rollup-plugin-sourcemaps "^0.6.2" - rollup-plugin-terser "^5.1.2" - rollup-plugin-typescript2 "^0.27.3" - sade "^1.4.2" - semver "^7.1.1" - shelljs "^0.8.3" - tiny-glob "^0.2.6" - ts-jest "^25.3.1" - tslib "^1.9.3" - typescript "^3.7.3" - -tslib@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" - integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== - -tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.1, tslib@^2.0.3, tslib@^2.3.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - -tsutils@^3.17.1: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript@^3.7.3: - version "3.9.10" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" - integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== - -typescript@^4.4.3: - version "4.9.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" - integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -updatable-log@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/updatable-log/-/updatable-log-0.2.0.tgz#8adfe35dd744bd87e8bf217425e4e8bb81b6f3c6" - integrity sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ== - dependencies: - chalk "^2.4.2" - figures "^3.0.0" - log-update "^3.3.0" - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -urlsafe-base64@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" - integrity sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA== - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - -v8-to-istanbul@^4.1.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" - integrity sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -v8-to-istanbul@^9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" - integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@^1.0.8, walker@~1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -weak-map@~1.0.x: - version "1.0.8" - resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3" - integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw== - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-bundle-analyzer@^4.4.2: - version "4.7.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz#33c1c485a7fcae8627c547b5c3328b46de733c66" - integrity sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg== - dependencies: - acorn "^8.0.4" - acorn-walk "^8.0.0" - chalk "^4.1.0" - commander "^7.2.0" - gzip-size "^6.0.0" - lodash "^4.17.20" - opener "^1.5.2" - sirv "^1.0.7" - ws "^7.3.1" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.44.1: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== - -which@^1.2.9, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" - integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - -wrap-ansi@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^2.3.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-file-atomic@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^7.0.0, ws@^7.3.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xregexp@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-5.1.1.tgz#6d3fe18819e3143aaf52f9284d34f49a59583ebb" - integrity sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg== - dependencies: - "@babel/runtime-corejs3" "^7.16.5" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@18.x, yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^15.0.2, yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.3.1: - version "17.6.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" - integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== - 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" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From f2dcac9d0f2c4829a86ce79239993d0441b7ab14 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Wed, 18 Jan 2023 12:34:15 -0800 Subject: [PATCH 010/463] Work towards a remote Habery and account tracking for a Signify client. Signed-off-by: pfeairheller --- src/keri/app/accountant.ts | 30 ++++++++ src/keri/app/apping.ts | 12 ++++ src/keri/app/client.ts | 30 ++++++++ src/keri/app/habery.ts | 135 ++++++++++++++++++++++++++++++++++++ src/keri/app/signify.ts | 12 ++++ src/keri/app/tsconfig.json | 100 ++++++++++++++++++++++++++ src/keri/core/core.ts | 28 +------- src/keri/core/manager.ts | 26 ++++++- src/keri/core/tsconfig.json | 2 +- src/keri/core/verfer.ts | 4 +- test/app/accountant.test.ts | 29 ++++++++ test/app/habery.test.ts | 20 ++++++ test/core/manager.test.ts | 1 - 13 files changed, 396 insertions(+), 33 deletions(-) create mode 100644 src/keri/app/accountant.ts create mode 100644 src/keri/app/apping.ts create mode 100644 src/keri/app/client.ts create mode 100644 src/keri/app/habery.ts create mode 100644 src/keri/app/signify.ts create mode 100644 src/keri/app/tsconfig.json create mode 100644 test/app/accountant.test.ts create mode 100644 test/app/habery.test.ts diff --git a/src/keri/app/accountant.ts b/src/keri/app/accountant.ts new file mode 100644 index 00000000..06a7ef16 --- /dev/null +++ b/src/keri/app/accountant.ts @@ -0,0 +1,30 @@ +import {Manager} from "../core/manager"; + + +export class Accountant { + private readonly _agentKey: string + private readonly _mgr: Manager + private readonly _ready: Promise + + constructor(mgr: Manager, agentKey: string) { + this._mgr = mgr + this._agentKey = agentKey + this._ready = new Promise(()=>{}) + } + + get ready(): Promise { + return this._ready + } + + + sign() { + return this._mgr + + } + + verify() { + return this._agentKey + } + + +} \ No newline at end of file diff --git a/src/keri/app/apping.ts b/src/keri/app/apping.ts new file mode 100644 index 00000000..5775c7fd --- /dev/null +++ b/src/keri/app/apping.ts @@ -0,0 +1,12 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {Salter} from "../core/salter"; + + +export function randomPasscode(): string { + let raw = libsodium.randombytes_buf(16); + let salter = new Salter({raw: raw}) + + return salter.qb64.substring(2) +} + + diff --git a/src/keri/app/client.ts b/src/keri/app/client.ts new file mode 100644 index 00000000..a2f6c975 --- /dev/null +++ b/src/keri/app/client.ts @@ -0,0 +1,30 @@ + + +export class Client { + private readonly _url: string + + constructor(url: string) { + this._url = url + } + + url(path: string): string { + let url = new URL(path, this._url) + + return url.href + } + + getAccount(name: string): Promise { + let url = this.url(`/account/${name}`) + let req = new Request(url, {method: "GET"}) + return fetch(req) + } + + createAccount(name: string, key: string, ndig: string): Promise { + let url = this.url(`/account/${name}`) + let body = {key, ndig} + let req = new Request(url, {method: "POST", body: JSON.stringify(body)}) + return fetch(req) + } + + +} \ No newline at end of file diff --git a/src/keri/app/habery.ts b/src/keri/app/habery.ts new file mode 100644 index 00000000..0ebe572b --- /dev/null +++ b/src/keri/app/habery.ts @@ -0,0 +1,135 @@ +import {Algos, Manager} from "../core/manager"; +import {MtrDex} from "../core/matter"; +import {Salter} from "../core/salter"; +import {Verfer} from "../core/verfer"; +import {Diger} from "../core/diger"; + + +export class TraitCodex { + EstOnly: string = 'EO' // Only allow establishment events + DoNotDelegate: string = 'DND' // Dot not allow delegated identifiers +} + +export const TraitDex = new TraitCodex() + +export interface HaberyArgs { + name: string + passcode?: string + seed?: string | undefined + aeid?: string | undefined + pidx?: number | undefined + salt?: string | undefined + tier?: string | undefined + +} + +export interface MakeHabArgs { + code?: string + transferable?: boolean + isith?: string + icount?: number + nsith?: string + ncount?: number + toad?: string | number + wits?: Array + delpre?: string + estOnly?: boolean + DnD?: boolean + data?: any +} + +export class Habery { + private readonly _name: string; + private readonly _mgr: Manager; + + constructor({name, passcode, seed, aeid, pidx, salt}: HaberyArgs) { + this._name = name + if (passcode != undefined && seed == undefined) { + if (passcode.length < 21) { + throw new Error("Bran (passcode seed material) too short.") + } + + let bran = MtrDex.Salt_128 + 'A' + passcode.substring(0, 21) // qb64 salt for seed + let signer = new Salter({qb64: bran}).signer(MtrDex.Ed25519_Seed, false) + seed = signer.qb64 + if (aeid == undefined) { + aeid = signer.verfer.qb64 // lest it remove encryption + } + } + let algo; + + if (salt != undefined) { + algo = Algos.salty + salt = new Salter({qb64: salt}).qb64 + } else { + algo = Algos.randy + } + + // TODO: Have to determine if there is already an Accountant (Keystore call for A + + this._mgr = new Manager({seed: seed, aeid: aeid, pidx: pidx, algo: algo, salt: salt}) + } + + get mgr(): Manager { + return this._mgr + } + + makeHab({code = MtrDex.Blake3_256, transferable = true, isith = undefined, icount = 1, nsith = undefined, + ncount = undefined, toad = undefined, wits = undefined, delpre = undefined, estOnly = false, + DnD = false, data = undefined}: MakeHabArgs) { + + if (nsith == undefined) { + nsith = isith + } + if (ncount == undefined) { + ncount = icount + } + if (!transferable) { + ncount = 0 + nsith = "0" + code = MtrDex.Ed25519N + } + + let [verfers, digers] = this._mgr.incept({ + icount: icount, ncount: ncount, stem: this.name, + transferable: transferable, temp: false + }) + + icount = verfers.length + ncount = digers != undefined ? digers.length : 0 + if (isith == undefined) { + isith = `${Math.max(1, Math.ceil(icount/2)).toString(16)}` + } + if (nsith == undefined) { + nsith = `${Math.max(1, Math.ceil(ncount/2)).toString(16)}` + } + + let cnfg = new Array() + if (estOnly) { + cnfg.push(TraitDex.EstOnly) + } + if(DnD) { + cnfg.push(TraitDex.DoNotDelegate) + } + + let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + let ndigs = Array.from(digers, (diger: Diger) => diger.qb64) + + return { + delpre: delpre, + keys: keys, + isith: isith, + nsith: nsith, + ndigs: ndigs, + toad: toad, + wits: wits, + cnfg: cnfg, + code: code, + data: data + } + } + + get name(): string { + return this._name + } +} \ No newline at end of file diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts new file mode 100644 index 00000000..6e8a4dfd --- /dev/null +++ b/src/keri/app/signify.ts @@ -0,0 +1,12 @@ +import {Habery} from "./habery"; +import {Accountant} from "./accountant"; +import {Client} from "./client"; + + +export class Signify { + private readonly _hby?: Habery + private readonly _act?: Accountant + private readonly _client?: Client + constructor(url:string, name:string, passcode: string) { + } +} \ No newline at end of file diff --git a/src/keri/app/tsconfig.json b/src/keri/app/tsconfig.json new file mode 100644 index 00000000..df974420 --- /dev/null +++ b/src/keri/app/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index bf053e50..49d067f9 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,6 +1,4 @@ -const util = require('./utils'); import {TextEncoder, TextDecoder} from 'util' - export const VERRAWSIZE = 6; export const Versionage = {major: 1, minor: 0}; export const Serialage = {json: '', mgpk: '', cbor: ''}; @@ -45,30 +43,6 @@ export const VERFULLSIZE = 17; export const MINSNIFFSIZE = 12 + VERFULLSIZE; export const MINSIGSIZE = 4; -/** - * @description It will return version string - */ -export function versify(version: { major: number, minor: number }, kind = Serials.json, size: number) { - if (!(Object.values(Serials).indexOf(kind) > -1)) { - throw new Error('Invalid serialization kind =' + kind); - } - - if (!version) { - version = Versionage; - } - - const hex1 = version.major.toString(16); - const hex2 = version.minor.toString(16); - const kindHex = kind; - const hex3 = util.pad(size.toString(16), VERRAWSIZE); - - return `KERI${hex1}${hex2}${kindHex}${hex3}_`; -} - -Vstrings.json = versify(Versionage, Serials.json, 0); -Vstrings.mgpk = versify(Versionage, Serials.mgpk, 0); -Vstrings.cbor = versify(Versionage, Serials.cbor, 0); - // const version_pattern = 'KERI(?P[0-9a-f])(?P[0-9a-f]) // (?P[A-Z]{4})(?P[0-9a-f]{6})' // const version_pattern1 = `KERI\(\?P\[0\-9a\-f\]\)\(\?P\[0\-9a\-f\]\)\ @@ -171,4 +145,4 @@ export function readInt(array: Uint8Array) { value = (value * 256) + array[i]; } return value; -} \ No newline at end of file +} diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index da7655c7..04c9bf7c 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -150,6 +150,28 @@ export class Creatory { } } +export function openManager(passcode: string, salt?: string) { + if (passcode.length < 21) { + throw new Error("Bran (passcode seed material) too short.") + } + + let bran = MtrDex.Salt_128 + 'A' + passcode.substring(0, 21) // qb64 salt for seed + let signer = new Salter({qb64: bran}).signer(MtrDex.Ed25519_Seed, false) + let seed = signer.qb64 + let aeid = signer.verfer.qb64 // lest it remove encryption + + let algo; + + if (salt != undefined) { + algo = Algos.salty + salt = new Salter({qb64: salt}).qb64 + } else { + algo = Algos.randy + } + + return new Manager({seed: seed, aeid: aeid, algo: algo, salt: salt}) +} + export interface ManagerArgs { ks?: KeyStore | undefined seed?: string | undefined @@ -160,7 +182,7 @@ export interface ManagerArgs { tier?: string | undefined } -interface InceptArgs { +export interface InceptArgs { icodes?: any | undefined icount?: number icode?: string @@ -201,7 +223,7 @@ export class Manager { private _seed: string private _encrypter: Encrypter | undefined private _decrypter: Decrypter | undefined - private _ks: KeyStore + private readonly _ks: KeyStore constructor({ks, seed, aeid, pidx, algo, salt, tier}: ManagerArgs) { diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json index df974420..2d988405 100644 --- a/src/keri/core/tsconfig.json +++ b/src/keri/core/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "es6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES2021", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts index 87a20cfe..1fd5d2fb 100644 --- a/src/keri/core/verfer.ts +++ b/src/keri/core/verfer.ts @@ -1,13 +1,13 @@ export {}; const libsodium = require('libsodium-wrappers-sumo'); -const {Matter} = require('./matter'); -import {MatterArgs, MtrDex} from './matter'; +import {Matter, MatterArgs, MtrDex} from './matter'; /** * @description Verfer :sublclass of Matter,helps to verify signature of serialization * using .raw as verifier key and .code as signature cypher suite */ export class Verfer extends Matter { + private readonly _verify: (sig: any, ser: any, key: any) => boolean; constructor({raw, code, qb64, qb64b, qb2}: MatterArgs) { super({raw, code, qb64, qb64b, qb2}); diff --git a/test/app/accountant.test.ts b/test/app/accountant.test.ts new file mode 100644 index 00000000..402e1703 --- /dev/null +++ b/test/app/accountant.test.ts @@ -0,0 +1,29 @@ +import {Accountant} from "../../src/keri/app/accountant"; +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; +import {openManager} from "../../src/keri/core/manager"; +import {Signer} from "../../src/keri/core/signer"; +import {MtrDex} from "../../src/keri/core/matter"; + +describe('Accountant', () => { + it('manage account AID signing and agent verification', async () => { + await libsodium.ready; + let passcode = "0123456789abcdefghijk" + let mgr = openManager(passcode) + assert.equal(mgr.aeid, "BMbZTXzB7LmWPT2TXLGV88PQz5vDEM2L2flUs2yxn3U9") + + let raw = new Uint8Array([187, 140, 234, 145, 219, 254, 20, 194, 16, 18, 97, 194, 140, 192, 61, 145, 222, 110, + 59, 160, 152, 2, 72, 122, 87, 143, 109, 39, 98, 153, 192, 148]) + let agentSigner = new Signer({raw: raw, code: MtrDex.Ed25519_Seed, transferable: false}) + assert.equal(agentSigner.verfer.qb64, "BHptu91ecGv_mxO8T3b98vNQUCghT8nfYkWRkVqOZark") + let agentKey = agentSigner.verfer.qb64 + + // New account needed. Send to remote my name and encryption pubk and get back + // their pubk and and my encrypted account package + // let pkg = {} + let accountant = new Accountant(mgr, agentKey) + assert.notEqual(accountant, undefined) + + + }) +}) \ No newline at end of file diff --git a/test/app/habery.test.ts b/test/app/habery.test.ts new file mode 100644 index 00000000..55755079 --- /dev/null +++ b/test/app/habery.test.ts @@ -0,0 +1,20 @@ +import {Habery} from "../../src/keri/app/habery"; +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; +import {Salter} from "../../src/keri/core/salter"; +import {b} from "../../src/keri/core/core"; + +describe('Habery', () => { + it('should manage AID creation and rotation', async () => { + await libsodium.ready; + let salt = new Salter({raw: b('0123456789abcdef')}).qb64 + let hab = new Habery({name: "signify", salt: salt, passcode: "0123456789abcdefghijk"}) + + assert.equal(hab.mgr.aeid, "BMbZTXzB7LmWPT2TXLGV88PQz5vDEM2L2flUs2yxn3U9") + + let icp = hab.makeHab({}) + + assert.deepStrictEqual(icp["keys"], ["DAQVURvW74OJH1Q0C6YLim_tdBYoXABwg6GsAlPaUJXE"]) + assert.deepStrictEqual(icp["ndigs"], ["ENBWnU8wNHqq9oqJIimWhxUtNDHReUXtiCwwtjg9zKY0"]) + }) +}) \ No newline at end of file diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index 3db6c951..6c832da5 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -119,7 +119,6 @@ describe('Creator', () => { creator = new Creatory(Algos.randy).make(salt) assert.equal(creator instanceof RandyCreator, true) - }) }) From ff169cbabea43cfb1748c8bbf86605ad45a05ffb Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 20 Jan 2023 19:18:53 -0800 Subject: [PATCH 011/463] Multiple operational modes for Manager. It can now support HDK key generation with or without enryption or random key generation with encryption. Signed-off-by: pfeairheller --- src/keri/core/manager.ts | 276 ++++++++++++++++++++++++++++---------- test/core/manager.test.ts | 207 +++++++++++++++++++++------- 2 files changed, 357 insertions(+), 126 deletions(-) diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index 04c9bf7c..cf3967b9 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -41,9 +41,39 @@ class PubSet { pubs: Array = new Array() // list qb64 public keys. } +class PubPath { + path: string = "" + code: string = "" + tier: string = Tier.high + temp: boolean = false +} + +class Keys { + private readonly _signers: Array + private readonly _paths?: Array + + constructor(signers: Array, paths?: Array) { + this._signers = signers + if (paths != undefined) { + if (signers.length != paths.length) { + throw new Error("If paths are provided, they must be the same length as signers") + } + } + this._paths = paths + } + + get paths(): Array | undefined { + return this._paths; + } + + get signers(): Array { + return this._signers; + } +} + export interface Creator { - create(codes: Array | undefined, count: number, code: string, transferable: boolean, - pidx: number, ridx: number, kidx: number, temp: boolean): Array + create(codes: Array | undefined, count: number, code: string, transferable: boolean, pidx: number, + ridx: number, kidx: number, temp: boolean): Keys get salt(): string get stem(): string get tier(): Tier @@ -52,7 +82,7 @@ export interface Creator { export class RandyCreator implements Creator { create(codes: Array | undefined = undefined, count: number = 1, code: string = MtrDex.Ed25519_Seed, - transferable: boolean = true): Array { + transferable: boolean = true): Keys { let signers = new Array() if (codes == undefined) { codes = new Array(count).fill(code) @@ -62,7 +92,7 @@ export class RandyCreator implements Creator { signers.push(new Signer({code: code, transferable: transferable})) }) - return signers + return new Keys(signers) } get salt(): string { @@ -103,11 +133,14 @@ export class SaltyCreator implements Creator { } create(codes: Array | undefined = undefined, count: number = 1, code: string = MtrDex.Ed25519_Seed, - transferable: boolean = true, pidx: number = 0, ridx: number = 0, kidx: number = 0, - temp: boolean = false): Array { + transferable: boolean = true, pidx: number = 0, ridx: number = 0, kidx: number = 0, + temp: boolean = false): Keys { + let signers = new Array() + let paths = new Array() + if (codes == undefined) { - codes = new Array(count).fill(code) + codes = new Array(count).fill(code) } let stem = this.stem == "" ? pidx.toString(16) : this.stem @@ -115,15 +148,15 @@ export class SaltyCreator implements Creator { codes.forEach((code, idx) => { let path = stem + ridx.toString(16) + (kidx+idx).toString(16) signers.push(this.salter.signer(code, transferable, path, this.tier, temp)) + paths.push(path) }) - return signers + return new Keys(signers, paths) } - } export class Creatory { - private _make: any + private readonly _make: any constructor(algo: Algos = Algos.salty) { switch(algo) { case Algos.randy: @@ -137,15 +170,15 @@ export class Creatory { } } - make(...args: any[]) { + make(...args: any[]): Creator { return this._make(...args) } - _makeRandy() { + _makeRandy(): Creator { return new RandyCreator() } - _makeSalty(...args: any[]) { + _makeSalty(...args: any[]): Creator { return new SaltyCreator(...args) } } @@ -220,7 +253,8 @@ interface SignArgs { } export class Manager { - private _seed: string + private _seed?: string + private _salt?: string private _encrypter: Encrypter | undefined private _decrypter: Decrypter | undefined private readonly _ks: KeyStore @@ -228,11 +262,11 @@ export class Manager { constructor({ks, seed, aeid, pidx, algo, salt, tier}: ManagerArgs) { this._ks = ks == undefined ? new Keeper() : ks - this._seed = seed == undefined ? "" : seed + this._seed = seed this._encrypter = undefined this._decrypter = undefined - aeid = aeid == undefined ? "" : aeid + aeid = aeid == undefined ? undefined : aeid pidx = pidx == undefined ? 0 : pidx algo = algo == undefined ? Algos.salty : algo @@ -271,15 +305,15 @@ export class Manager { return this._ks } - get encrypter(): Encrypter { - return this._encrypter! + get encrypter(): Encrypter | undefined { + return this._encrypter } - get decrypter(): Decrypter { - return this._decrypter! + get decrypter(): Decrypter | undefined { + return this._decrypter } - get seed(): string { + get seed(): string | undefined { return this._seed } @@ -299,19 +333,22 @@ export class Manager { this.ks.pinGbls('pidx', pidx!.toString(16)) } - get salt(): string | undefined{ - let salt = this.ks.getGbls('salt') - if (this._decrypter != undefined) { - return this._decrypter?.decrypt(b(salt)).qb64 + get salt(): string | undefined { + if (this._decrypter == undefined) { + return this._salt + } else { + let salt = this.ks.getGbls('salt') + return this._decrypter.decrypt(b(salt)).qb64 } - return salt } set salt(salt: string | undefined) { - if(this._encrypter != undefined) { + if(this._encrypter == undefined) { + this._salt = salt + } else { salt = this._encrypter.encrypt(b(salt)).qb64 + this.ks.pinGbls('salt', salt!) } - this.ks.pinGbls('salt', salt!) } get tier(): string | undefined { @@ -332,7 +369,7 @@ export class Manager { this.ks.pinGbls('algo', algo!) } - private updateAeid(aeid: string | undefined, seed: string) { + private updateAeid(aeid: string | undefined, seed?: string) { if (this.aeid != undefined) { let seed = b(this._seed) if (this._seed == undefined || !this._encrypter?.verifySeed(seed)) { @@ -349,9 +386,11 @@ export class Manager { " with provided aeid=${aeid}.`) } } - } else { + } else if (this.algo == Algos.randy) { // Unlike KERIpy, we don't support unencrypted secrets - throw new Error("Invalid use of Manager, unencrypted keystore not supported") + throw new Error("Invalid Manager configuration, encryption must be used with Randy key creation.") + } else { + this._encrypter = undefined } let salt = this.salt @@ -374,7 +413,7 @@ export class Manager { } - this.ks.pinGbls("aeid", aeid) // set aeid in db + this.ks.pinGbls("aeid", aeid!) // set aeid in db this._seed = seed // set .seed in memory // update .decrypter @@ -396,7 +435,7 @@ export class Manager { tier = this.tier } - let pidx = this.pidx + let pidx = this.pidx! let ridx = 0 let kidx = 0 @@ -410,8 +449,8 @@ export class Manager { icodes = new Array(icount).fill(icode) } - let isigners = creator.create(icodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx, kidx, temp) - let verfers = Array.from(isigners, (signer: Signer) => signer.verfer) + let ikeys = creator.create(icodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx, kidx, temp) + let verfers = Array.from(ikeys.signers, (signer: Signer) => signer.verfer) if (ncodes == undefined) { if (ncount < 0) { @@ -421,15 +460,15 @@ export class Manager { ncodes = new Array(ncount).fill(ncode) } - let nsigners = creator.create(ncodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx+1, kidx+icodes.length, + let nkeys = creator.create(ncodes, 0, MtrDex.Ed25519_Seed, transferable, pidx, ridx+1, kidx+icodes.length, temp) - let digers = Array.from(nsigners, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) + let digers = Array.from(nkeys.signers, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) let pp = new PrePrm() pp.pidx = pidx! pp.algo = algo! - pp.salt = creator.salt.length > 0 ? this._encrypter?.encrypt(b(creator.salt)).qb64 : creator.salt + pp.salt = creator.salt.length == 0 || this.encrypter == undefined ? "" : this.encrypter.encrypt(b(creator.salt)).qb64 pp.stem = creator.stem pp.tier = creator.tier @@ -441,7 +480,7 @@ export class Manager { nw.dt = dt let nt = new PubLot() - nt.pubs = Array.from(nsigners, (signer: Signer) => signer.verfer.qb64) + nt.pubs = Array.from(nkeys.signers, (signer: Signer) => signer.verfer.qb64) nt.ridx = ridx + 1 nt.kidx = kidx + icodes.length nt.dt = dt @@ -465,18 +504,41 @@ export class Manager { throw new Error(`Already incepted sit for pre=${pre}.`) } - isigners.forEach((signer: Signer) => { - this.ks.putPris(signer.verfer.qb64, signer, this._encrypter!) - }) + if (this.encrypter != undefined) { // Only store encrypted keys if we have an encrypter, otherwise regenerate + ikeys.signers.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this.encrypter!) + }) + + nkeys.signers.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this.encrypter!) + }) + } else if (this._encrypter == undefined && ikeys.paths != undefined && nkeys.paths != undefined) { + ikeys.paths.forEach((path: string, idx: number) => { + let signer = ikeys.signers[idx] + let ppt = new PubPath() + ppt.path = path + ppt.code = icodes[idx] + ppt.tier = pp.tier + ppt.temp = temp + this.ks.putPths(signer.verfer.qb64, ppt) + }) + nkeys.paths.forEach((path: string, idx: number) => { + let signer = nkeys.signers[idx] + let ppt = new PubPath() + ppt.path = path + ppt.code = ncodes[idx] + ppt.tier = pp.tier + ppt.temp = temp + this.ks.putPths(signer.verfer.qb64, ppt) + }) + } else { + throw new Error("invalid configuration, randy keys without encryption") + } let pubSet = new PubSet() pubSet.pubs = ps.new.pubs this.ks.putPubs(riKey(pre, ridx), pubSet) - nsigners.forEach((signer: Signer) => { - this.ks.putPris(signer.verfer.qb64, signer, this._encrypter!) - }) - let nxtPubSet = new PubSet() nxtPubSet.pubs = ps.nxt.pubs this.ks.putPubs(riKey(pre, ridx+1), nxtPubSet) @@ -575,17 +637,27 @@ export class Manager { let verfers = new Array() ps.new.pubs.forEach((pub) => { - let signer = this.ks.getPris(pub, this.decrypter) - if (signer == undefined) { - throw new Error(`Missing prikey in db for pubkey=${pub}`) + if (this.decrypter != undefined) { + let signer = this.ks.getPris(pub, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${pub}`) + } + verfers.push(signer.verfer) + } else { + // Should we regenerate from salt here since this.decryptor is undefined + verfers.push(new Verfer({qb64: pub})) } - verfers.push(signer.verfer) }) let salt = pp.salt - if (salt != undefined && salt != "") { + if (salt != undefined && salt != "") { // If you provded a Salt for an AID but don't have encryption, pitch a fit + if (this.decrypter == undefined) { + throw new Error("Invalid configuration: AID salt with no encryption") + } salt = this.decrypter.decrypt(b(salt)).qb64 + } else { + salt = this.salt! } let creator = new Creatory(pp.algo).make(salt, pp.tier, pp.stem) @@ -601,12 +673,12 @@ export class Manager { let ridx = ps.new.ridx + 1 let kidx = ps.nxt.kidx + ps.new.pubs.length - let signers = creator.create(ncodes, 0, undefined, transferable, pidx, ridx, kidx, temp) - let digers = Array.from(signers, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) + let keys = creator.create(ncodes, 0, "", transferable, pidx, ridx, kidx, temp) + let digers = Array.from(keys.signers, (signer: Signer) => new Diger({code: dcode}, signer.verfer.qb64b)) let dt = new Date().toString() ps.nxt = new PubLot() - ps.nxt.pubs = Array.from(signers, (signer: Signer) => signer.verfer.qb64) + ps.nxt.pubs = Array.from(keys.signers, (signer: Signer) => signer.verfer.qb64) ps.nxt.ridx = ridx ps.nxt.kidx = kidx ps.nxt.dt = dt @@ -615,9 +687,22 @@ export class Manager { throw new Error(`Problem updating pubsit db for pre=${pre}.`) } - signers.forEach((signer: Signer) => { - this.ks.putPris(signer.verfer.qb64, signer, this.encrypter) - }) + if (this.encrypter != undefined) { // Only store encrypted keys if we have an encrypter, otherwise regenerate + keys.signers.forEach((signer: Signer) => { + this.ks.putPris(signer.verfer.qb64, signer, this.encrypter!) + }) + } else if (this._encrypter == undefined && keys.paths != undefined) { + keys.paths.forEach((path: string, idx: number) => { + let signer = keys.signers[idx] + let ppt = new PubPath() + ppt.path = path + ppt.tier = pp!.tier + ppt.temp = temp + this.ks.putPths(signer.verfer.qb64, ppt) + }) + } else { + throw new Error("invalid configuration, randy keys without encryption") + } let newPs = new PubSet() newPs.pubs = ps.nxt.pubs @@ -625,7 +710,7 @@ export class Manager { if (erase) { old.pubs.forEach((pub) => { - this.ks.remPubs(pub) + this.ks.remPris(pub) }) } @@ -645,19 +730,39 @@ export class Manager { } pubs.forEach((pub) => { - let signer = this.ks.getPris(pub, this.decrypter) - if (signer == undefined) { - throw new Error(`Missing prikey in db for pubkey=${pub}`) + //If no decrypter then get SaltyState and regenerate prikey + if (this.decrypter != undefined) { + let signer = this.ks.getPris(pub, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${pub}`) + } + signers.push(signer) + } else { + let verfer = new Verfer({qb64: pub}) + let ppt = this.ks.getPths(pub) + if (ppt == undefined) { + throw new Error(`Missing prikey in db for pubkey=${pub}`) + } + let salter = new Salter({qb64: this.salt}) + signers.push(salter.signer(ppt.code, verfer.transferable, ppt.path, ppt.tier as Tier, ppt.temp)) } - signers.push(signer) }) } else { verfers!.forEach((verfer: Verfer) => { - let signer = this.ks.getPris(verfer.qb64, this.decrypter) - if (signer == undefined) { - throw new Error(`Missing prikey in db for pubkey=${verfer.qb64}`) + if (this.decrypter != undefined) { + let signer = this.ks.getPris(verfer.qb64, this.decrypter) + if (signer == undefined) { + throw new Error(`Missing prikey in db for pubkey=${verfer.qb64}`) + } + signers.push(signer) + } else { + let ppt = this.ks.getPths(verfer.qb64) + if (ppt == undefined) { + throw new Error(`Missing prikey in db for pubkey=${verfer.qb64}`) + } + let salter = new Salter({qb64: this.salt}) + signers.push(salter.signer(ppt.code, verfer.transferable, ppt.path, ppt.tier as Tier, ppt.temp)) } - signers.push(signer) }) } @@ -712,6 +817,7 @@ export function riKey(pre: string, ridx: number) { } + export interface KeyStore { getGbls(key: string): string | undefined pinGbls(key: string, val: string): void @@ -726,6 +832,11 @@ export interface KeyStore { getPris(keys: string, decrypter: Decrypter): Signer | undefined pinPris(keys: string, data: Signer, encrypter: Encrypter): void putPris(pubKey: string, signer: Signer, encrypter: Encrypter): boolean + remPris(pubKey: string): void + + getPths(pubKey: string): PubPath | undefined + putPths(pubKey: string, val: PubPath): boolean + pinPths(pubKey: string, val: PubPath): boolean getPres(pre: string): Uint8Array | undefined putPres(pre: string, val: Uint8Array): boolean @@ -738,15 +849,16 @@ export interface KeyStore { getPubs(keys: string): PubSet | undefined putPubs(keys: string, data: PubSet): boolean - remPubs(keys: string): boolean } /* In memory test implementation of Keeper key store */ + class Keeper implements KeyStore { private readonly _gbls: Map private readonly _pris: Map + private readonly _pths: Map private readonly _pres: Map private readonly _prms: Map private readonly _sits: Map @@ -755,6 +867,7 @@ class Keeper implements KeyStore { constructor() { this._gbls = new Map() this._pris = new Map() + this._pths = new Map() this._pres = new Map() this._prms = new Map() this._sits = new Map() @@ -779,7 +892,7 @@ class Keeper implements KeyStore { return out } - getPrms(keys: string) :PrePrm | undefined { + getPrms(keys: string): PrePrm | undefined { return this._prms.get(keys) } @@ -801,7 +914,7 @@ class Keeper implements KeyStore { prisElements(decrypter: Decrypter): Array<[string, Signer]> { let out = new Array<[string, Signer]>() - this._pris.forEach(function(val, pubKey) { + this._pris.forEach(function (val, pubKey) { let verfer = new Verfer({qb64: pubKey}) let signer = decrypter.decrypt(val, null, verfer.transferable) out.push([pubKey, signer]) @@ -834,6 +947,25 @@ class Keeper implements KeyStore { return decrypter.decrypt(val, null, verfer.transferable) } + pinPths(pubKey: string, val: PubPath): boolean { + this._pths.set(pubKey, val) + return true + } + + putPths(pubKey: string, val: PubPath): boolean { + if (this._pths.has(pubKey)) { + return false + } + + this._pths.set(pubKey, val) + return true + + } + + getPths(pubKey: string): PubPath | undefined { + return this._pths.get(pubKey) + } + remPris(pubKey: string): void { this._pris.delete(pubKey) } @@ -856,7 +988,7 @@ class Keeper implements KeyStore { return true } - getSits(keys: string) :PreSit | undefined { + getSits(keys: string): PreSit | undefined { return this._sits.get(keys) } @@ -889,8 +1021,4 @@ class Keeper implements KeyStore { this._pubs.set(keys, data) return true } - - remPubs(keys: string): boolean { - return this._pubs.delete(keys) - } } \ No newline at end of file diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index 6c832da5..2509bf91 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -21,25 +21,25 @@ describe('RandyCreator', () => { let randy = new RandyCreator() // test default arguments - let signers = randy.create() - assert.equal(signers.length, 1) - assert.equal(signers[0].qb64.length, 44) - assert.equal(signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(signers[0].transferable, true) + let keys = randy.create() + assert.equal(keys.signers.length, 1) + assert.equal(keys.signers[0].qb64.length, 44) + assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(keys.signers[0].transferable, true) // Create 5 with default code - signers = randy.create(undefined, 5) - assert.equal(signers.length, 5) - signers.forEach((signer) => { + keys = randy.create(undefined, 5) + assert.equal(keys.signers.length, 5) + keys.signers.forEach((signer) => { assert.equal(signer.qb64.length, 44) assert.equal(signer.code, MtrDex.Ed25519_Seed) assert.equal(signer.transferable, true) }) // Create 3 with specified codes (the only one we support) - signers = randy.create([MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed]) - assert.equal(signers.length, 3) - signers.forEach((signer) => { + keys = randy.create([MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed, MtrDex.Ed25519_Seed]) + assert.equal(keys.signers.length, 3) + keys.signers.forEach((signer) => { assert.equal(signer.qb64.length, 44) assert.equal(signer.code, MtrDex.Ed25519_Seed) assert.equal(signer.transferable, true) @@ -59,15 +59,15 @@ describe('SaltyCreator', () => { assert.equal(salty.stem, "") assert.equal(salty.tier, salty.salter.tier) - let signers = salty.create() - assert.equal(signers.length, 1) - assert.equal(signers[0].qb64.length, 44) - assert.equal(signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(signers[0].transferable, true) + let keys = salty.create() + assert.equal(keys.signers.length, 1) + assert.equal(keys.signers[0].qb64.length, 44) + assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(keys.signers[0].transferable, true) - signers = salty.create(undefined, 2, MtrDex.Ed25519_Seed, false) - assert.equal(signers.length, 2) - signers.forEach((signer) => { + keys = salty.create(undefined, 2, MtrDex.Ed25519_Seed, false) + assert.equal(keys.signers.length, 2) + keys.signers.forEach((signer) => { assert.equal(signer.code, MtrDex.Ed25519_Seed) assert.equal(signer.verfer.code, MtrDex.Ed25519N) assert.equal(signer.qb64.length, 44) @@ -84,19 +84,19 @@ describe('SaltyCreator', () => { assert.equal(salty.salt, salty.salter.qb64) assert.equal(salty.stem, "") assert.equal(salty.tier, salty.salter.tier) - signers = salty.create() - assert.equal(signers.length, 1) - assert.equal(signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(signers[0].qb64, "APMJe0lwOpwnX9PkvX1mh26vlzGYl6RWgWGclc8CAQJ9") - assert.equal(signers[0].verfer.code, MtrDex.Ed25519) - assert.equal(signers[0].verfer.qb64, "DMZy6qbgnKzvCE594tQ4SPs6pIECXTYQBH7BkC4hNY3E") - - signers = salty.create(undefined, 1, MtrDex.Ed25519_Seed, false, 0, 0, 0, true) - assert.equal(signers.length, 1) - assert.equal(signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(signers[0].qb64, "AMGrAM0noxLpRteO9mxGT-yzYSrKFwJMuNI4KlmSk26e") - assert.equal(signers[0].verfer.code, MtrDex.Ed25519N) - assert.equal(signers[0].verfer.qb64, "BFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + keys = salty.create() + assert.equal(keys.signers.length, 1) + assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(keys.signers[0].qb64, "APMJe0lwOpwnX9PkvX1mh26vlzGYl6RWgWGclc8CAQJ9") + assert.equal(keys.signers[0].verfer.code, MtrDex.Ed25519) + assert.equal(keys.signers[0].verfer.qb64, "DMZy6qbgnKzvCE594tQ4SPs6pIECXTYQBH7BkC4hNY3E") + + keys = salty.create(undefined, 1, MtrDex.Ed25519_Seed, false, 0, 0, 0, true) + assert.equal(keys.signers.length, 1) + assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) + assert.equal(keys.signers[0].qb64, "AMGrAM0noxLpRteO9mxGT-yzYSrKFwJMuNI4KlmSk26e") + assert.equal(keys.signers[0].verfer.code, MtrDex.Ed25519N) + assert.equal(keys.signers[0].verfer.qb64, "BFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") }) }) @@ -109,30 +109,31 @@ describe('Creator', () => { let salter = new Salter({raw: b(raw)}) let salt = salter.qb64 - let creator = new Creatory(Algos.salty).make(salt) + let creator = new Creatory(Algos.salty).make(salt) as SaltyCreator assert.equal(creator instanceof SaltyCreator, true) assert.equal(creator.salter.qb64, salt) - creator = new Creatory().make(salt) + creator = new Creatory().make(salt) as SaltyCreator assert.equal(creator instanceof SaltyCreator, true) assert.equal(creator.salter.qb64, salt) - creator = new Creatory(Algos.randy).make(salt) - assert.equal(creator instanceof RandyCreator, true) + let rcreator = new Creatory(Algos.randy).make(salt) as RandyCreator + assert.equal(rcreator instanceof RandyCreator, true) }) }) +const ser = '{"vs":"KERI10JSON0000fb_","pre":"EvEnZMhz52iTrJU8qKwtDxzmypyosgG' + + '70m6LIjkiCdoI","sn":"0","ilk":"icp","sith":"1","keys":["DSuhyBcP' + + 'ZEZLK-fcw5tzHn2N46wRCG_ZOoeKtWTOunRA"],"nxt":"EPYuj8mq_PYYsoBKkz' + + 'X1kxSPGYBWaIya3slgCOyOtlqU","toad":"0","wits":[],"cnfg":[]}-AABA' + + 'ApYcYd1cppVg7Inh2YCslWKhUwh59TrPpIoqWxN2A38NCbTljvmBPBjSGIFDBNOv' + + 'VjHpdZlty3Hgk6ilF8pVpAQ' + + describe('Manager', () => { it('should manage key pairs for identifiers', async () => { await libsodium.ready; - let ser = '{"vs":"KERI10JSON0000fb_","pre":"EvEnZMhz52iTrJU8qKwtDxzmypyosgG' + - '70m6LIjkiCdoI","sn":"0","ilk":"icp","sith":"1","keys":["DSuhyBcP' + - 'ZEZLK-fcw5tzHn2N46wRCG_ZOoeKtWTOunRA"],"nxt":"EPYuj8mq_PYYsoBKkz' + - 'X1kxSPGYBWaIya3slgCOyOtlqU","toad":"0","wits":[],"cnfg":[]}-AABA' + - 'ApYcYd1cppVg7Inh2YCslWKhUwh59TrPpIoqWxN2A38NCbTljvmBPBjSGIFDBNOv' + - 'VjHpdZlty3Hgk6ilF8pVpAQ' - let raw = "0123456789abcdef" let salter = new Salter({raw: b(raw)}) let salt = salter.qb64 @@ -142,7 +143,7 @@ describe('Manager', () => { // Create a Manager without encryption should raise an exception assert.throws(() => { - new Manager({salt: salt}) + new Manager({salt: salt, algo: Algos.randy}) }) // cryptseed0 = b('h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf') @@ -168,8 +169,8 @@ describe('Manager', () => { assert.equal(encrypter1.verifySeed(seed1), true) let manager = new Manager({seed: seed0, salt: salt, aeid: aeid0}) - assert.equal(manager.encrypter.qb64, encrypter0.qb64) - assert.equal(manager.decrypter.qb64, decrypter0.qb64) + assert.equal(manager.encrypter!.qb64, encrypter0.qb64) + assert.equal(manager.decrypter!.qb64, decrypter0.qb64) assert.equal(manager.seed, seed0) assert.equal(manager.aeid, aeid0) @@ -191,7 +192,7 @@ describe('Manager', () => { let pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 0) assert.equal(pp.algo, Algos.salty) - assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(manager.decrypter!.decrypt(b(pp.salt)).qb64, salt) assert.equal(pp.stem, "") assert.equal(pp.tier, Tier.low) @@ -256,7 +257,7 @@ describe('Manager', () => { assert.equal(pcigars.length, 1) assert.equal(pcigars[0] instanceof Cigar, true) let vcigars = manager.sign({ser: serb, verfers: verfers, indexed: false}) - assert.equal(vcigars.length , 1) + assert.equal(vcigars.length, 1) let pcigs = Array.from(pcigars as Array, (psiger) => psiger.qb64) let vcigs = Array.from(vcigars as Array, (vsiger) => vsiger.qb64) assert.deepStrictEqual(vcigs, pcigs) @@ -272,7 +273,7 @@ describe('Manager', () => { pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 0) assert.equal(pp.algo, Algos.salty) - assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(manager.decrypter!.decrypt(b(pp.salt)).qb64, salt) assert.equal(pp.stem, '') assert.equal(pp.tier, Tier.low) @@ -288,7 +289,7 @@ describe('Manager', () => { assert.equal(ps.nxt.kidx, 2) keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) - assert.deepStrictEqual(keys, ps.new.pubs ) + assert.deepStrictEqual(keys, ps.new.pubs) digs = Array.from(digers, (diger: Diger) => diger.qb64) assert.deepStrictEqual(digs, ['EJczV8HmnEWZiEHw2lVuSatrvzCmJOZ3zpa7JFfrnjau']) @@ -307,7 +308,7 @@ describe('Manager', () => { assert.deepStrictEqual(oldpubs, ps.old.pubs) deadpubs.forEach((pub: string) => { - assert.notEqual(manager.ks.getPris(pub, decrypter0), undefined) + assert.equal(manager.ks.getPris(pub, decrypter0), undefined) }) pl = manager.ks.getPubs(riKey(spre, ps.new.ridx))! @@ -408,7 +409,7 @@ describe('Manager', () => { pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 3) assert.equal(pp.algo, Algos.salty) - assert.equal(manager.decrypter.decrypt(b(pp.salt)).qb64, salt) + assert.equal(manager.decrypter!.decrypt(b(pp.salt)).qb64, salt) assert.equal(pp.stem, 'red') assert.equal(pp.tier, Tier.low) @@ -461,4 +462,106 @@ describe('Manager', () => { assert.notEqual(witpre0, witpre1) }) + + it('should support only Salty/Encrypted, Salty/Unencrypted and Randy/Encrypted', async () => { + await libsodium.ready; + + // Support Salty/Unencrypted - pass only stretched passcode as Salt. + let passcode = "0123456789abcdefghijk" + let salter = new Salter({raw: b(passcode)}) + let salt = salter.qb64 + + let manager = new Manager({salt: salt}) + assert.equal(manager.encrypter, undefined) + + let [verfers, digers] = manager.incept({salt: salt, temp: true}) + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + assert.equal(manager.pidx, 1) + + let spre = verfers[0].qb64 + assert.equal(spre, "DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + let ps = manager.ks.getSits(spre)! + + let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + assert.deepStrictEqual(keys, ps.new.pubs) + + let pl = manager.ks.getPubs(riKey(spre, ps.new.ridx))! + assert.deepStrictEqual(pl.pubs, ps.new.pubs) + pl = manager.ks.getPubs(riKey(spre, ps.nxt.ridx))! + assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) + + let ppt = manager.ks.getPths(ps.new.pubs[0]) + assert.equal(ppt!.path, "000") + assert.equal(ppt!.code, "A") + assert.equal(ppt!.tier, "low") + assert.equal(ppt!.temp, true) + + let digs = Array.from(digers, (diger: Diger) => diger.qb64) + assert.deepStrictEqual(digs, ['EBhBRqVbqhhP7Ciah5pMIOdsY5Mm1ITm2Fjqb028tylu']) + + let serb = b(ser) + let psigers = manager.sign({ser: serb, pubs: ps.new.pubs}) + assert.equal(psigers.length, 1) + assert.equal(psigers[0] instanceof Siger, true) + let vsigers = manager.sign({ser: serb, verfers: verfers}) + let psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) + let vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) + assert.deepStrictEqual(psigs, vsigs) + assert.equal(psigs[0], 'AAAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + + let oldspre = spre + spre = "DCu5o5cxzv1lgMqxMVG3IcCNK4lpFfpMM-9rfkY3XVUc" + manager.move(oldspre, spre) + + + let oldpubs = Array.from(verfers, (verfer) => verfer.qb64) + let hashes = manager.rotate({pre: spre}) + verfers = hashes[0] + digers = hashes[1] + + assert.equal(verfers.length, 1) + assert.equal(digers.length, 1) + let pp = manager.ks.getPrms(spre)! + assert.equal(pp.pidx, 0) + assert.equal(pp.algo, Algos.salty) + assert.equal(pp.salt, '') + assert.equal(pp.stem, '') + assert.equal(pp.tier, Tier.low) + + ps = manager.ks.getSits(spre)! + assert.deepStrictEqual(ps.old.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.equal(ps.new.pubs.length, 1) + assert.deepStrictEqual(ps.new.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.equal(ps.new.ridx, 1) + assert.equal(ps.new.kidx, 1) + assert.equal(ps.nxt.pubs.length, 1) + assert.deepStrictEqual(ps.nxt.pubs, ['DAoQ1WxT29XtCFtOpJZyuO2q38BD8KTefktf7X0WN4YW']) + assert.equal(ps.nxt.ridx, 2) + assert.equal(ps.nxt.kidx, 2) + + keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + assert.deepStrictEqual(keys, ps.new.pubs) + + digs = Array.from(digers, (diger: Diger) => diger.qb64) + assert.deepStrictEqual(digs, ['EJczV8HmnEWZiEHw2lVuSatrvzCmJOZ3zpa7JFfrnjau']) + + assert.deepStrictEqual(oldpubs, ps.old.pubs) + + ppt = manager.ks.getPths(ps.new.pubs[0]) + assert.equal(ppt!.path, "011") + assert.equal(ppt!.code, "A") + assert.equal(ppt!.tier, "low") + assert.equal(ppt!.temp, true) + + psigers = manager.sign({ser: serb, pubs: ps.new.pubs}) + assert.equal(psigers.length, 1) + assert.equal(psigers[0] instanceof Siger, true) + vsigers = manager.sign({ser: serb, verfers: verfers}) + psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) + vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) + assert.deepStrictEqual(psigs, vsigs) + assert.equal(psigs[0], 'AADB9jKiR8y1_gYDCQoPhAbkZJSB2oqfUf3Otu-BW8lU3g5nPtJbDUNK8aSiLWbyM3AtMZYMXPPrxp9sOWLY9O0L') + + }) }) From 377d07f2da6c387b428588ce7273b207296fc905 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Sat, 28 Jan 2023 08:43:20 -0800 Subject: [PATCH 012/463] Serder, Counter, Number eventing.incept and event.messagize all implemented and tested to support client side event creation. Signed-off-by: pfeairheller --- README.md | 49 +++++++- package-lock.json | 3 +- package.json | 3 +- src/keri/app/accountant.ts | 5 + src/keri/app/tsconfig.json | 2 +- src/keri/core/core.ts | 72 +++++++++--- src/keri/core/counter.ts | 207 ++++++++++++++++++++++++++++++++++ src/keri/core/eventing.ts | 219 ++++++++++++++++++++++++++++++++++++ src/keri/core/manager.ts | 4 +- src/keri/core/matter.ts | 38 ++++++- src/keri/core/number.ts | 21 ++++ src/keri/core/prefixer.ts | 212 ++++++++++++++++++++++++++++++++++ src/keri/core/saider.ts | 158 ++++++++++++++++++++++++++ src/keri/core/serder.ts | 99 ++++++++++++++++ src/keri/core/tholder.ts | 51 +++++++++ src/keri/core/tsconfig.json | 4 +- test/app/accountant.test.ts | 2 - test/app/habery.test.ts | 4 +- test/core/coring.test.ts | 2 - test/core/counter.test.ts | 144 ++++++++++++++++++++++++ test/core/eventing.test.ts | 116 +++++++++++++++++++ test/core/manager.test.ts | 28 ++--- test/core/prefixer.test.ts | 48 ++++++++ test/core/saider.test.ts | 36 ++++++ test/core/serder.test.ts | 69 ++++++++++++ tsconfig.json | 2 +- 26 files changed, 1542 insertions(+), 56 deletions(-) create mode 100644 src/keri/core/counter.ts create mode 100644 src/keri/core/eventing.ts create mode 100644 src/keri/core/number.ts create mode 100644 src/keri/core/prefixer.ts create mode 100644 src/keri/core/saider.ts create mode 100644 src/keri/core/serder.ts create mode 100644 src/keri/core/tholder.ts create mode 100644 test/core/counter.test.ts create mode 100644 test/core/eventing.test.ts create mode 100644 test/core/prefixer.test.ts create mode 100644 test/core/saider.test.ts create mode 100644 test/core/serder.test.ts diff --git a/README.md b/README.md index 794b0453..019a8134 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,57 @@ Of the five functions in a KERI agent, Signify-TS splits off two, key generation and event signing into a TypeScript library to provide "signing at the edge". It accomplishes this by using libsodium to generate ed25510 key pairs for signing and x25519 key pairs for encrypting the -private keys, next public keys any salts used to generate the private keys. The encrypted private key and salts are then stored on a +private keys, next public keys and salts used to generate the private keys. The encrypted private key and salts are then stored on a remote cloud agent the never has access to the decryption keys. New key pair sets (current and next) will be generated for inception and rotation events with only the public keys and blake3 hash of next keys made available to the agent. The communication protocol between a Signify client and KERI agent will encode all cryptographic primitives as CESR base64 encoded strings for the initial implementation. Support for binary CESR can be added in the future. + +Account Creation Workflow + + +sequenceDiagram + actor u as User + participant s as Signify + participant c as Cloud Agent + u ->> s: Create Account + s ->> s: Generate Pub/Pri Keys + s ->>+ c: Request ICP Event Creation with Keys + note over s,c: This call can not be secured + note right of c: Creates ICP Event + c ->>- s: Return ICP event + s ->>+ c: Create Account with Signed ICP Event + note over s,c: Call Signed by new Keys + note right of c: Parses and Saves ICP + note right of c: Create Account with new AID + c ->>- s: Return New Account KeyState + s ->>+ c: Save Key Information + c ->>- s: Key Information Saved + s ->> u: Return New Account Information + + +sequenceDiagram + actor u as User + participant a as Web Page App + participant s as Signify + participant c as Cloud Agent + u ->> a: Create Account + a ->>+ s: Generate Pub/Pri Keys + s ->>- a: Return new Pub/Pri Keypair + a ->>+ c: Request ICP Event Creation with Keys + note over s,c: This call can not be secured + note right of c: Creates ICP Event + c ->>- a: Return ICP event + a ->>+ s: Sign ICP Event + s ->>- a: Return Signed Event + a ->>+ c: Create Account with Signed ICP Event + note over s,c: Call Signed by new Keys + note right of c: Parses and Saves ICP + note right of c: Create Account with new AID + c ->>- a: Return New Account KeyState + a ->>+ s: Save Key Information + s ->>+ c: Save Key Information + c ->>- s: Key Information Saved + a ->> u: Return New Account Information \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index bcb50688..9d54a447 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "devDependencies": { "@size-limit/preset-small-lib": "^5.0.4", "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "jest": "^29.3.1", @@ -29,7 +30,7 @@ "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", "tslib": "^2.3.1", - "typescript": "^4.4.3" + "typescript": "^4.9.4" } }, "node_modules/@ampproject/remapping": { diff --git a/package.json b/package.json index 0d27b4ba..fe27d87c 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "devDependencies": { "@size-limit/preset-small-lib": "^5.0.4", "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "jest": "^29.3.1", @@ -50,7 +51,7 @@ "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", "tslib": "^2.3.1", - "typescript": "^4.4.3" + "typescript": "^4.9.4" }, "dependencies": { "@types/libsodium-wrappers-sumo": "^0.7.5", diff --git a/src/keri/app/accountant.ts b/src/keri/app/accountant.ts index 06a7ef16..c2c437b8 100644 --- a/src/keri/app/accountant.ts +++ b/src/keri/app/accountant.ts @@ -6,6 +6,11 @@ export class Accountant { private readonly _mgr: Manager private readonly _ready: Promise + /* + * Accountant is responsible for managing signing keys for the client and agent. The client + * signing key represents the Account for the client on the agent + * + */ constructor(mgr: Manager, agentKey: string) { this._mgr = mgr this._agentKey = agentKey diff --git a/src/keri/app/tsconfig.json b/src/keri/app/tsconfig.json index df974420..e26c0552 100644 --- a/src/keri/app/tsconfig.json +++ b/src/keri/app/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "es6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 49d067f9..7c45a2c6 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,14 +1,26 @@ import {TextEncoder, TextDecoder} from 'util' -export const VERRAWSIZE = 6; -export const Versionage = {major: 1, minor: 0}; -export const Serialage = {json: '', mgpk: '', cbor: ''}; -export const Vstrings = Serialage; -export const Serials = {json: 'JSON', mgpk: 'MGPK', cbor: 'CBOR'}; - -// # element labels to exclude in digest or signature derivation from inception icp -export const IcpExcludes = ['pre']; -// # element labels to exclude in digest or signature derivation from delegated inception dip -export const DipExcludes = ['pre']; + +export enum Serials { + JSON = "JSON", +} + +export enum Ident { + KERI = "KERI" +} + +export class Version { + public major: number + public minor: number + + constructor(major: number = 1, minor: number = 0) { + this.major = major + this.minor = minor + } +} + +export const Versionage = new Version() + + export const Ilks = { icp: 'icp', rot: 'rot', @@ -48,18 +60,22 @@ export const MINSIGSIZE = 4; // const version_pattern1 = `KERI\(\?P\[0\-9a\-f\]\)\(\?P\[0\-9a\-f\]\)\ // (\?P\[A\-Z\]\{4\}\)\(\?P\[0\-9a\-f\]\{6\}\)_` -export const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})'; +export const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})_'; + +export interface Dict { + [id: string]: TValue; +} // Regex pattern matching /** * @description This function is use to deversify the version * Here we will use regex to to validate and extract serialization kind,size and version - * @param {string} vs version string + * @param {string} versionString version string * @return {Object} contaning kind of serialization like cbor,json,mgpk * version = version of object ,size = raw size integer */ -export function deversify(versionString: string) { +export function deversify(versionString: string): [Serials, Version, string] { let kind; let size; const version = Versionage; @@ -76,14 +92,25 @@ export function deversify(versionString: string) { match[3], match[4], ]; - if (!Object.values(Serials).includes(kind)) { + if (!Object.values(Serials).includes(kind as Serials)) { throw new Error(`Invalid serialization kind = ${kind}`); } + + let ta = kind as keyof typeof Serials + kind = Serials[ta] + return [kind, version, size]; } throw new Error(`Invalid version string = ${versionString}`); } +export function versify(ident: Ident = Ident.KERI, version?: Version, kind: Serials=Serials.JSON, size:number = 0) { + version = version == undefined ? Versionage : version + + return `${ident}${version.major.toString(16)}${version.minor.toString()}${kind}${size.toString(16).padStart(6, '0')}_` +} + + export const B64ChrByIdx = new Map([[0, 'A'], [1, 'B'], [2, 'C'], [3, 'D'], [4, 'E'], [5, 'F'], [6, 'G'], [7, 'H'], [8, 'I'], [9, 'J'], [10, 'K'], [11, 'L'], [12, 'M'], [13, 'N'], [14, 'O'], [15, 'P'], [16, 'Q'], [17, 'R'], [18, 'S'], [19, 'T'], [20, 'U'], [21, 'V'], [22, 'W'], [23, 'X'], [24, 'Y'], [25, 'Z'], @@ -94,17 +121,19 @@ export const B64ChrByIdx = new Map([[0, 'A'], [1, 'B'], [2, 'C'] export const B64IdxByChr = new Map(Array.from(B64ChrByIdx, entry => [entry[1], entry[0]])) -export function intToB64(i:number | undefined, l=1): string { + +export function intToB64(i:number, l=1): string { let out = "" while(l != 0) { - out = B64ChrByIdx.get(i! % 64) + out - i = Math.floor(i! / 64) + out = B64ChrByIdx.get(i % 64) + out + i = Math.floor(i / 64) if (i == 0) { break } } - for(let i = 0; i < (l - out.length); i++) { + let x = (l - out.length) + for(let i = 0; i < x; i++) { out = "A" + out } @@ -138,6 +167,13 @@ export function d(u? :Uint8Array): string { return decoder.decode(u) } +export function concat(one: Uint8Array, two: Uint8Array): Uint8Array { + let out = new Uint8Array(one.length + two.length) + out.set(one) + out.set(two, one.length) + return out +} + export function readInt(array: Uint8Array) { let value = 0; diff --git a/src/keri/core/counter.ts b/src/keri/core/counter.ts new file mode 100644 index 00000000..f6464d95 --- /dev/null +++ b/src/keri/core/counter.ts @@ -0,0 +1,207 @@ +import {Codex, Sizage} from "./matter"; +import {b, b64ToInt, d, intToB64} from "./core"; + +export interface CounterArgs { + code?: string + count?: number + countB64?: string + qb64b?: Uint8Array, + qb64?: string + qb2?: Uint8Array + strip?: boolean +} + +export class CounterCodex extends Codex { + public ControllerIdxSigs: string = '-A' // Qualified Base64 Indexed Signature. + public WitnessIdxSigs: string = '-B' // Qualified Base64 Indexed Signature. + public NonTransReceiptCouples: string = '-C' // Composed Base64 Couple, pre+cig. + public TransReceiptQuadruples: string = '-D' // Composed Base64 Quadruple, pre+snu+dig+sig. + public FirstSeenReplayCouples: string = '-E' // Composed Base64 Couple, fnu+dts. + public TransIdxSigGroups: string = '-F' // Composed Base64 Group, pre+snu+dig+ControllerIdxSigs group. + public SealSourceCouples: string = '-G' // Composed Base64 couple, snu+dig of given delegators or issuers event + public TransLastIdxSigGroups: string = '-H' // Composed Base64 Group, pre+ControllerIdxSigs group. + public SealSourceTriples: string = '-I' // Composed Base64 triple, pre+snu+dig of anchoring source event + public SadPathSig: string = '-J' // Composed Base64 Group path+TransIdxSigGroup of SAID of content + public SadPathSigGroup: string = '-K' // Composed Base64 Group, root(path)+SaidPathCouples + public PathedMaterialQuadlets: string = '-L' // Composed Grouped Pathed Material Quadlet (4 char each) + public AttachedMaterialQuadlets: string = '-V' // Composed Grouped Attached Material Quadlet (4 char each) + public BigAttachedMaterialQuadlets: string = '-0V' // Composed Grouped Attached Material Quadlet (4 char each) + public KERIProtocolStack: string = '--AAA' // KERI ACDC Protocol Stack CESR Version +} + +export const CtrDex = new CounterCodex() + +export class Counter { + static Sizes = new Map(Object.entries({ + '-A': new Sizage(2, 2, 4, 0), + '-B': new Sizage(2, 2, 4, 0), + '-C': new Sizage(2, 2, 4, 0), + '-D': new Sizage(2, 2, 4, 0), + '-E': new Sizage(2, 2, 4, 0), + '-F': new Sizage(2, 2, 4, 0), + '-G': new Sizage(2, 2, 4, 0), + '-H': new Sizage(2, 2, 4, 0), + '-I': new Sizage(2, 2, 4, 0), + '-J': new Sizage(2, 2, 4, 0), + '-K': new Sizage(2, 2, 4, 0), + '-L': new Sizage(2, 2, 4, 0), + '-V': new Sizage(2, 2, 4, 0), + '-0V': new Sizage(3, 5, 8, 0), + '--AAA': new Sizage(5, 3, 8, 0), + })) + + static Hards = new Map([['-A', 2], ['-B', 2], ['-C', 2], ['-D', 2], ['-E', 2], ['-F', 2], ['-G', 2], + ['-H', 2], ['-I', 2], ['-J', 2], ['-K', 2], ['-L', 2], ['-M', 2], ['-N', 2], ['-O', 2], ['-P', 2], ['-Q', 2], + ['-R', 2], ['-S', 2], ['-T', 2], ['-U', 2], ['-V', 2], ['-W', 2], ['-X', 2], ['-Y', 2], ['-Z', 2], ['-a', 2], + ['-b', 2], ['-c', 2], ['-d', 2], ['-e', 2], ['-f', 2], ['-g', 2], ['-h', 2], ['-i', 2], ['-j', 2], ['-k', 2], + ['-l', 2], ['-m', 2], ['-n', 2], ['-o', 2], ['-p', 2], ['-q', 2], ['-r', 2], ['-s', 2], ['-t', 2], ['-u', 2], + ['-v', 2], ['-w', 2], ['-x', 2], ['-y', 2], ['-z', 2], ['-0', 3], ['--', 5]]) + + private _code: string = ""; + private _count: number = -1; + + constructor({code, count, countB64, qb64b, qb64, qb2}: CounterArgs) { + if (code != undefined) { + if (!Counter.Sizes.has(code)) { + throw new Error(`"Unsupported code=${code}.`) + } + + let sizage = Counter.Sizes.get(code)! + let cs = sizage.hs + sizage.ss + if (sizage.fs != cs || cs % 4 != 0) { + throw new Error(`Whole code size not full size or not multiple of 4. cs=${cs} fs=${sizage.fs}.`) + } + + if (count == undefined) { + count = countB64 == undefined ? 1 : b64ToInt(countB64) + } + + if (count < 0 || count > (64 ** sizage.ss - 1)) { + throw new Error(`Invalid count=${count} for code=${code}.`) + } + + this._code = code + this._count = count + + } else if (qb64b != undefined) { + let qb64 = d(qb64b) + this._exfil(qb64) + } else if (qb64 != undefined) { + this._exfil(qb64) + } else if (qb2 != undefined) { + + } else { + throw new Error(`Improper initialization need either (code and count) or qb64b or qb64 or qb2.`) + } + } + + get code(): string { + return this._code; + } + + get count() { + return this._count; + } + + get qb64() { + return this._infil(); + } + + get qb64b() { + return b(this.qb64) + } + + countToB64(l?: number): string { + if (l == undefined) { + let sizage = Counter.Sizes.get(this.code)! + l = sizage.ss + } + return intToB64(this.count, l) + } + + static semVerToB64(version: string = "", major: number = 0, minor: number = 0, patch: number = 0): string { + let parts = [major, minor, patch] + if (version != "") { + let ssplits = version.split(".") + let splits = ssplits.map((x) => { + if (x == "") return 0 + return parseInt(x) + }) + + let off = splits.length + let x = 3 - off + for (let i = 0; i < x; i++) { + splits.push(parts[i + off]) + } + parts = splits + } + + parts.forEach((p) => { + if(p < 0 || p > 63) { + throw new Error(`Out of bounds semantic version. Part=${p} is < 0 or > 63.`) + } + }) + + return parts.map((p) => { + return intToB64(p, 1) + }).join("") + } + + private _infil(): string { + let code = this.code; + let count = this.count; + + let sizage = Counter.Sizes.get(code)!; + let cs = sizage.hs + sizage.ss + if (sizage.fs != cs || cs % 4 != 0) { + throw new Error(`Whole code size not full size or not multiple of 4. cs=${cs} fs=${sizage.fs}.`) + } + + if (count < 0 || count > (64 ** sizage.ss - 1)) { + throw new Error(`Invalid count=${count} for code=${code}.`) + } + + let both = `${code}${intToB64(count, sizage.ss)}` + + if (both.length % 4) { + throw new Error(`Invalid size = ${both.length} of ${both} not a multiple of 4.`) + } + + return both + } + + private _exfil(qb64: string) { + if (qb64.length == 0) { + throw new Error("Empty Material") + } + + let first = qb64.slice(0, 2); + if (!Counter.Hards.has(first)) { + throw new Error(`Unexpected code ${first}`) + } + + let hs = Counter.Hards.get(first)!; + if (qb64.length < hs) { + throw new Error(`Need ${hs - qb64.length} more characters.`) + } + + let hard = qb64.slice(0, hs); + if (!Counter.Sizes.has(hard)) { + throw new Error(`Unsupported code ${hard}`) + } + + let sizage = Counter.Sizes.get(hard)!; + let cs = sizage!.hs + sizage!.ss; + + if (qb64.length < cs) { + throw new Error(`Need ${cs - qb64.length} more chars.`) + } + + let scount = qb64.slice(sizage.hs, sizage.hs + sizage.ss) + let count = b64ToInt(scount) + + this._code = hard + this._count = count + } + +} \ No newline at end of file diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts new file mode 100644 index 00000000..17283872 --- /dev/null +++ b/src/keri/core/eventing.ts @@ -0,0 +1,219 @@ +import {b, concat, Dict, Ident, Ilks, Serials, versify, Version, Versionage} from "./core"; +import {Tholder} from "./tholder"; +import {PNumber} from "./number"; +import {Prefixer} from "./prefixer"; +import {Serder} from "./serder"; +import {MtrDex, NonTransDex} from "./matter"; +import {Saider} from "./saider"; +import {Siger} from "./siger"; +import {Cigar} from "./cigar"; +import {Counter, CtrDex} from "./counter"; + + +function ample(n: number, f?: number, weak = true) { + n = Math.max(0, n) // no negatives + let f1 + if (f == undefined) { + f1 = Math.max(1, Math.floor(Math.max(0, n - 1) / 3)) // least floor f subject to n >= 3*f+1 + + let f2 = Math.max(1, Math.ceil(Math.max(0, n - 1) / 3)) // most Math.ceil f subject to n >= 3*f+1 + if (weak) { // try both fs to see which one has lowest m + return Math.min(n, Math.ceil((n + f1 + 1) / 2), Math.ceil((n + f2 + 1) / 2)) + } else { + return Math.min(n, Math.max(0, n - f1, Math.ceil((n + f1 + 1) / 2))) + } + } else { + f = Math.max(0, f) + let m1 = Math.ceil((n + f + 1) / 2) + let m2 = Math.max(0, n - f) + if (m2 < m1 && n > 0) { + throw new Error(`Invalid f=${f} is too big for n=${n}.`) + } + if (weak) { + return Math.min(n, m1, m2) + } else { + return Math.min(n, Math.max(m1, m2)) + } + } +} + +export interface InceptArgs { + keys: Array, + isith?: number | string | Array, + ndigs?: Array, + nsith?: number | string | Array, + toad?: number | string, + wits?: Array, + cnfg?: Array, + data?: Array, + version?: Version, + kind?: Serials, + code?: string, + intive?: boolean + delpre?: string +} + +export function incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, version=Versionage, kind=Serials.JSON, code, + intive = false, delpre}: InceptArgs) { + + + let vs = versify(Ident.KERI, version, kind, 0) + let ilk = delpre == undefined ? Ilks.icp : Ilks.dip + let sner = new PNumber(0) + + if (isith == undefined) { + isith = Math.max(1, Math.ceil(keys.length / 2)) + } + + let tholder = new Tholder(isith) + if (tholder.num != undefined && tholder.num < 1) { + throw new Error(`Invalid sith = ${tholder.num} less than 1.`) + } + if (tholder.size > keys.length) { + throw new Error(`Invalid sith = ${tholder.num} for keys ${keys}`) + } + + if (ndigs == undefined) { + ndigs = new Array() + } + + if (nsith == undefined) { + nsith = Math.max(0, Math.ceil(ndigs.length / 2)) + } + + let ntholder = new Tholder(nsith) + if (ntholder.num != undefined && ntholder.num < 0) { + throw new Error(`Invalid nsith = ${ntholder.num} less than 0.`) + } + if (ntholder.size > keys.length) { + throw new Error(`Invalid nsith = ${ntholder.num} for keys ${ndigs}`) + } + + wits = wits == undefined ? [] : wits + if (new Set(wits).size != wits.length) { + throw new Error(`Invalid wits = ${wits}, has duplicates.`) + } + + if (toad == undefined) { + if (wits.length == 0) { + toad = 0 + } else { + toad = ample(wits.length) + } + } + + let toader = new PNumber(toad) + if (wits.length > 0) { + if (toader.num < 1 || toader.num > wits.length) { + throw new Error(`Invalid toad = ${toader.num} for wits = ${wits}`) + } + } else { + if (toader.num != 0) { + throw new Error(`Invalid toad = ${toader.num} for wits = ${wits}`) + } + } + + cnfg = cnfg == undefined ? new Array() : cnfg + data = data == undefined ? new Array() : data + + let ked = { + v: vs, + t: ilk, + d: "", + i: "", + s: sner.numh, + kt: (intive && tholder.num != undefined) ? tholder.num : tholder.sith, + k: keys, + nt: (intive && tholder.num != undefined) ? ntholder.num: ntholder.sith, + n: ndigs, + bt: intive ? toader.num : toader.numh, + b: wits, + c: cnfg, + a: data + } as Dict + + if (delpre != undefined) { + ked["di"] = delpre + if (code == undefined) { + code = MtrDex.Blake3_256 + } + } + + let prefixer + if (delpre == undefined && code == undefined && keys.length == 1) { + prefixer = new Prefixer({qb64: keys[0]}) + if (prefixer.digestive) { + throw new Error(`Invalid code, digestive=${prefixer.code}, must be derived from ked.`) + } + } else { + prefixer = new Prefixer({code: code}, ked) + if (delpre != undefined) { + if(!prefixer.digestive) { + throw new Error(`Invalid derivation code = ${prefixer.code} for delegation. Must be digestive`) + } + } + } + + ked["i"] = prefixer.qb64 + if (prefixer.digestive) { + ked["d"] = prefixer.qb64 + } + else { + [, ked] = Saider.saidify(ked) + } + + return new Serder(ked) +} + +export function messagize(serder: Serder, sigers?: Array, seal?: any, wigers?:Array, cigars?:Array, + pipelined:boolean = false): Uint8Array { + let msg = new Uint8Array(b(serder.raw)) + let atc = new Uint8Array() + + if (sigers == undefined && wigers == undefined && cigars == undefined) { + throw new Error(`Missing attached signatures on message = ${serder.ked}.`) + } + + if (sigers != undefined) { + if (seal != undefined) { + throw new Error(`Index sig group seals not yet supported`) + } + + atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: sigers.length}).qb64b) + sigers.forEach((siger) => { + atc = concat(atc, siger.qb64b) + }) + } + + if (wigers != undefined) { + atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: wigers.length}).qb64b) + + wigers.forEach((wiger) => { + if (wiger.verfer && !(wiger.verfer.code in NonTransDex)) { + throw new Error(`Attempt to use tranferable prefix=${wiger.verfer.qb64} for receipt.`) + } + atc = concat(atc, wiger.qb64b) + }) + } + + if (cigars != undefined) { + atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: cigars.length}).qb64b) + + cigars.forEach((cigar) => { + if (cigar.verfer && !(cigar.verfer.code in NonTransDex)) { + throw new Error(`Attempt to use tranferable prefix=${cigar.verfer.qb64} for receipt.`) + } + atc = concat(atc, cigar.qb64b) + }) + } + + if (pipelined) { + if (atc.length % 4 != 0) { + throw new Error(`Invalid attachments size=${atc.length}, nonintegral quadlets.`) + } + msg = concat(msg, new Counter({code: CtrDex.AttachedMaterialQuadlets, count: (Math.floor(atc.length / 4))}).qb64b) + } + msg = concat(msg, atc) + + return msg +} \ No newline at end of file diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index cf3967b9..908b8ebb 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -143,10 +143,8 @@ export class SaltyCreator implements Creator { codes = new Array(count).fill(code) } - let stem = this.stem == "" ? pidx.toString(16) : this.stem - codes.forEach((code, idx) => { - let path = stem + ridx.toString(16) + (kidx+idx).toString(16) + let path = this.stem + pidx.toString(16) + ridx.toString(16) + (kidx+idx).toString(16) signers.push(this.salter.signer(code, transferable, path, this.tier, temp)) paths.push(path) }) diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index ce7dc3ff..737f3f3f 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -4,8 +4,14 @@ const {intToB64, readInt} = require('./core'); const Base64 = require('urlsafe-base64'); import {b, d} from "./core"; +export class Codex { + has(prop: string): boolean { + let m = new Map(Array.from(Object.entries(this), (v) => [v[1], v[0]])) + return m.has(prop) + } +} -export class MatterCodex { +export class MatterCodex extends Codex { Ed25519_Seed: string = 'A' // Ed25519 256 bit random seed for private key Ed25519N: string = 'B' // Ed25519 verification key non-transferable, basic derivation. X25519: string = 'C' // X25519 public encryption key, converted from Ed25519 or Ed25519N. @@ -20,6 +26,30 @@ export class MatterCodex { export const MtrDex = new MatterCodex() + +export class NonTransCodex extends Codex { + Ed25519N: string = 'B' // Ed25519 verification key non-transferable, basic derivation. + ECDSA_256k1N: string = '1AAA' // ECDSA secp256k1 verification key non-transferable, basic derivation. + Ed448N: string = '1AAC' // Ed448 non-transferable prefix public signing verification key. Basic derivation. +} + +export const NonTransDex = new NonTransCodex() + + +export class DigiCodex extends Codex { + Blake3_256: string = 'E' // Blake3 256 bit digest self-addressing derivation. + Blake2b_256: string = 'F' // Blake2b 256 bit digest self-addressing derivation. + Blake2s_256: string = 'G' // Blake2s 256 bit digest self-addressing derivation. + SHA3_256: string = 'H' // SHA3 256 bit digest self-addressing derivation. + SHA2_256: string = 'I' // SHA2 256 bit digest self-addressing derivation. + Blake3_512: string = '0D' // Blake3 512 bit digest self-addressing derivation. + Blake2b_512: string = '0E' // Blake2b 512 bit digest self-addressing derivation. + SHA3_512: string = '0F' // SHA3 512 bit digest self-addressing derivation. + SHA2_512: string = '0G' // SHA2 512 bit digest self-addressing derivation. +} + +export const DigiDex = new DigiCodex() + export class Sizage { public hs: number; public ss: number; @@ -126,7 +156,11 @@ export class Matter { } get transferable(): boolean { - return !Array.from([MtrDex.Ed25519N]).includes(this.code) + return !NonTransDex.has(this.code) + } + + get digestive(): boolean { + return DigiDex.has(this.code) } static _rawSize(code: string) { diff --git a/src/keri/core/number.ts b/src/keri/core/number.ts new file mode 100644 index 00000000..9b99b869 --- /dev/null +++ b/src/keri/core/number.ts @@ -0,0 +1,21 @@ + +export class PNumber { + private readonly _num: number = 0; + constructor(num?: number | string, numh?: string) { + // TODO: Implelment logic + if (typeof(num) == "number") { + this._num = num + } else if (numh != undefined) { + this._num = parseInt(numh, 16) + } + + } + + get num(): number { + return this._num; + } + + get numh(): string { + return this._num.toString(16) + } +} \ No newline at end of file diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts new file mode 100644 index 00000000..d7d6d927 --- /dev/null +++ b/src/keri/core/prefixer.ts @@ -0,0 +1,212 @@ +import {Matter, MatterArgs, MtrDex} from "./matter"; +import {EmptyMaterialError} from "./kering"; +import {Dict, Ilks} from "./core"; +import {sizeify} from "./serder"; +import {Verfer} from "./verfer"; + +const blake3 = require('blake3'); + +const Dummy: string = "#" + + +export class Prefixer extends Matter { + private readonly _derive + private readonly _verify + + constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, ked?: Dict) { + try { + super({raw, code, qb64b, qb64, qb2}); + } catch (e) { + if (e instanceof EmptyMaterialError) { + if (ked == undefined || (code == undefined && !("i" in ked))) { + throw e + } + + if (code == undefined) { + super({qb64: ked['i'], code: code}) + code = this.code + } + + let _derive + if (code == MtrDex.Ed25519N) { + _derive = Prefixer._derive_ed25519N + } else if (code == MtrDex.Ed25519) { + _derive = Prefixer._derive_ed25519 + } else if (code == MtrDex.Blake3_256) { + _derive = Prefixer._derive_blake3_256 + } else { + throw new Error(`Unsupported code = ${code} for prefixer.`) + } + + [raw, code] = _derive(ked) + super({raw: raw, code: code}) + this._derive = _derive + } else { + throw e + } + } + + if (this.code == MtrDex.Ed25519N) { + this._verify = this._verify_ed25519N + } else if (this.code == MtrDex.Ed25519) { + this._verify = this._verify_ed25519 + } else if (this.code == MtrDex.Blake3_256) { + this._verify = this._verify_blake3_256 + } else { + throw new Error(`Unsupported code = ${code} for prefixer.`) + } + + } + + derive(ked: Dict): [Uint8Array, string] { + if (ked["i"] != Ilks.icp) { + throw new Error(`Non-incepting ilk ${ked['i']} for prefix derivation`) + } + return this._derive!(ked) + } + + verify(ked: Dict, prefixed: boolean = false): boolean { + if (ked["i"] != Ilks.icp) { + throw new Error(`Non-incepting ilk ${ked['i']} for prefix derivation`) + } + return this._verify(ked, this.qb64, prefixed) + } + + + static _derive_ed25519N(ked: Dict): [Uint8Array, string] { + let verfer + let keys = ked["k"] + if (keys.length != 1) { + throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`) + } + try { + verfer = new Verfer({qb64: keys[0]}) + } catch (e) { + throw new Error(`Error extracting public key = ${e}`) + } + + if (!(verfer.code in [MtrDex.Ed25519N])) { + throw new Error(`Mismatch derivation code = ${verfer.code}`) + } + + let next = 'n' in ked ? ked['n'] : [] + if (verfer.code == MtrDex.Ed25519N && next.length > 0) { + throw new Error(`Non-empty nxt = ${next} for non-transferable code = ${verfer.code}`) + } + + let backers = 'b' in ked ? ked['b'] : [] + if (verfer.code == MtrDex.Ed25519N && backers.length > 0) { + throw new Error(`Non-empty b =${backers} for non-transferable code = ${verfer.code}`) + } + + let anchor = 'a' in ked ? ked['a'] : [] + if (verfer.code == MtrDex.Ed25519N && anchor.length > 0) { + throw new Error(`Non-empty a = ${verfer.code} for non-transferable code = ${verfer.code}`) + } + + return [verfer.raw, verfer.code] + + } + + static _derive_ed25519(ked: Dict): [Uint8Array, string] { + let verfer + let keys = ked["k"] + if (keys.length != 1) { + throw new Error(`Basic derivation needs at most 1 key got ${keys.length} keys instead`) + } + + try { + verfer = new Verfer({qb64: keys[0]}) + } catch (e) { + throw new Error(`Error extracting public key = ${e}`) + } + + if (verfer.code in [MtrDex.Ed25519]) { + throw new Error(`Mismatch derivation code = ${verfer.code}`) + } + + return [verfer.raw, verfer.code] + } + + static _derive_blake3_256(ked: Dict): [Uint8Array, string] { + let kd = ked + let ilk = ked["t"] + if (ilk != Ilks.icp) { + throw new Error(`Invalid ilk = ${ilk} to derive pre.`) + } + + kd["i"] = "".padStart(Matter.Sizes.get(MtrDex.Blake3_256)!.fs, Dummy) + kd["d"] = ked["i"] + let [raw] = sizeify(ked) + const hasher = blake3.createHash(); + const dig = hasher.update(raw).digest(''); + return [dig, MtrDex.Blake3_256] + } + + _verify_ed25519N(ked: Dict, pre: string, prefixed: boolean = false): boolean { + try { + let keys = ked["k"] + if (keys.length != 1) { + return false + } + + if (keys[0] != pre) { + return false + } + + if (prefixed && ked["i"] != pre) { + return false + } + + let next = 'n' in ked ? ked['n'] : [] + if (next.length > 0) { // must be empty + return false + } + } catch (e) { + return false + } + + return true + + } + + _verify_ed25519(ked: Dict, pre: string, prefixed: boolean = false): boolean { + try { + let keys = ked["k"] + if (keys.length != 1) { + return false + } + + if (keys[0] != pre) { + return false + } + + if (prefixed && ked["i"] != pre) { + return false + } + } catch (e) { + return false + } + + return true + } + + _verify_blake3_256(ked: Dict, pre: string, prefixed: boolean = false): boolean { + try { + let [raw, _] = Prefixer._derive_blake3_256(ked) + let crymat = new Matter({raw: raw, code: MtrDex.Blake3_256}) + if (crymat.qb64 != pre) { + return false + } + + if (prefixed && ked["i"] != pre) { + return false + } + + } catch (e) { + return false + } + return true + + } +} \ No newline at end of file diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts new file mode 100644 index 00000000..b265451d --- /dev/null +++ b/src/keri/core/saider.ts @@ -0,0 +1,158 @@ +import {DigiDex, Matter, MatterArgs, MtrDex} from "./matter"; +import {deversify, Dict, Serials} from "./core"; +import {EmptyMaterialError} from "./kering"; +import {dumps, sizeify} from "./serder"; + +const blake3 = require('blake3'); + +const Dummy = "#" + +export enum Ids { + d = "d" +} + +class Digestage { + public klas: any = undefined + public size: number | undefined = 0 + public length: number | undefined = 0 + constructor(klas: any, size?: number, length?: number) { + this.klas = klas + this.size = size + this.length = length + } +} + + + +export class Saider extends Matter { + static Digests = new Map([ + [MtrDex.Blake3_256, new Digestage(Saider._derive_blake3_256, undefined, undefined)] + ]) + + constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, sad?: Dict, kind?: Serials, label: string = Ids.d) { + try { + super({raw, code, qb64b, qb64, qb2}); + } catch (e) { + if (e instanceof EmptyMaterialError) { + if (sad == undefined || !(label in sad)) { + throw e + } + + if (code == undefined) { + if (sad[label] != "") { + super({qb64: sad[label], code: code}) + code = this.code + } else { + code = MtrDex.Blake3_256 + } + } + + if (!DigiDex.has(code)) { + throw new Error(`Unsupported digest code = ${code}`) + } + + [raw] = Saider._derive({...sad}, code, kind, label) + super({raw: raw, code: code}) + } else { + throw e + } + } + + if (!this.digestive) { + throw new Error(`Unsupported digest code = ${this.code}.`) + } + + } + + static _derive_blake3_256(ser: Uint8Array, _digest_size: number, _length: number) { + const hasher = blake3.createHash(); + return hasher.update(ser).digest(''); + } + + + private static _derive(sad: Dict, code: string, kind: Serials | undefined, label: string): [Uint8Array, Dict] { + if (!DigiDex.has(code) || !Saider.Digests.has(code)) { + throw new Error(`Unsupported digest code = ${code}.`) + } + + sad = {...sad} + sad[label] = "".padStart(Matter.Sizes.get(code)!.fs, Dummy) + if ('v' in sad) { + [, , kind, sad, ] = sizeify(sad, kind) + } + + let ser = {...sad} + + let digestage = Saider.Digests.get(code) + + let cpa = Saider._serialze(ser, kind) + let args: any[] = [] + if (digestage!.size != undefined) { + args.push(digestage!.size) + } + + if (digestage!.length != undefined) { + args.push(digestage!.length) + } + + return [digestage!.klas(cpa, ...args), sad] + } + + public derive(sad: Dict, code: string, kind: Serials | undefined, label: string) : [Uint8Array, Dict]{ + code = code != undefined ? code : this.code + return Saider._derive(sad, code, kind, label) + } + + public verify(sad: Dict, prefixed: boolean = false, versioned: boolean = false, kind?: Serials, + label: string = Ids.d): boolean { + try { + let [raw, dsad] = Saider._derive(sad, this.code, kind, label) + let saider = new Saider({raw: raw, code: this.code}) + if (this.qb64 != saider.qb64) { + return false + } + + if ("v" in sad && versioned) { + if (sad['v'] != dsad["v"]) { + return false + } + } + + if (prefixed && sad[label] != this.qb64) { + return false + } + + } catch (e) { + return false + } + + return true + } + + private static _serialze(sad: Dict, kind?: Serials): string { + let knd = Serials.JSON + if ('v' in sad) { + [knd] = deversify(sad['v']) + } + + if (kind == undefined) { + kind = knd + } + + return dumps(sad, kind) + } + + public static saidify(sad: Dict, code: string = MtrDex.Blake3_256, kind: Serials = Serials.JSON, + label: string = Ids.d): [Saider, Dict] { + if (!(label in sad)) { + throw new Error(`Missing id field labeled=${label} in sad.`) + } + let raw + [raw, sad]= Saider._derive(sad, code, kind, label) + let saider = new Saider({raw: raw, code: code}, undefined, kind, label) + sad[label] = saider.qb64 + return [saider, sad] + } + + +} diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts new file mode 100644 index 00000000..be2a1764 --- /dev/null +++ b/src/keri/core/serder.ts @@ -0,0 +1,99 @@ +import {MtrDex} from "./matter"; +import {deversify, Dict, Ident, Serials, versify, Version, Versionage} from "./core"; + +export class Serder { + private _kind: Serials; + private _raw: string = ""; + private _ked: Dict = {}; + private _ident: Ident = Ident.KERI; + private _size: number = 0; + private _version: Version = Versionage; + private readonly _code: string; + + constructor(ked: Dict, kind: Serials=Serials.JSON, code: string=MtrDex.Blake3_256) { + this._code = code + this._kind = kind + this.ked = ked + } + + set ked(ked: Dict) { + let [raw, ident, kind, kd, version] = this._exhale(ked, this._kind) + let size = raw.length + this._raw = raw + this._ident = ident + this._ked = kd + this._kind = kind + this._size = size + this._version = version + } + + get ked(): Dict { + return this._ked + } + + get code(): string { + return this._code; + } + + get raw(): string { + return this._raw; + } + + get kind(): Serials { + return this._kind + } + + private _exhale(ked: Dict, kind: Serials): [string, Ident, Serials, Dict, Version] { + return sizeify(ked, kind) + } + + get ident(): Ident { + return this._ident + } + + get size(): number { + return this._size + } + + get version(): Version { + return this._version + } + + pretty() { + return JSON.stringify(this._ked, undefined, 2) + } +} + +export function dumps(ked: Object, kind: Serials.JSON): string { + if (kind == Serials.JSON) { + return JSON.stringify(ked) + } else { + throw new Error("unsupported event encoding") + } +} + +export function sizeify(ked: Dict, kind?: Serials) : [string, Ident, Serials, Dict, Version]{ + if (!("v" in ked)) { + throw new Error("Missing or empty version string") + } + + let ident = Ident.KERI + let [knd, version, _] = deversify(ked["v"] as string) + if (version != Versionage) { + throw new Error(`unsupported version ${version.toString()}`) + } + + if (kind == undefined) { + kind = knd + } + + let raw = dumps(ked, kind) + let size = raw.length + + ked['v'] = versify(ident, version, kind, size) + + raw = dumps(ked, kind) + + return [raw, ident, kind, ked, version] + +} diff --git a/src/keri/core/tholder.ts b/src/keri/core/tholder.ts new file mode 100644 index 00000000..98ad8b70 --- /dev/null +++ b/src/keri/core/tholder.ts @@ -0,0 +1,51 @@ + + +export class Tholder { + private _weighted: boolean = false + private _thold: number = 0 + private _size: number = 0 + private _sith: string = "" + private _limen: Array = new Array() + + constructor(sith: string | number | Array) { + this.processSith(sith) + } + + get num(): number | undefined { + return this._weighted ? undefined : this._thold + } + + get size(): number { + return this._size + } + + get thold(): number { + return this._thold; + } + get weighted(): boolean { + return this._weighted; + } + + get sith(): string { + if (this.weighted) { + if (this._sith == "") { + return `${this._limen}` + } + return this._sith + } else { + return this.thold.toString(16) + } + } + + private processSith(sith: string | number | Array) { + if (typeof(sith) == "string") { + this._sith = sith + } else if (typeof(sith) == "number") { + this._thold = sith + this._size = this._thold + } else { + this._limen = sith + this._size = this._limen.length + } + } +} \ No newline at end of file diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json index 2d988405..ab5a6e85 100644 --- a/src/keri/core/tsconfig.json +++ b/src/keri/core/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "ES2021", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ @@ -31,7 +31,7 @@ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + "types": ["node"], /* Specify type package names to be included without being referenced in a source file. */ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ // "resolveJsonModule": true, /* Enable importing .json files */ // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ diff --git a/test/app/accountant.test.ts b/test/app/accountant.test.ts index 402e1703..31a606ed 100644 --- a/test/app/accountant.test.ts +++ b/test/app/accountant.test.ts @@ -23,7 +23,5 @@ describe('Accountant', () => { // let pkg = {} let accountant = new Accountant(mgr, agentKey) assert.notEqual(accountant, undefined) - - }) }) \ No newline at end of file diff --git a/test/app/habery.test.ts b/test/app/habery.test.ts index 55755079..ec8f5512 100644 --- a/test/app/habery.test.ts +++ b/test/app/habery.test.ts @@ -14,7 +14,7 @@ describe('Habery', () => { let icp = hab.makeHab({}) - assert.deepStrictEqual(icp["keys"], ["DAQVURvW74OJH1Q0C6YLim_tdBYoXABwg6GsAlPaUJXE"]) - assert.deepStrictEqual(icp["ndigs"], ["ENBWnU8wNHqq9oqJIimWhxUtNDHReUXtiCwwtjg9zKY0"]) + assert.deepStrictEqual(icp["keys"], ["DC7Zg7BasK65MdK1hgVd8nB9_2Dj_i1DruqNN9VBsrRd"]) + assert.deepStrictEqual(icp["ndigs"], ["EBRJBDoLKcD9s5tGg0uXLgt79iClVnlceMJHi1qdwRdC"]) }) }) \ No newline at end of file diff --git a/test/core/coring.test.ts b/test/core/coring.test.ts index a1848724..33a75ac3 100644 --- a/test/core/coring.test.ts +++ b/test/core/coring.test.ts @@ -18,8 +18,6 @@ describe('int to b64 and back', () => { i = b64ToInt(cs) }) - cs = intToB64(undefined, 0) - assert.equal(cs, "") assert.throws(() => { i = b64ToInt(cs) }) diff --git a/test/core/counter.test.ts b/test/core/counter.test.ts new file mode 100644 index 00000000..2aece2bb --- /dev/null +++ b/test/core/counter.test.ts @@ -0,0 +1,144 @@ +import {Counter, CtrDex} from "../../src/keri/core/counter"; +import {strict as assert} from "assert"; +import {b, b64ToInt, intToB64} from "../../src/keri/core/core"; + +describe('int to b64 and back', () => { + it('should encode and decode stuff', async () => { + + assert.equal(Counter.Sizes.get('-A')!.hs, 2) // hard size + assert.equal(Counter.Sizes.get('-A')!.ss, 2) // soft size + assert.equal(Counter.Sizes.get('-A')!.fs, 4) // full size + assert.equal(Counter.Sizes.get('-A')!.ls, 0) // lead size + + // verify first hs Sizes matches hs in Codes for same first char + Counter.Sizes.forEach((_, ckey) => { + let key = ckey.slice(0, 2) + assert.equal(Counter.Hards.get(key), Counter.Sizes.get(ckey)!.hs) + }) + + // verify all Codes have hs > 0 and ss > 0 and fs = hs + ss and not fs % 4 + Counter.Sizes.forEach((val, _) => { + assert.equal((val.hs > 0 && val.ss > 0 && val.hs + val.ss == val.fs && !(val.fs % 4)), true) + }) + // Bizes maps bytes of sextet of decoded first character of code with hard size of code + // verify equivalents of items for Sizes and Bizes + // Counter.Hards.forEach((sval, skey) => { + // let ckey = codeB64ToB2(skey) + // assert.equal(Counter.Bards[ckey], sval) + // }) + + assert.throws(() => { + new Counter({}) + }) + + let count = 1 + let qsc = CtrDex.ControllerIdxSigs + intToB64(count, 2) + assert.equal(qsc, '-AAB') + let qscb = b(qsc) + + let counter = new Counter({code: CtrDex.ControllerIdxSigs}) // default count = 1 + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64: qsc}) // default count = 1 + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64b: qscb}) // default count = 1 + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + let longqs64 = `${qsc}ABCD` + counter = new Counter({qb64: longqs64}) + assert.equal(counter.qb64.length, Counter.Sizes.get(counter.code)!.fs) + + let shortqcs = qsc.slice(0, -1) + assert.throws(() => { + new Counter({qb64: shortqcs}) + }) + + count = 5 + qsc = CtrDex.ControllerIdxSigs + intToB64(count, 2) + assert.equal(qsc, '-AAF') + qscb = b(qsc) + + counter = new Counter({code: CtrDex.ControllerIdxSigs, count: count}) + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64: qsc}) // default count = 1 + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64b: qscb}) // default count = 1 + assert.equal(counter.code, CtrDex.ControllerIdxSigs) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + // test with big codes index=1024 + count = 1024 + qsc = CtrDex.BigAttachedMaterialQuadlets + intToB64(count, 5) + assert.equal(qsc, '-0VAAAQA') + qscb = b(qsc) + + counter = new Counter({code: CtrDex.BigAttachedMaterialQuadlets, count: count}) + assert.equal(counter.code, CtrDex.BigAttachedMaterialQuadlets) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64: qsc}) // default count = 1 + assert.equal(counter.code, CtrDex.BigAttachedMaterialQuadlets) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + counter = new Counter({qb64b: qscb}) // default count = 1 + assert.equal(counter.code, CtrDex.BigAttachedMaterialQuadlets) + assert.equal(counter.count, count) + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + let verint = 0 + let version = intToB64(verint, 3) + assert.equal(version, 'AAA') + assert.equal(verint, b64ToInt(version)) + qsc = CtrDex.KERIProtocolStack + version + assert.equal(qsc, '--AAAAAA') // keri Cesr version 0.0.0 + qscb = b(qsc) + + counter = new Counter({code: CtrDex.KERIProtocolStack, count: verint}) + assert.equal(counter.code, CtrDex.KERIProtocolStack) + assert.equal(counter.count, verint) + assert.equal(counter.countToB64(3), version) + assert.equal(counter.countToB64(), version) // default length + assert.deepStrictEqual(counter.qb64b, qscb) + assert.equal(counter.qb64, qsc) + + assert.equal(Counter.semVerToB64("1.2.3"), "BCD") + assert.equal(Counter.semVerToB64(), "AAA") + assert.equal(Counter.semVerToB64("", 1), "BAA") + assert.equal(Counter.semVerToB64("",0, 1), "ABA") + assert.equal(Counter.semVerToB64("", 0, 0, 1), "AAB") + assert.equal(Counter.semVerToB64("", 3, 4, 5), "DEF") + + assert.equal(Counter.semVerToB64("1.1"), "BBA") + assert.equal(Counter.semVerToB64("1."), "BAA") + assert.equal(Counter.semVerToB64("1"), "BAA") + assert.equal(Counter.semVerToB64("1.2."), "BCA") + assert.equal(Counter.semVerToB64(".."), "AAA") + assert.equal(Counter.semVerToB64("1..3"), "BAD") + assert.equal(Counter.semVerToB64("4", 1, 2, 3), "ECD") + }) +}) \ No newline at end of file diff --git a/test/core/eventing.test.ts b/test/core/eventing.test.ts new file mode 100644 index 00000000..52900d54 --- /dev/null +++ b/test/core/eventing.test.ts @@ -0,0 +1,116 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {Signer} from "../../src/keri/core/signer"; +import {strict as assert} from "assert"; +import {MtrDex} from "../../src/keri/core/matter"; +import {incept, messagize} from "../../src/keri/core/eventing"; +import {Saider} from "../../src/keri/core/saider"; +import {Diger} from "../../src/keri/core/diger"; +import {b, d, Ilks} from "../../src/keri/core/core"; +import {Siger} from "../../src/keri/core/siger"; + + +describe('key event function', () => { + it("incept should create inception events", async () => { + await libsodium.ready; + + let seed = new Uint8Array([159, 123, 168, 167, 168, 67, 57, 150, 38, 250, 177, 153, 235, 170, 32, 196, 27, 71, 17, 196, 174, 83, 65, 82, 201, 189, 4, 157, 133, 41, 126, 147]) + let signer0 = new Signer({raw: seed, transferable: false}) // original signing keypair non transferable + assert.equal(signer0.code, MtrDex.Ed25519_Seed) + assert.equal(signer0.verfer.code, MtrDex.Ed25519N) + let keys0 = [signer0.verfer.qb64] + let serder = incept({keys: keys0}) // default nxt is empty so abandoned + assert.equal(serder.ked["i"], 'BFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH') + assert.deepStrictEqual(serder.ked["n"], []) + assert.equal(serder.raw, + '{"v":"KERI10JSON0000fd_","t":"icp","d":"EMW0zK3bagYPO6gx3w7Ua90f-I7x5kGIaI4X' + + 'eq9W8_As","i":"BFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH","s":"0","kt":"1' + + '","k":["BFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH"],"nt":"0","n":[],"bt":' + + '"0","b":[],"c":[],"a":[]}' + ) + let saider = new Saider({code: MtrDex.Blake3_256}, serder.ked) + assert.equal(saider.verify(serder.ked), true) + + assert.throws(() => { + serder = incept({keys: keys0, code: MtrDex.Ed25519N, ndigs: ["ABCDE"]}) + }) + + assert.throws(() => { + serder = incept({keys: keys0, code: MtrDex.Ed25519N, wits: ["ABCDE"]}) + }) + + assert.throws(() => { + serder = incept({keys: keys0, code: MtrDex.Ed25519N, data: [{"i": "ABCDE"}]}) + }) + + signer0 = new Signer({raw: seed}) // original signing keypair transferable default + assert.equal(signer0.code, MtrDex.Ed25519_Seed) + assert.equal(signer0.verfer.code, MtrDex.Ed25519) + keys0 = [signer0.verfer.qb64] + serder = incept({keys: keys0}) // default nxt is empty so abandoned + assert.equal(serder.ked["i"], 'DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH') + assert.deepStrictEqual(serder.ked["n"], []) + assert.equal(serder.raw, + '{"v":"KERI10JSON0000fd_","t":"icp","d":"EPLRRJFe2FHdXKVTkSEX4xb4x-YaPFJ2Xds1' + + 'vhtNTd4n","i":"DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH","s":"0","kt":"1' + + '","k":["DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH"],"nt":"0","n":[],"bt":' + + '"0","b":[],"c":[],"a":[]}') + saider = new Saider({code: MtrDex.Blake3_256}, serder.ked) + assert.equal(saider.verify(serder.ked), true) + + // (b'\x83B~\x04\x94\xe3\xceUQy\x11f\x0c\x93]\x1e\xbf\xacQ\xb5\xd6Y^\xa2E\xfa\x015\x98Y\xdd\xe8') + let seed1 = new Uint8Array([131, 66, 126, 4, 148, 227, 206, 85, 81, 121, 17, 102, 12, 147, 93, 30, 191, 172, 81, 181, 214, 89, 94, 162, 69, 250, 1, 53, 152, 89, 221, 232]) + let signer1 = new Signer({raw: seed1}) // next signing keypair transferable is default + assert.equal(signer1.code, MtrDex.Ed25519_Seed) + assert.equal(signer1.verfer.code, MtrDex.Ed25519) + // compute nxt digest + let nxt1 = [new Diger({}, signer1.verfer.qb64b).qb64] // dfault sith is 1 + assert.deepStrictEqual(nxt1, ['EIf-ENw7PrM52w4H-S7NGU2qVIfraXVIlV9hEAaMHg7W']) + let serder0 = incept({keys: keys0, ndigs: nxt1, code: MtrDex.Blake3_256}) // intive false + assert.equal(serder0.ked["t"], Ilks.icp) + assert.equal(serder0.ked['d'], 'EAKCxMOuoRzREVHsHCkLilBrUXTvyenBiuM2QtV8BB0C') + assert.equal(serder0.ked['d'], serder0.ked["i"]) + assert.equal(serder0.ked["s"], '0') + assert.equal(serder0.ked["kt"], "1") + assert.equal(serder0.ked["nt"], "1") + assert.deepStrictEqual(serder0.ked["n"], nxt1) + assert.equal(serder0.ked["bt"], '0') // hex str + assert.equal(serder0.raw, + '{"v":"KERI10JSON00012b_","t":"icp","d":"EAKCxMOuoRzREVHsHCkLilBrUXTvyenBiuM2' + + 'QtV8BB0C","i":"EAKCxMOuoRzREVHsHCkLilBrUXTvyenBiuM2QtV8BB0C","s":"0","kt":"1' + + '","k":["DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH"],"nt":"1","n":["EIf-EN' + + 'w7PrM52w4H-S7NGU2qVIfraXVIlV9hEAaMHg7W"],"bt":"0","b":[],"c":[],"a":[]}') + + // (b'\x83B~\x04\x94\xe3\xceUQy\x11f\x0c\x93]\x1e\xbf\xacQ\xb5\xd6Y^\xa2E\xfa\x015\x98Y\xdd\xe8') + seed1 = new Uint8Array([131, 66, 126, 4, 148, 227, 206, 85, 81, 121, 17, 102, 12, 147, 93, 30, 191, 172, 81, 181, 214, 89, 94, 162, 69, 250, 1, 53, 152, 89, 221, 232]) + signer1 = new Signer({raw: seed1}) // next signing keypair transferable is default + assert.equal(signer1.code, MtrDex.Ed25519_Seed) + assert.equal(signer1.verfer.code, MtrDex.Ed25519) + // compute nxt digest + nxt1 = [new Diger({}, signer1.verfer.qb64b).qb64] // dfault sith is 1 + assert.deepStrictEqual(nxt1, ['EIf-ENw7PrM52w4H-S7NGU2qVIfraXVIlV9hEAaMHg7W']) + serder0 = incept({keys: keys0, ndigs: nxt1, code: MtrDex.Blake3_256, intive: true}) // intive true + assert.equal(serder0.ked["t"], Ilks.icp) + assert.equal(serder0.ked['d'], 'EIflL4H4134zYoRM6ls6Q086RLC_BhfNFh5uk-WxvhsL') + assert.equal(serder0.ked['d'], serder0.ked["i"]) + assert.equal(serder0.ked["s"], '0') + assert.equal(serder0.ked["kt"], 1) + assert.equal(serder0.ked["nt"], 1) + assert.deepStrictEqual(serder0.ked["n"], nxt1) + assert.equal(serder0.ked["bt"], 0) + assert.equal(serder0.raw, + '{"v":"KERI10JSON000125_","t":"icp","d":"EIflL4H4134zYoRM6ls6Q086RLC_BhfNFh5u' + + 'k-WxvhsL","i":"EIflL4H4134zYoRM6ls6Q086RLC_BhfNFh5uk-WxvhsL","s":"0","kt":1,' + + '"k":["DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH"],"nt":1,"n":["EIf-ENw7Pr' + + 'M52w4H-S7NGU2qVIfraXVIlV9hEAaMHg7W"],"bt":0,"b":[],"c":[],"a":[]}') + + let siger = signer0.sign(b(serder0.raw), 0) as Siger + assert.equal(siger.qb64, "AABB3MJGmBXxSEryNHw3YwZZLRl_6Ws4Me2WFq8PrQ6WlluSOpPqbwXuiG9RvNWZkqeW8A_0VRjokGMVRZ3m-c0I") + + let msg = messagize(serder0, [siger]) + assert.equal(d(msg), '{"v":"KERI10JSON000125_","t":"icp","d":"EIflL4H4134zYoRM6ls6Q086RLC_BhfNFh5uk-WxvhsL","i"' + + ':"EIflL4H4134zYoRM6ls6Q086RLC_BhfNFh5uk-WxvhsL","s":"0","kt":1,"k":["DFs8BBx86uytIM0D2BhsE5rrqVIT8ef8mflpNceHo4XH"],' + + '"nt":1,"n":["EIf-ENw7PrM52w4H-S7NGU2qVIfraXVIlV9hEAaMHg7W"],"bt":0,"b":[],"c":[],"a":[]}' + + '-AABAABB3MJGmBXxSEryNHw3YwZZLRl_6Ws4Me2WFq8PrQ6WlluSOpPqbwXuiG9RvNWZkqeW8A_0VRjokGMVRZ3m-c0I') + + }) +}) \ No newline at end of file diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index 2509bf91..ed46f055 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -141,9 +141,9 @@ describe('Manager', () => { let stem = "red" - // Create a Manager without encryption should raise an exception + // Create a randy Manager without encryption should raise an exception assert.throws(() => { - new Manager({salt: salt, algo: Algos.randy}) + new Manager({algo: Algos.randy}) }) // cryptseed0 = b('h,#|\x8ap"\x12\xc43t2\xa6\xe1\x18\x19\xf0f2,y\xc4\xc21@\xf5@\x15.\xa2\x1a\xcf') @@ -404,7 +404,7 @@ describe('Manager', () => { assert.equal(manager.pidx, 4) spre = verfers[0].qb64 - assert.equal(spre, "DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM") + assert.equal(spre, "DIMPlAYsqdL8OxoDTdmCzYL6WCBRWgFov2S9mjhkZBgu") pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 3) @@ -416,11 +416,11 @@ describe('Manager', () => { ps = manager.ks.getSits(spre)! assert.deepStrictEqual(ps.old.pubs, []) assert.equal(ps.new.pubs.length, 1) - assert.deepStrictEqual(ps.new.pubs, ['DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM']) + assert.deepStrictEqual(ps.new.pubs, ['DIMPlAYsqdL8OxoDTdmCzYL6WCBRWgFov2S9mjhkZBgu']) assert.equal(ps.new.ridx, 0) assert.equal(ps.new.kidx, 0) assert.equal(ps.nxt.pubs.length, 1) - assert.deepStrictEqual(ps.nxt.pubs, ['DBzZ6vejSNAZpXv1SDRnIF_P1UqcW5d2pu2U-v-uhXvE']) + assert.deepStrictEqual(ps.nxt.pubs, ['DCkCKvj0TLQinsvDSTXUnrBVUfFKFQObWbPpF5bz-QDG']) assert.equal(ps.nxt.ridx, 1) assert.equal(ps.nxt.kidx, 1) @@ -428,26 +428,14 @@ describe('Manager', () => { assert.deepStrictEqual(keys, ps.new.pubs) digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EIGjhyyBRcqCkPE9bmkph7morew0wW0ak-rQ-dHCH-M2']) - - assert.throws(() => { - manager.incept({salt: salt, stem: stem, temp: true}) - }) - - oldspre = spre - spre = 'DCNK4lpFfpMM-9rfkY3XVUcCu5o5cxzv1lgMqxMVG3Ic' - manager.move(oldspre, spre) - - assert.throws(() => { - manager.incept({salt: salt, stem: stem, temp: true}) - }) + assert.deepStrictEqual(digs, ['EA-BrckClECptkbamqWj-Ssu6bSiL4c7ZruQ1PNrLOGI']) hashes = manager.incept({ncount: 0, salt: salt, stem: 'wit0', transferable: false, temp: true}) verfers = hashes[0] digers = hashes[1] let witpre0 = verfers[0].qb64 - assert.equal(verfers[0].qb64, 'BOTNI4RzN706NecNdqTlGEcMSTWiFUvesEqmxWR_op8n') + assert.equal(verfers[0].qb64, 'BPAKr6S6GHg2w4R72_XJNRJ1kELitBQr8a5tCrt5yOpM') assert.equal(verfers[0].code, MtrDex.Ed25519N) assert.notEqual(digers, undefined) @@ -456,7 +444,7 @@ describe('Manager', () => { digers = hashes[1] let witpre1 = verfers[0].qb64 - assert.equal(verfers[0].qb64, 'BAB_5xNXH4hoxDCtAHPFPDedZ6YwTo8mbdw_v0AOHOMt') + assert.equal(verfers[0].qb64, 'BJ0vexQbWe8ysL03FeTn6yZiIVaTisiZstysKjGFK_6D') assert.equal(verfers[0].code, MtrDex.Ed25519N) assert.notEqual(digers, undefined) diff --git a/test/core/prefixer.test.ts b/test/core/prefixer.test.ts new file mode 100644 index 00000000..719083de --- /dev/null +++ b/test/core/prefixer.test.ts @@ -0,0 +1,48 @@ +import libsodium from "libsodium-wrappers-sumo"; +import {Dict, Ident, Ilks, Serials, versify, Versionage} from "../../src/keri/core/core"; +import {MtrDex} from "../../src/keri/core/matter"; +import {Prefixer} from "../../src/keri/core/prefixer"; +import {strict as assert} from "assert"; + + +describe('Prefixer', () => { + it('should create autonomic identifier prefix using derivation as determined by code from ked', async () => { + await libsodium.ready; + + // (b'\xacr\xda\xc83~\x99r\xaf\xeb`\xc0\x8cR\xd7\xd7\xf69\xc8E\x1e\xd2\xf0=`\xf7\xbf\x8a\x18\x8a`q') // from keripy + let verkey = new Uint8Array([172, 114, 218, 200, 51, 126, 153, 114, 175, 235, 96, 192, 140, 82, 215, 215, 246, 57, 200, 69, 30, 210, 240, 61, 96, 247, 191, 138, 24, 138, 96, 113]) + let prefixer = new Prefixer({raw: verkey, code: MtrDex.Ed25519}) + assert.equal(prefixer.code, MtrDex.Ed25519) + assert.equal(prefixer.qb64, "DKxy2sgzfplyr-tgwIxS19f2OchFHtLwPWD3v4oYimBx") + + // Test digest derivation from inception ked + let vs = versify(Ident.KERI, Versionage, Serials.JSON, 0) + let sn = 0 + let ilk = Ilks.icp + let sith = "1" + let keys = [new Prefixer({raw: verkey, code: MtrDex.Ed25519}).qb64] + let nxt = "" + let toad = 0 + let wits = new Array() + let cnfg = new Array() + + let ked = { + v: vs, // version string + i: "", // qb64 prefix + s: sn.toString(16), // hex string no leading zeros lowercase + t: ilk, + kt: sith, // hex string no leading zeros lowercase + k: keys, // list of qb64 + n: nxt, // hash qual Base64 + wt: toad.toString(16), // hex string no leading zeros lowercase + w: wits, // list of qb64 may be empty + c: cnfg, // list of config ordered mappings may be empty + } as Dict + + prefixer = new Prefixer({code: MtrDex.Blake3_256}, ked) + assert.equal(prefixer.qb64, 'ELEjyRTtmfyp4VpTBTkv_b6KONMS1V8-EW-aGJ5P_QMo') + + + + }) +}) \ No newline at end of file diff --git a/test/core/saider.test.ts b/test/core/saider.test.ts new file mode 100644 index 00000000..fea24a70 --- /dev/null +++ b/test/core/saider.test.ts @@ -0,0 +1,36 @@ +import {Dict, Ident, Serials, versify, Versionage} from "../../src/keri/core/core"; +import {strict as assert} from "assert"; +import {MtrDex} from "../../src/keri/core/matter"; +import libsodium from "libsodium-wrappers-sumo"; +import {Saider} from "../../src/keri/core/saider"; + + +describe('Saider', () => { + it("should create Saidified dicts", async () => { + await libsodium.ready; + + let kind = Serials.JSON + let code = MtrDex.Blake3_256 + + let vs = versify(Ident.KERI, Versionage, kind, 0) // vaccuous size == 0 + assert.equal(vs, 'KERI10JSON000000_') + let sad4 = { + v: vs, + t: "rep", + d: "", // vacuous said + dt: "2020-08-22T17:50:12.988921+00:00", + r: "logs/processor", + a: { + d: "EBabiu_JCkE0GbiglDXNB5C4NQq-hiGgxhHKXBxkiojg", + i: "EB0_D51cTh_q6uOQ-byFiv5oNXZ-cxdqCqBAa4JmBLtb", + name: "John Jones", + role: "Founder", + } as Dict, + } as Dict + let saider = new Saider({}, sad4) // default version string code, kind, and label + assert.equal(saider.code, code) + assert.equal(saider.qb64, 'ELzewBpZHSENRP-sL_G_2Ji4YDdNkns9AzFzufleJqdw') + + + }) +}) \ No newline at end of file diff --git a/test/core/serder.test.ts b/test/core/serder.test.ts new file mode 100644 index 00000000..c378db75 --- /dev/null +++ b/test/core/serder.test.ts @@ -0,0 +1,69 @@ +import {deversify, Dict, Ilks, Serials, Version} from "../../src/keri/core/core"; +import {strict as assert} from "assert"; +import {Salter, Tier} from "../../src/keri/core/salter"; +import {MtrDex} from "../../src/keri/core/matter"; +import {Diger} from "../../src/keri/core/diger"; +import {Serder} from "../../src/keri/core/serder"; +import libsodium from "libsodium-wrappers-sumo"; +import {Prefixer} from "../../src/keri/core/prefixer"; + + +describe('deversify', () => { + it('should parse a KERI event version string', async () => { + let [kind, version, size] = deversify("KERI10JSON00011c_") + assert.equal(kind, Serials.JSON) + assert.deepStrictEqual(version, new Version(1, 0)) + assert.equal(size, "00011c") + }) +}) + +describe('Serder', () => { + it("should create KERI events from dicts", async () => { + await libsodium.ready; + + let sith = 1 + let nsith = 1 + let sn = 0 + let toad = 0 + + let raw = new Uint8Array([5, 170, 143, 45, 83, 154, 233, 250, 85, 156, 2, 156, 155, 8, 72, 117]) + let salter = new Salter({raw: raw}) + let skp0 = salter.signer(MtrDex.Ed25519_Seed, true, "A", Tier.low, true) + let keys = [skp0.verfer.qb64] + + let skp1 = salter.signer(MtrDex.Ed25519_Seed, true, "N", Tier.low, true) + let ndiger = new Diger({}, skp1.verfer.qb64b) + let nxt = [ndiger.qb64] + assert.deepStrictEqual(nxt, ['EAKUR-LmLHWMwXTLWQ1QjxHrihBmwwrV2tYaSG7hOrWj']) + + + let ked0 = { + v: "KERI10JSON000000_", + t: Ilks.icp, + d: "", + i: "", + s: sn.toString(16), + kt: sith.toString(16), + k: keys, + nt: nsith.toString(16), + n: nxt, + bt: toad.toString(16), + b: [], + c: [], + a: [], + } as Dict + + let serder = new Serder(ked0) + assert.equal(serder.raw, + '{"v":"KERI10JSON0000d3_","t":"icp","d":"","i":"","s":"0","kt":"1","k":' + + '["DAUDqkmn-hqlQKD8W-FAEa5JUvJC2I9yarEem-AAEg3e"],"nt":"1",' + + '"n":["EAKUR-LmLHWMwXTLWQ1QjxHrihBmwwrV2tYaSG7hOrWj"],"bt":"0","b":[],"c":[],"a":[]}') + let aid0 = new Prefixer({code: MtrDex.Ed25519}, ked0) + assert.equal(aid0.code, MtrDex.Ed25519) + assert.equal(aid0.qb64, skp0.verfer.qb64) + assert.equal(skp0.verfer.qb64, 'DAUDqkmn-hqlQKD8W-FAEa5JUvJC2I9yarEem-AAEg3e') + + aid0 = new Prefixer({code: MtrDex.Blake3_256}, ked0) + assert.equal(aid0.qb64, 'ECHOi6qRaswNpvytpCtpvEh2cB2aLAwVHBLFinno3YVW') + }) +}) \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 42dc68f8..ee0984b8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs "include": ["src", "types"], "compilerOptions": { - "target": "ES2021", + "target": "ES2022", "module": "esnext", "lib": ["dom", "esnext"], "importHelpers": true, From d70b9fcad75ffe6c943c4ddccf11c7fb2ccf68de Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Tue, 7 Feb 2023 09:34:58 -0800 Subject: [PATCH 013/463] Authenticater class for signing requests and verifying signatures on responses for interaction with a Signify agent. Uses Signature and Signature-Input HTTP headers as structured field values for signatures on requests and responses using KERI aids. Signed-off-by: pfeairheller --- package-lock.json | 11 +++ package.json | 1 + src/keri/core/authing.ts | 129 +++++++++++++++++++++++++++++ src/keri/core/cigar.ts | 8 +- src/keri/core/httping.ts | 162 +++++++++++++++++++++++++++++++++++++ src/keri/core/signer.ts | 3 +- src/keri/core/utils.ts | 6 +- src/keri/end/ending.ts | 160 ++++++++++++++++++++++++++++++++++++ src/keri/end/tsconfig.json | 100 +++++++++++++++++++++++ test/core/authing.test.ts | 59 ++++++++++++++ test/core/httping.test.ts | 60 ++++++++++++++ test/end/ending.test.ts | 124 ++++++++++++++++++++++++++++ tsconfig.json | 2 +- 13 files changed, 818 insertions(+), 7 deletions(-) create mode 100644 src/keri/core/authing.ts create mode 100644 src/keri/core/httping.ts create mode 100644 src/keri/end/ending.ts create mode 100644 src/keri/end/tsconfig.json create mode 100644 test/core/authing.test.ts create mode 100644 test/core/httping.test.ts create mode 100644 test/end/ending.test.ts diff --git a/package-lock.json b/package-lock.json index 9d54a447..a8f366c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", "msgpack5": "^5.3.2", + "structured-headers": "^0.5.0", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" }, @@ -15320,6 +15321,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/structured-headers": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", + "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" + }, "node_modules/style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", @@ -31910,6 +31916,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "structured-headers": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", + "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" + }, "style-loader": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", diff --git a/package.json b/package.json index fe27d87c..1916cc8b 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", "msgpack5": "^5.3.2", + "structured-headers": "^0.5.0", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" } diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts new file mode 100644 index 00000000..39da2e26 --- /dev/null +++ b/src/keri/core/authing.ts @@ -0,0 +1,129 @@ +import {Signer} from "./signer"; +import {Verfer} from "./verfer"; +import {desiginput, normalize, siginput} from "./httping"; +import {b} from "./core"; +import {parseDictionary} from "structured-headers"; +import {Signage, signature} from "../end/ending"; +import {Cigar} from "./cigar"; +import {Siger} from "./siger"; + +const Base64 = require('urlsafe-base64'); + +export class Authenticater { + + static DefaultFields = [ + "Signify-Resource", + "@method", + "@path", + "Signify-Timestamp" + ] + private _verfer: Verfer; + private readonly _csig: Signer; + + constructor(csig: Signer, aaid: string) { + this._csig = csig + this._verfer = new Verfer({qb64: aaid}) + } + + verify(headers: Headers, method: string, path: string): boolean { + let siginput = headers.get("Signature-Input") + if (siginput == null) { + return false + } + let signature = headers.get("Signature") + if (signature == null) { + return false + } + + let inputs = desiginput(siginput) + inputs = inputs.filter((input) => input.name == "signify") + + if (inputs.length == 0) { + return false + } + + inputs.forEach((input) => { + let items = new Array() + input.fields!.forEach((field: string) => { + if (field.startsWith("@")) { + if (field == "@method") { + items.push(`"${field}": ${method}`) + } else if (field == "@path") { + items.push(`"${field}": ${path}`) + } + } else { + if (headers.has(field)) { + let value = normalize(headers.get(field) as string) + items.push(`"${field}": ${value}`) + } + } + }) + + let values = new Array() + values.push(`(${input.fields!.join(" ")})`) + values.push(`created=${input.created}`) + + if (input.expires != undefined) { + values.push(`expires=${input.expires}`) + } + if (input.nonce != undefined) { + values.push(`nonce=${input.nonce}`) + } + if (input.keyid != undefined) { + values.push(`keyid=${input.keyid}`) + } + if (input.context != undefined) { + values.push(`context=${input.context}`) + } + if (input.alg != undefined) { + values.push(`alg=${input.alg}`) + } + + let params = values.join(";") + + items.push(`"@signature-params: ${params}"`) + let ser = b(items.join("\n")) + + let signage = parseDictionary(signature!) + if (!signage.has("indexed")) { + throw new Error(`invalid signate ${signage}`) + } + + let item = signage.get("indexed")! + let raw = Base64.decode(item[1].get(input.name) as string) + + if (!this._verfer.verify(raw, ser)) { + throw new Error(`Signature for {inputage} invalid.`) + } + }) + + return true + } + + sign(headers: Headers, method: string, path: string, fields?: Array): Headers { + if (fields == undefined) { + fields = Authenticater.DefaultFields + } + + let [header, sig] = siginput(this._csig, { + name: "signify", method, path, headers, fields, alg: "ed25519", + keyid: this._csig.verfer.qb64 + }) + + header.forEach((value, key) => { + headers.append(key, value) + }) + + let markers = new Map() + markers.set("signify", sig) + let signage = new Signage(markers, false) + let signed = signature([signage]) + signed.forEach((value, key) => { + headers.append(key, value) + }) + + return headers + } + + +} \ No newline at end of file diff --git a/src/keri/core/cigar.ts b/src/keri/core/cigar.ts index 7e46e6b4..1e93f884 100644 --- a/src/keri/core/cigar.ts +++ b/src/keri/core/cigar.ts @@ -3,17 +3,17 @@ import {Matter, MatterArgs} from "./matter"; export class Cigar extends Matter { - private _verfer: Verfer - constructor({raw, code, qb64, qb64b, qb2}:MatterArgs, verfer: Verfer) { + private _verfer: Verfer | undefined + constructor({raw, code, qb64, qb64b, qb2}:MatterArgs, verfer?: Verfer) { super({raw, code, qb64, qb64b, qb2}); this._verfer = verfer } - get verfer(): Verfer { + get verfer(): Verfer | undefined { return this._verfer } - set verfer(verfer:Verfer) { + set verfer(verfer:Verfer|undefined) { this._verfer = verfer } } \ No newline at end of file diff --git a/src/keri/core/httping.ts b/src/keri/core/httping.ts new file mode 100644 index 00000000..fbdd29ca --- /dev/null +++ b/src/keri/core/httping.ts @@ -0,0 +1,162 @@ +import {serializeDictionary, Dictionary, parseDictionary, Item, Parameters} from "structured-headers"; +import {Signer} from "./signer"; +import {b} from "./core"; +import {Cigar} from "./cigar"; +import {nowUTC} from "./utils"; +import {Siger} from "./siger"; +const Base64 = require('urlsafe-base64'); + +export function normalize(header: string) { + return header.trim() +} + +export interface SiginputArgs { + name: string, + method:string, + path:string, + headers: Headers, + fields: Array, + expires?:number, + nonce?: string, + alg?: string, + keyid?: string, + context?: string +} + +export function siginput(signer: Signer, + {name, method, path, headers, fields, + expires, nonce, alg, keyid, context}: SiginputArgs): [Map, Siger|Cigar] { + + let items = new Array() + let ifields = new Array<[string, Map]>() + + fields.forEach((field) => { + if (field.startsWith("@")) { + switch (field) { + case "@method": + items.push(`"${field}": ${method}`) + ifields.push([field, new Map()]) + break + case "@path": + items.push(`"${field}": ${path}`) + ifields.push([field, new Map()]) + break + } + } else { + if (!headers.has(field)) + return + + ifields.push([field, new Map()]) + let value = normalize(headers.get(field)!) + items.push(`"${field}": ${value}`) + } + }) + + let nameParams = new Map() + let now = Math.floor(nowUTC().getTime() / 1000) + nameParams.set("created", now) + + let values = [`(${ifields.join(" ")})`, `created=${now}`] + if (expires != undefined) { + values.push(`expires=${expires}`) + nameParams.set('expires', expires) + } + if (nonce != undefined) { + values.push(`nonce=${nonce}`) + nameParams.set('nonce', nonce) + } + if (keyid != undefined) { + values.push(`keyid=${keyid}`) + nameParams.set('keyid', keyid) + } + if (context != undefined) { + values.push(`context=${context}`) + nameParams.set('context', context) + } + if (alg != undefined) { + values.push(`alg=${alg}`) + nameParams.set('alg', alg) + } + let sid = new Map([ + [name, [ifields, nameParams]] + ]) + + let params = values.join(";") + items.push(`"@signature-params: ${params}"`) + + let ser = items.join("\n") + let sig = signer.sign(b(ser)) + + return [new Map([['Signature-Input', `${serializeDictionary(sid as Dictionary)}`]]), sig] +} + +export class Unqualified { + private readonly _raw: Uint8Array + + constructor(raw: Uint8Array) { + this._raw = raw + } + + get qb64(): string { + return Base64.encode(Buffer.from(this._raw)) + } + + get qb64b(): Uint8Array { + return b(this.qb64) + } +} + +export class Inputage { + public name: any + public fields: any + public created: any + public expires: any + public nonce: any + public alg: any + public keyid: any + public context: any +} + +export function desiginput(value: string): Array { + let sid = parseDictionary(value) + let siginputs = new Array() + + sid.forEach((value, key) => { + let siginput = new Inputage() + siginput.name = key + let list: Item[] + let params + [list, params] = value as [Item[], Parameters] + siginput.fields = list.map((item) => item[0]) + + if (!params.has("created")) { + throw new Error("missing required `created` field from signature input") + } + siginput.created = params.get("created") + + if (params.has("expires")) { + siginput.expires = params.get("expires") + } + + if (params.has("nonce")) { + siginput.nonce = params.get("nonce") + } + + if (params.has("alg")) { + siginput.alg = params.get("alg") + } + + if (params.has("keyid")) { + siginput.keyid = params.get("keyid") + } + + if (params.has("context")) { + siginput.context = params.get("context") + } + + siginputs.push(siginput) + }) + + return siginputs + +} \ No newline at end of file diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts index ffad566b..f466da24 100644 --- a/src/keri/core/signer.ts +++ b/src/keri/core/signer.ts @@ -70,7 +70,8 @@ export class Signer extends Matter { return this._verfer; } - sign(ser: Uint8Array, index: number | null = null, only: boolean = false, ondex: number | undefined = undefined) { + sign(ser: Uint8Array, index: number | null = null, only: boolean = false, + ondex: number | undefined = undefined): Siger | Cigar { return this._sign(ser, this.raw, this.verfer, index, only, ondex) } diff --git a/src/keri/core/utils.ts b/src/keri/core/utils.ts index e3106cb9..5e9b4a0e 100644 --- a/src/keri/core/utils.ts +++ b/src/keri/core/utils.ts @@ -69,6 +69,10 @@ function extractElementValues(element: any, values: any) { // } +export function nowUTC(): Date { + return new Date() +} + export function range(start: any, stop: any, step: any) { if (typeof stop == 'undefined') { @@ -91,4 +95,4 @@ export function range(start: any, stop: any, step: any) { } return result; -} \ No newline at end of file +} diff --git a/src/keri/end/ending.ts b/src/keri/end/ending.ts new file mode 100644 index 00000000..6d2aa783 --- /dev/null +++ b/src/keri/end/ending.ts @@ -0,0 +1,160 @@ +import {Siger} from "../core/siger"; +import {Cigar} from "../core/cigar"; + +export const FALSY = [false, 0, "?0", "no", "false", "False", "off"] +export const TRUTHY = [true, 1, "?1", "yes", "true", "True", 'on'] + +export class Signage { + constructor(markers: any, indexed?: boolean, signer?: string, ordinal?: string, + digest?: string, kind?: string) { + this.markers = markers + this.indexed = indexed + this.signer = signer + this.ordinal = ordinal + this.digest = digest + this.kind = kind + } + public markers: any + public indexed: boolean | undefined = false + public signer: string | undefined + public ordinal: string | undefined + public digest: string | undefined + public kind: string | undefined +} + +export function signature(signages: Array): Headers { + let values = new Array() + + for (let signage of signages) { + let markers: Array + let indexed = signage.indexed + let signer = signage.signer + let ordinal = signage.ordinal + let digest = signage.digest + let kind = signage.kind + let tags: Array + + if (signage.markers instanceof Map) { + tags = Array.from(signage.markers.keys()) + markers = Array.from(signage.markers.values()) + } else { + markers = signage.markers as Array + tags = new Array() + } + + if (indexed == undefined) { + indexed = markers[0] instanceof Siger + } + + let items = new Array() + let tag = "indexed" + + let val = indexed ? "?1" : "?0" + items.push(`${tag}="${val}"`) + + if (signer != undefined) { + items.push(`signer="${signer}"`) + } + if (ordinal != undefined) { + items.push(`ordinal="${ordinal}"`) + } + if (digest != undefined) { + items.push(`digest="${digest}"`) + } + if (kind != undefined) { + items.push(`kind="${kind}"`) + } + + markers.forEach((marker, idx) => { + let tag: string + if (tags != undefined) { + tag = tags[idx] + } + + if (marker instanceof Siger) { + if (!indexed) + throw new Error(`Indexed signature marker ${marker} when indexed False.`) + + tag = marker.index.toString() + } else { // Must be a Cigar + if (indexed) + throw new Error(`Unindexed signature marker ${marker} when indexed True.`) + tag = marker.verfer!.qb64 + } + + val = marker.qb64 + items.push(`${tag}="${val}"`) + }) + + values.push(items.join(";")) + } + + return new Headers([ + ["Signature", values.join(",")] + ]) +} + +export function designature(value: string) { + let values = value.replace(" ", "").split(",") + + let signages = new Array() + values.forEach((val) => { + let dict = new Map() + val.split(";").forEach((v) => { + let splits = v.split("=", 2) + dict.set(splits[0], splits[1].replaceAll("\"", "")) + }) + + if (!dict.has("indexed")) { + throw new Error("Missing indexed field in Signature header signage.") + } + let item = dict.get("indexed")! + let indexed = !(FALSY.includes(item)) + dict.delete("indexed") + + let signer + if (dict.has("signer")) { + signer = dict.get("signer") as string + dict.delete("signer") + } + + let ordinal + if (dict.has("ordinal")) { + ordinal = dict.get("ordinal") as string + dict.delete("ordinal") + } + + let digest + if (dict.has("digest")) { + digest = dict.get("digest") as string + dict.delete("digest") + } + + let kind + if (dict.has("kind")) { + kind = dict.get("kind") as string + dict.delete("kind") + } else { + kind = "CESR" + } + + let markers: Map + if (kind == "CESR") { + markers = new Map() + dict.forEach((val, key) => { + if (indexed) { + markers.set(key, new Siger({qb64: val as string})) + } else { + markers.set(key, new Cigar({qb64: val as string})) + } + }) + } else { + markers = dict + } + + signages.push(new Signage(markers, indexed, signer, ordinal, digest, kind)) + + }) + + return signages +} \ No newline at end of file diff --git a/src/keri/end/tsconfig.json b/src/keri/end/tsconfig.json new file mode 100644 index 00000000..ab5a6e85 --- /dev/null +++ b/src/keri/end/tsconfig.json @@ -0,0 +1,100 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Projects */ + // "incremental": true, /* Enable incremental compilation */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ + // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ + "types": ["node"], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "resolveJsonModule": true, /* Enable importing .json files */ + // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ + // "outDir": "./", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */ + // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ + // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/test/core/authing.test.ts b/test/core/authing.test.ts new file mode 100644 index 00000000..3f19e146 --- /dev/null +++ b/test/core/authing.test.ts @@ -0,0 +1,59 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; +import {Salter} from "../../src/keri/core/salter"; +import {b} from "../../src/keri/core/core"; +import {Authenticater} from "../../src/keri/core/authing"; +import * as utilApi from "../../src/keri/core/utils"; + + +describe('Authenticater.verify', () => { + it('verify signature on Response', async () => { + await libsodium.ready; + let salt = '0123456789abcdef' + let salter = new Salter({raw: b(salt)}) + let signer = salter.signer() + let aaid = "DDK2N5_fVCWIEO9d8JLhk7hKrkft6MbtkUhaHQsmABHY" + + let headers = new Headers([ + ['Connection', 'close'], + ['Content-Length', '256'], + ['Content-Type', 'application/json'], + ['Signature', ('indexed="?0";signify="bipHos8-XTOzLq0He4tz8mIeZGq4h5WdIndNVCSX2H5eYCqwYOQT7EysiMkgp0HwYBIgmg7wuTQgtJKJ__EBCA=="')], + ['Signature-Input', ('signify=("signify-resource" "@method" "@path" "signify-timestamp");created=1609459200;keyid="EAM6vT0VYoaEWxRTgr24g0nZHmPSUBgs19WB43zEKHnz";alg="ed25519"')], + ['Signify-Resource', 'EWJkQCFvKuyxZi582yJPb0wcwuW3VXmFNuvbQuBpgmIs'], + ['Signify-Timestamp', '2022-09-24T00:05:48.196795+00:00'], + ]) + + let authn = new Authenticater(signer, aaid) + assert.notEqual(authn, undefined) + + assert.equal(authn.verify(new Headers(headers), "POST", "/boot"), true) + }) +}) + +describe("Authenticater.sign", () => { + it('Create signed headers for a request', async () => { + await libsodium.ready; + let salt = '0123456789abcdef' + let salter = new Salter({raw: b(salt)}) + let signer = salter.signer() + let aaid = "DDK2N5_fVCWIEO9d8JLhk7hKrkft6MbtkUhaHQsmABHY" + + let headers = new Headers([ + ["Content-Type", "application/json"], + ["Content-Length", "256"], + ["Connection", "close"], + ["Signify-Resource", "EWJkQCFvKuyxZi582yJPb0wcwuW3VXmFNuvbQuBpgmIs"], + ["Signify-Timestamp", "2022-09-24T00:05:48.196795+00:00"], + ]) + jest.spyOn(utilApi, "nowUTC").mockReturnValue(new Date("2021-01-01T00:00:00.000000+00:00")) + + let authn = new Authenticater(signer, aaid) + headers = authn.sign(headers, "POST", "/boot") + + assert.equal(headers.has("Signature-Input"), true) + assert.equal(headers.has("Signature"), true) + assert.equal(headers.get("Signature-Input"), 'signify=("Signify-Resource" "@method" "@path" "Signify-Timestamp");created=1609459200;keyid="DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt";alg="ed25519"') + assert.equal(headers.get("Signature"), 'indexed="?0";DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt="0BDLBHkG4X37TLcNkb-ZORKfez-rWy-d5C1n1i9wFN8Ho8Wh8buKmZ-AHKt97-MzGYXZ18mVDy4Y3Xi75iiwtmMG"') + }) +}) \ No newline at end of file diff --git a/test/core/httping.test.ts b/test/core/httping.test.ts new file mode 100644 index 00000000..8afafb04 --- /dev/null +++ b/test/core/httping.test.ts @@ -0,0 +1,60 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; +import {Salter} from "../../src/keri/core/salter"; +import {b} from "../../src/keri/core/core"; +import {siginput, desiginput, SiginputArgs} from "../../src/keri/core/httping"; +import * as utilApi from "../../src/keri/core/utils"; + + +describe('siginput', () => { + it('create valid Signature-Input header with signature', async () => { + await libsodium.ready; + let salt = '0123456789abcdef' + let salter = new Salter({raw: b(salt)}) + let signer = salter.signer() + + let headers: Headers = new Headers([ + ["Content-Type", "application/json"], + ["Content-Length", "256"], + ["Connection", "close"], + ["Signify-Resource", "EWJkQCFvKuyxZi582yJPb0wcwuW3VXmFNuvbQuBpgmIs"], + ["Signify-Timestamp", "2022-09-24T00:05:48.196795+00:00"], + ]) + jest.spyOn(utilApi, "nowUTC").mockReturnValue(new Date("2021-01-01T00:00:00.000000+00:00")) + + + let [header, sig] = siginput(signer, { + name: "sig0", + method: "POST", + path: "/signify", + headers, + fields: ["Signify-Resource", "@method", "@path", "Signify-Timestamp"], + alg: "ed25519", + keyid: signer.verfer.qb64 + } as SiginputArgs) + + assert.equal(header.size, 1) + assert.equal(header.has("Signature-Input"), true) + let sigipt = header.get("Signature-Input") + assert.equal(sigipt, 'sig0=("Signify-Resource" "@method" "@path" "Signify-Timestamp");created=1609459200;keyid="DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt";alg="ed25519"') + assert.equal(sig.qb64, "0BAU6RvYeiudxVDADCeG2I4S2Y0HVdu97lleiGtUt_swYgSKflVzrqAQJBfrt6vaIO7-dvnPhxfNGTLhONBnqFMJ") + }) +}) + +describe("desiginput", () => { + it('create valid Signature-Input header with signature', async () => { + await libsodium.ready; + let siginput = 'sig0=("signify-resource" "@method" "@path" "signify-timestamp");created=1609459200;keyid="EIaGMMWJFPmtXznY1IIiKDIrg-vIyge6mBl2QV8dDjI3";alg="ed25519"' + + let inputs = desiginput(siginput) + assert.equal(inputs.length, 1) + let input = inputs[0] + assert.deepStrictEqual(input.fields, ["signify-resource","@method", "@path", "signify-timestamp",]) + assert.equal(input.created, 1609459200) + assert.equal(input.alg, "ed25519") + assert.equal(input.keyid, "EIaGMMWJFPmtXznY1IIiKDIrg-vIyge6mBl2QV8dDjI3") + assert.equal(input.expires, undefined) + assert.equal(input.nonce, undefined) + assert.equal(input.context, undefined) + }) +}) \ No newline at end of file diff --git a/test/end/ending.test.ts b/test/end/ending.test.ts new file mode 100644 index 00000000..5a1db5cc --- /dev/null +++ b/test/end/ending.test.ts @@ -0,0 +1,124 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; +import {Salter, Tier} from "../../src/keri/core/salter"; +import {b} from "../../src/keri/core/core"; +import {MtrDex} from "../../src/keri/core/matter"; +import {designature, Signage, signature} from "../../src/keri/end/ending"; +import {Siger} from "../../src/keri/core/siger"; +import {Cigar} from "../../src/keri/core/cigar"; + + +describe('ending_signature_designature', () => { + it('should create and parse signature headers', async () => { + await libsodium.ready; + + let name = "Hilga" + let temp = true + + let salter = new Salter({raw: b('0123456789abcdef')}) + let signer0 = salter.signer(MtrDex.Ed25519_Seed, true, `${name}00`, Tier.low, temp) + let signer1 = salter.signer(MtrDex.Ed25519_Seed, true, `${name}01`, Tier.low, temp) + let signer2 = salter.signer(MtrDex.Ed25519_Seed, true, `${name}02`, Tier.low, temp) + let signers = [signer0, signer1, signer2] + + let text = b('{"seid":"BA89hKezugU2LFKiFVbitoHAxXqJh6HQ8Rn9tH7fxd68","name":"wit0","dts":"2021-01-01T00' + + ':00:00.000000+00:00","scheme":"http","host":"localhost","port":8080,"path":"/witness"}') + + let sigers = Array.from(signers, (signer, idx) => signer.sign(text, idx)) + let pre = "EGqHykT1gVyuWxsVW6LUUsz_KtLJGYMi_SrohInwvjC-" // Hab.pre from KERIpy test + let digest = pre + + let signage = new Signage(sigers) + let header = signature([signage]) + assert.equal(header.has("Signature"), true) + assert.equal(header.get("Signature"), 'indexed="?1";0="AACsufRGYI-sRvS2c0rsOueSoSRtrjODaf48DYLJbLvvD8aHe7b2sWGebZ-y9ichhsxMF3Hhn-3LYSKIrnmH3oIN";1="ABDs7m2-h5l7vpjYtbFXtksicpZK5Oclm43EOkE2xoQOfr08doj73VrlKZOKNfJmRumD3tfaiFFgVZqPgiHuFVoA";2="ACDVOy2LvGgFINUneL4iwA55ypJR6vDpLLbdleEsiANmFazwZARypJMiw9vu2Iu0oL7XCUiUT4JncU8P3HdIp40F"') + + let signages = designature(header.get("Signature")!) + assert.equal(signages.length, 1) + signage = signages[0] + assert.equal(signage.markers.size, 3) + signage.markers.forEach((item: string|Siger|Cigar, tag: string) => { + let marker = item as Siger + let idx = parseInt(tag) + let siger = sigers[idx] as Siger + assert.equal(marker.qb64, siger.qb64) + assert.equal(parseInt(tag), siger.index) + }) + + signage = new Signage(sigers, true, pre, "0", digest, "CESR") + header = signature([signage]) + assert.equal(header.has("Signature"), true) + assert.equal(header.get("Signature"), 'indexed="?1";signer="EGqHykT1gVyuWxsVW6LUUsz_KtLJGYMi_SrohInwvjC-";ordinal="0";digest="EGqHykT1gVyuWxsVW6LUUsz_KtLJGYMi_SrohInwvjC-";kind="CESR";0="AACsufRGYI-sRvS2c0rsOueSoSRtrjODaf48DYLJbLvvD8aHe7b2sWGebZ-y9ichhsxMF3Hhn-3LYSKIrnmH3oIN";1="ABDs7m2-h5l7vpjYtbFXtksicpZK5Oclm43EOkE2xoQOfr08doj73VrlKZOKNfJmRumD3tfaiFFgVZqPgiHuFVoA";2="ACDVOy2LvGgFINUneL4iwA55ypJR6vDpLLbdleEsiANmFazwZARypJMiw9vu2Iu0oL7XCUiUT4JncU8P3HdIp40F"') + + signages = designature(header.get("Signature")!) + assert.equal(signages.length, 1) + signage = signages[0] + assert.equal(signage.indexed, true) + assert.equal(signage.signer, pre) + assert.equal(signage.digest, digest) + assert.equal(signage.kind, "CESR") + + assert.equal(signage.markers.size, 3) + signage.markers.forEach((item: string|Siger|Cigar, tag: string) => { + let marker = item as Siger + let idx = parseInt(tag) + let siger = sigers[idx] as Siger + assert.equal(marker.qb64, siger.qb64) + assert.equal(parseInt(tag), siger.index) + }) + + let cigars = Array.from(signers, (signer) => signer.sign(text)) + signage = new Signage(cigars) + header = signature([signage]) + assert.equal(header.has("Signature"), true) + assert.equal(header.get("Signature"), 'indexed="?0";DAi2TaRNVtGmV8eSUvqHIBzTzIgrQi57vKzw5Svmy7jw="0BCsufRGYI-sRvS2c0rsOueSoSRtrjODaf48DYLJbLvvD8aHe7b2sWGebZ-y9ichhsxMF3Hhn-3LYSKIrnmH3oIN";DNK2KFnL0jUGlmvZHRse7HwNGVdtkM-ORvTZfFw7mDbt="0BDs7m2-h5l7vpjYtbFXtksicpZK5Oclm43EOkE2xoQOfr08doj73VrlKZOKNfJmRumD3tfaiFFgVZqPgiHuFVoA";DDvIoIYqeuXJ4Zb8e2luWfjPTg4FeIzfHzIO8lC56WjD="0BDVOy2LvGgFINUneL4iwA55ypJR6vDpLLbdleEsiANmFazwZARypJMiw9vu2Iu0oL7XCUiUT4JncU8P3HdIp40F"') + signages = designature(header.get("Signature")!) + assert.equal(signages.length, 1) + signage = signages[0] + assert.equal(signage.indexed, false) + assert.equal(signage.markers.size, 3) + signage.markers.forEach((marker: Cigar, tag: string) => { + let cigar = cigars.find((cigar) => cigar.verfer!.qb64 == tag) + assert.notEqual(cigar, undefined) + assert.equal(marker.qb64, cigar!.qb64) + assert.equal(tag, cigar!.verfer!.qb64) + }) + + // now combine into one header + signages = new Array() + signages.push(new Signage(sigers, true, pre, undefined, undefined, "CESR")) + signages.push(new Signage(cigars, false, pre, undefined, undefined, "CESR")) + + header = signature(signages) + assert.equal(header.has("Signature"), true) + assert.equal(header.get("Signature"), 'indexed="?1";signer="EGqHykT1gVyuWxsVW6LUUsz_KtLJGYMi_SrohInwvjC-";kind="CESR";0="AACsufRGYI-sRvS2c0rsOueSoSRtrjODaf48DYLJbLvvD8aHe7b2sWGebZ-y9ichhsxMF3Hhn-3LYSKIrnmH3oIN";1="ABDs7m2-h5l7vpjYtbFXtksicpZK5Oclm43EOkE2xoQOfr08doj73VrlKZOKNfJmRumD3tfaiFFgVZqPgiHuFVoA";2="ACDVOy2LvGgFINUneL4iwA55ypJR6vDpLLbdleEsiANmFazwZARypJMiw9vu2Iu0oL7XCUiUT4JncU8P3HdIp40F",indexed="?0";signer="EGqHykT1gVyuWxsVW6LUUsz_KtLJGYMi_SrohInwvjC-";kind="CESR";DAi2TaRNVtGmV8eSUvqHIBzTzIgrQi57vKzw5Svmy7jw="0BCsufRGYI-sRvS2c0rsOueSoSRtrjODaf48DYLJbLvvD8aHe7b2sWGebZ-y9ichhsxMF3Hhn-3LYSKIrnmH3oIN";DNK2KFnL0jUGlmvZHRse7HwNGVdtkM-ORvTZfFw7mDbt="0BDs7m2-h5l7vpjYtbFXtksicpZK5Oclm43EOkE2xoQOfr08doj73VrlKZOKNfJmRumD3tfaiFFgVZqPgiHuFVoA";DDvIoIYqeuXJ4Zb8e2luWfjPTg4FeIzfHzIO8lC56WjD="0BDVOy2LvGgFINUneL4iwA55ypJR6vDpLLbdleEsiANmFazwZARypJMiw9vu2Iu0oL7XCUiUT4JncU8P3HdIp40F"') + signages = designature(header.get("Signature")!) + assert.equal(signages.length, 2) + + signage = signages[0] + assert.equal(signage.indexed, true) + assert.equal(signage.signer, pre) + assert.equal(signage.kind, "CESR") + assert.equal(signage.markers.size, 3) + signage.markers.forEach((item: string|Siger|Cigar, tag: string) => { + let marker = item as Siger + let idx = parseInt(tag) + let siger = sigers[idx] as Siger + assert.equal(marker.qb64, siger.qb64) + assert.equal(parseInt(tag), siger.index) + }) + + signage = signages[1] + assert.equal(signage.indexed, false) + assert.equal(signage.signer, pre) + assert.equal(signage.kind, "CESR") + assert.equal(signage.markers.size, 3) + signage.markers.forEach((marker: Cigar, tag: string) => { + let cigar = cigars.find((cigar) => cigar.verfer!.qb64 == tag) + assert.notEqual(cigar, undefined) + assert.equal(marker.qb64, cigar!.qb64) + assert.equal(tag, cigar!.verfer!.qb64) + }) + + }) +}) \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index ee0984b8..fc5cf3f9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs - "include": ["src", "types"], + "include": ["src", "types", "/node_modules/structured-field-values/index.d.ts"], "compilerOptions": { "target": "ES2022", "module": "esnext", From 3a309a1ebb9eb12e74e4218c0a1bca64dbf44a85 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Sun, 12 Feb 2023 16:13:12 -0800 Subject: [PATCH 014/463] Updates to clean up the TypeScript and get a publishable module exposing some of these classes. Signed-off-by: pfeairheller --- src/index.ts | 11 ++++---- src/keri/app/habery.ts | 51 ++++++++++++++++++++++++------------- src/keri/core/authing.ts | 2 +- src/keri/core/diger.ts | 10 ++++---- src/keri/core/httping.ts | 3 ++- src/keri/core/indexer.ts | 3 ++- src/keri/core/keeping.ts | 1 - src/keri/core/manager.ts | 14 +++++----- src/keri/core/matter.ts | 5 ++-- src/keri/core/prefixer.ts | 12 ++++----- src/keri/core/saider.ts | 4 +-- src/keri/core/salter.ts | 14 ++++++---- src/keri/core/serder.ts | 2 +- src/keri/core/signer.ts | 4 +-- src/keri/core/tholder.ts | 1 + src/keri/core/tsconfig.json | 2 +- src/keri/core/utils.ts | 10 ++++---- src/keri/core/verfer.ts | 7 ++--- test/app/habery.test.ts | 31 ++++++++++++++++++---- test/core/diger.test.ts | 10 ++++---- test/core/encrypter.test.ts | 2 +- test/core/indexer.test.ts | 4 +-- test/core/verfer.test.ts | 6 ++--- 23 files changed, 127 insertions(+), 82 deletions(-) diff --git a/src/index.ts b/src/index.ts index b6e9b85d..15cbb7db 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,5 @@ -export const sum = (a: number, b: number) => { - if ('development' === process.env.NODE_ENV) { - console.log('boop'); - } - return a + b; -}; + + +export * from './keri/core/salter' +export * from './keri/core/matter' +export * from './keri/app/habery' \ No newline at end of file diff --git a/src/keri/app/habery.ts b/src/keri/app/habery.ts index 0ebe572b..041b3077 100644 --- a/src/keri/app/habery.ts +++ b/src/keri/app/habery.ts @@ -3,6 +3,8 @@ import {MtrDex} from "../core/matter"; import {Salter} from "../core/salter"; import {Verfer} from "../core/verfer"; import {Diger} from "../core/diger"; +import {incept} from "../core/eventing"; +import {Serder} from "../core/serder"; export class TraitCodex { @@ -38,9 +40,25 @@ export interface MakeHabArgs { data?: any } +export class Hab { + public name: string + public serder: Serder + + constructor(name: string, icp: Serder) { + this.name = name + this.serder = icp + } + + get pre(): string { + return this.serder.ked["i"] + } +} + + export class Habery { private readonly _name: string; private readonly _mgr: Manager; + private readonly _habs: Map = new Map() constructor({name, passcode, seed, aeid, pidx, salt}: HaberyArgs) { this._name = name @@ -65,8 +83,6 @@ export class Habery { algo = Algos.randy } - // TODO: Have to determine if there is already an Accountant (Keystore call for A - this._mgr = new Manager({seed: seed, aeid: aeid, pidx: pidx, algo: algo, salt: salt}) } @@ -74,9 +90,17 @@ export class Habery { return this._mgr } - makeHab({code = MtrDex.Blake3_256, transferable = true, isith = undefined, icount = 1, nsith = undefined, - ncount = undefined, toad = undefined, wits = undefined, delpre = undefined, estOnly = false, - DnD = false, data = undefined}: MakeHabArgs) { + get habs(): Array { + return Array.from(this._habs.values()) + } + + habByName(name: string): Hab|undefined { + return this._habs.get(name) + } + + makeHab(name:string, {code = MtrDex.Blake3_256, transferable = true, isith = undefined, icount = 1, + nsith = undefined, ncount = undefined, toad = undefined, wits = undefined, delpre = undefined, + estOnly = false, DnD = false, data = undefined}: MakeHabArgs): Hab { if (nsith == undefined) { nsith = isith @@ -115,18 +139,11 @@ export class Habery { let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) let ndigs = Array.from(digers, (diger: Diger) => diger.qb64) - return { - delpre: delpre, - keys: keys, - isith: isith, - nsith: nsith, - ndigs: ndigs, - toad: toad, - wits: wits, - cnfg: cnfg, - code: code, - data: data - } + + const icp = incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, code, delpre}) + const hab = new Hab(name, icp) + this._habs.set(name, hab) + return hab } get name(): string { diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 39da2e26..4bcb7209 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -7,7 +7,7 @@ import {Signage, signature} from "../end/ending"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; -const Base64 = require('urlsafe-base64'); +import Base64 from "urlsafe-base64" export class Authenticater { diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index f9f6358c..69a45b0f 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -1,4 +1,5 @@ -const blake3 = require('blake3'); +import {createHash} from "blake3" + import {Matter, MatterArgs, MtrDex} from './matter'; /** @@ -8,7 +9,6 @@ import {Matter, MatterArgs, MtrDex} from './matter'; * */ - export class Diger extends Matter { private readonly _verify: any @@ -16,13 +16,13 @@ export class Diger extends Matter { constructor({raw, code = MtrDex.Blake3_256, qb64, qb64b, qb2}: MatterArgs, ser: Uint8Array | null = null) { try { super({raw, code, qb64, qb64b, qb2}); - } catch (error: any) { + } catch (error) { if (ser == null) { throw error; } if (code === MtrDex.Blake3_256) { - const hasher = blake3.createHash(); + const hasher = createHash(); const dig = hasher.update(ser).digest(''); super({raw: dig, code: code}); } else { @@ -75,7 +75,7 @@ export class Diger extends Matter { blake3_256(ser: Uint8Array, dig: any) { - const hasher = blake3.createHash(); + const hasher = createHash(); let digest = hasher.update(ser).digest(''); return (digest.toString() === dig.toString()); } diff --git a/src/keri/core/httping.ts b/src/keri/core/httping.ts index fbdd29ca..bb0bcb33 100644 --- a/src/keri/core/httping.ts +++ b/src/keri/core/httping.ts @@ -4,7 +4,8 @@ import {b} from "./core"; import {Cigar} from "./cigar"; import {nowUTC} from "./utils"; import {Siger} from "./siger"; -const Base64 = require('urlsafe-base64'); +import Base64 from "urlsafe-base64" +import { Buffer } from 'buffer'; export function normalize(header: string) { return header.trim() diff --git a/src/keri/core/indexer.ts b/src/keri/core/indexer.ts index a24a8511..682da9a4 100644 --- a/src/keri/core/indexer.ts +++ b/src/keri/core/indexer.ts @@ -1,6 +1,7 @@ import {EmptyMaterialError} from "./kering"; import {b, b64ToInt, d, intToB64, readInt} from "./core"; -const Base64 = require('urlsafe-base64'); +import Base64 from "urlsafe-base64" +import { Buffer } from 'buffer'; export class IndexerCodex { Ed25519_Sig: string = 'A' // Ed25519 sig appears same in both lists if any. diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index df29931b..808f2f01 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -1,5 +1,4 @@ export {}; -const { SigMat } = require('./sigmat'); class Keeper { constructor() { diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index 908b8ebb..f8369d28 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -74,9 +74,9 @@ class Keys { export interface Creator { create(codes: Array | undefined, count: number, code: string, transferable: boolean, pidx: number, ridx: number, kidx: number, temp: boolean): Keys - get salt(): string - get stem(): string - get tier(): Tier + salt: string + stem: string + tier: Tier } export class RandyCreator implements Creator { @@ -129,7 +129,7 @@ export class SaltyCreator implements Creator { } get tier(): Tier { - return this.salter.tier; + return this.salter.tier!; } create(codes: Array | undefined = undefined, count: number = 1, code: string = MtrDex.Ed25519_Seed, @@ -208,7 +208,7 @@ export interface ManagerArgs { seed?: string | undefined aeid?: string | undefined pidx?: number | undefined - algo?: string | undefined + algo?: Algos | undefined salt?: string | undefined tier?: string | undefined } @@ -363,8 +363,8 @@ export class Manager { return Algos[ta] } - set algo(algo: string | undefined) { - this.ks.pinGbls('algo', algo!) + set algo(algo: Algos | undefined) { + this.ks.pinGbls('algo', algo! as string) } private updateAeid(aeid: string | undefined, seed?: string) { diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index 737f3f3f..caadd8a1 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -1,8 +1,9 @@ import {EmptyMaterialError} from "./kering"; -const {intToB64, readInt} = require('./core'); -const Base64 = require('urlsafe-base64'); +import {intToB64, readInt} from './core'; +import Base64 from "urlsafe-base64" import {b, d} from "./core"; +import { Buffer } from 'buffer'; export class Codex { has(prop: string): boolean { diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index d7d6d927..c4e67ce6 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -4,14 +4,14 @@ import {Dict, Ilks} from "./core"; import {sizeify} from "./serder"; import {Verfer} from "./verfer"; -const blake3 = require('blake3'); +import {createHash} from "blake3" const Dummy: string = "#" export class Prefixer extends Matter { - private readonly _derive - private readonly _verify + private readonly _derive: Function | undefined + private readonly _verify: Function | undefined constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, ked?: Dict) { try { @@ -69,7 +69,7 @@ export class Prefixer extends Matter { if (ked["i"] != Ilks.icp) { throw new Error(`Non-incepting ilk ${ked['i']} for prefix derivation`) } - return this._verify(ked, this.qb64, prefixed) + return this._verify!(ked, this.qb64, prefixed) } @@ -138,7 +138,7 @@ export class Prefixer extends Matter { kd["i"] = "".padStart(Matter.Sizes.get(MtrDex.Blake3_256)!.fs, Dummy) kd["d"] = ked["i"] let [raw] = sizeify(ked) - const hasher = blake3.createHash(); + const hasher = createHash(); const dig = hasher.update(raw).digest(''); return [dig, MtrDex.Blake3_256] } @@ -193,7 +193,7 @@ export class Prefixer extends Matter { _verify_blake3_256(ked: Dict, pre: string, prefixed: boolean = false): boolean { try { - let [raw, _] = Prefixer._derive_blake3_256(ked) + let [raw,] = Prefixer._derive_blake3_256(ked) let crymat = new Matter({raw: raw, code: MtrDex.Blake3_256}) if (crymat.qb64 != pre) { return false diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts index b265451d..6ccfc06f 100644 --- a/src/keri/core/saider.ts +++ b/src/keri/core/saider.ts @@ -3,7 +3,7 @@ import {deversify, Dict, Serials} from "./core"; import {EmptyMaterialError} from "./kering"; import {dumps, sizeify} from "./serder"; -const blake3 = require('blake3'); +import {createHash} from "blake3" const Dummy = "#" @@ -65,7 +65,7 @@ export class Saider extends Matter { } static _derive_blake3_256(ser: Uint8Array, _digest_size: number, _length: number) { - const hasher = blake3.createHash(); + const hasher = createHash(); return hasher.update(ser).digest(''); } diff --git a/src/keri/core/salter.ts b/src/keri/core/salter.ts index 15636a97..feed7632 100644 --- a/src/keri/core/salter.ts +++ b/src/keri/core/salter.ts @@ -1,8 +1,7 @@ import {Signer} from "./signer"; -export {}; -const { Matter, MtrDex } = require('./matter'); -const { EmptyMaterialError } = require('./kering') +import { Matter, MtrDex } from './matter'; +import { EmptyMaterialError } from './kering' import libsodium from 'libsodium-wrappers-sumo'; export const enum Tier { @@ -14,12 +13,13 @@ export const enum Tier { interface SalterArgs { raw?: Uint8Array | undefined code? :string - tier?:string + tier?:Tier qb64b? :Uint8Array | undefined qb64?: string qb2?: Uint8Array | undefined } export class Salter extends Matter { + private readonly _tier: Tier | null; constructor({raw, code = MtrDex.Salt_128, tier=Tier.low, qb64, qb64b, qb2}:SalterArgs) { try { @@ -41,7 +41,7 @@ export class Salter extends Matter { throw new Error("invalid code for Salter, only Salt_128 accepted") } - this.tier = tier !== null ? tier : Tier.low + this._tier = tier !== null ? tier : Tier.low } private stretch(size: number = 32, path: string = "", tier: Tier | null = null, temp: boolean = false): Uint8Array { @@ -82,4 +82,8 @@ export class Salter extends Matter { return new Signer({raw: seed, code: code, transferable: transferable}) } + get tier(): Tier | null { + return this._tier; + } + } \ No newline at end of file diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts index be2a1764..8b58e234 100644 --- a/src/keri/core/serder.ts +++ b/src/keri/core/serder.ts @@ -78,7 +78,7 @@ export function sizeify(ked: Dict, kind?: Serials) : [string, Ident, Serial } let ident = Ident.KERI - let [knd, version, _] = deversify(ked["v"] as string) + let [knd, version,] = deversify(ked["v"] as string) if (version != Versionage) { throw new Error(`unsupported version ${version.toString()}`) } diff --git a/src/keri/core/signer.ts b/src/keri/core/signer.ts index f466da24..5cb09d96 100644 --- a/src/keri/core/signer.ts +++ b/src/keri/core/signer.ts @@ -8,7 +8,7 @@ import {Verfer} from "./verfer"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; import {IdrDex} from "./indexer"; - +import { Buffer } from 'buffer'; /** * @description Signer is Matter subclass with method to create signature of serialization @@ -28,7 +28,7 @@ interface SignerArgs { } export class Signer extends Matter { - private readonly _sign + private readonly _sign: Function private readonly _verfer: Verfer constructor({raw, code = MtrDex.Ed25519_Seed, qb64, qb64b, qb2, transferable = true}: SignerArgs) { diff --git a/src/keri/core/tholder.ts b/src/keri/core/tholder.ts index 98ad8b70..db216010 100644 --- a/src/keri/core/tholder.ts +++ b/src/keri/core/tholder.ts @@ -40,6 +40,7 @@ export class Tholder { private processSith(sith: string | number | Array) { if (typeof(sith) == "string") { this._sith = sith + this._thold = parseInt(sith) } else if (typeof(sith) == "number") { this._thold = sith this._size = this._thold diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json index ab5a6e85..96466e14 100644 --- a/src/keri/core/tsconfig.json +++ b/src/keri/core/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/src/keri/core/utils.ts b/src/keri/core/utils.ts index 5e9b4a0e..d27ccfd0 100644 --- a/src/keri/core/utils.ts +++ b/src/keri/core/utils.ts @@ -47,8 +47,8 @@ function extractElementValues(element: any, values: any) { values.push(element); } data = values; - } catch (error:any) { - throw new Error(error); + } catch (error) { + throw new Error(error as string); } return data; @@ -74,7 +74,7 @@ export function nowUTC(): Date { } -export function range(start: any, stop: any, step: any) { +export function range(start: number, stop: number, step: number) { if (typeof stop == 'undefined') { // one param defined stop = start; @@ -89,8 +89,8 @@ export function range(start: any, stop: any, step: any) { return []; } - let result = []; - for (let i = start; step > 0 ? i < stop : i > stop; i += step) { + let result = new Array(); + for (let i: number = start; step > 0 ? i < stop : i > stop; i += step) { result.push(i); } diff --git a/src/keri/core/verfer.ts b/src/keri/core/verfer.ts index 1fd5d2fb..f330df94 100644 --- a/src/keri/core/verfer.ts +++ b/src/keri/core/verfer.ts @@ -1,5 +1,6 @@ export {}; -const libsodium = require('libsodium-wrappers-sumo'); +import libsodium from "libsodium-wrappers-sumo" + import {Matter, MatterArgs, MtrDex} from './matter'; /** @@ -26,8 +27,8 @@ export class Verfer extends Matter { try { return libsodium.crypto_sign_verify_detached(sig, ser, key); - } catch (error: any) { - throw new Error(error); + } catch (error) { + throw new Error(error as string); } } } diff --git a/test/app/habery.test.ts b/test/app/habery.test.ts index ec8f5512..b7f5d270 100644 --- a/test/app/habery.test.ts +++ b/test/app/habery.test.ts @@ -3,18 +3,39 @@ import {strict as assert} from "assert"; import libsodium from "libsodium-wrappers-sumo"; import {Salter} from "../../src/keri/core/salter"; import {b} from "../../src/keri/core/core"; +import {MtrDex} from "../../src/keri/core/matter"; describe('Habery', () => { it('should manage AID creation and rotation', async () => { await libsodium.ready; let salt = new Salter({raw: b('0123456789abcdef')}).qb64 - let hab = new Habery({name: "signify", salt: salt, passcode: "0123456789abcdefghijk"}) + let hby = new Habery({name: "signify", salt: salt, passcode: "0123456789abcdefghijk"}) - assert.equal(hab.mgr.aeid, "BMbZTXzB7LmWPT2TXLGV88PQz5vDEM2L2flUs2yxn3U9") + assert.equal(hby.mgr.aeid, "BMbZTXzB7LmWPT2TXLGV88PQz5vDEM2L2flUs2yxn3U9") - let icp = hab.makeHab({}) + let hab = hby.makeHab("test", {}) + + assert.deepStrictEqual(hab.serder.ked["k"], ["DC7Zg7BasK65MdK1hgVd8nB9_2Dj_i1DruqNN9VBsrRd"]) + assert.deepStrictEqual(hab.serder.ked["n"], ["EBRJBDoLKcD9s5tGg0uXLgt79iClVnlceMJHi1qdwRdC"]) + }) + + it('should use passcode as salt', async () => { + await libsodium.ready + let passcode = "0123456789abcdefghijk" + if (passcode.length < 21) { + throw new Error("Bran (passcode seed material) too short.") + } + + let bran = MtrDex.Salt_128 + 'A' + passcode.substring(0, 21) // qb64 salt for seed + let salter = new Salter({qb64: bran}) + let signer = salter.signer(MtrDex.Ed25519_Seed, true) + assert.equal(signer.qb64, "AKeXgiAUIN7OHGXO6rbw_IzWeaQTr1LF7jWD6YEdrpa6") + assert.equal(signer.verfer.qb64, "DMbZTXzB7LmWPT2TXLGV88PQz5vDEM2L2flUs2yxn3U9") + + let hby = new Habery({name: "test", salt: salter.qb64}) + let hab = hby.makeHab("test", {transferable: true}) + + assert.equal(hab.pre, "EOaOgA0FX6zQ8mU_LHt3JiaFOhkpLBh1ID8ZS8nA9Cac") - assert.deepStrictEqual(icp["keys"], ["DC7Zg7BasK65MdK1hgVd8nB9_2Dj_i1DruqNN9VBsrRd"]) - assert.deepStrictEqual(icp["ndigs"], ["EBRJBDoLKcD9s5tGg0uXLgt79iClVnlceMJHi1qdwRdC"]) }) }) \ No newline at end of file diff --git a/test/core/diger.test.ts b/test/core/diger.test.ts index b88ac49c..76ce18fb 100644 --- a/test/core/diger.test.ts +++ b/test/core/diger.test.ts @@ -1,17 +1,17 @@ import {Matter} from "../../src/keri/core/matter"; -const blake3 = require('blake3'); +import {createHash} from "blake3" import {strict as assert} from "assert"; -const { Diger } = require('../../src/keri/core/diger'); -const { MtrDex } = require('../../src/keri/core/matter'); - +import { Diger } from '../../src/keri/core/diger'; +import { MtrDex } from '../../src/keri/core/matter'; +import { Buffer } from 'buffer'; describe('Diger', () => { it('should generate digests', () => { // Create something to digest and verify const ser = Buffer.from('abcdefghijklmnopqrstuvwxyz0123456789', 'binary'); - const hasher = blake3.createHash(); + const hasher = createHash(); const digest = hasher.update(ser).digest(''); let diger = new Diger({raw: digest}); diff --git a/test/core/encrypter.test.ts b/test/core/encrypter.test.ts index ffa1abbb..7517a895 100644 --- a/test/core/encrypter.test.ts +++ b/test/core/encrypter.test.ts @@ -1,7 +1,7 @@ import {Matter} from "../../src/keri/core/matter"; import {strict as assert} from "assert"; -const { MtrDex } = require('../../src/keri/core/matter'); +import { MtrDex } from'../../src/keri/core/matter'; import libsodium from "libsodium-wrappers-sumo"; import {Signer} from "../../src/keri/core/signer"; import {Encrypter} from "../../src/keri/core/encrypter"; diff --git a/test/core/indexer.test.ts b/test/core/indexer.test.ts index 931030bc..6a258db8 100644 --- a/test/core/indexer.test.ts +++ b/test/core/indexer.test.ts @@ -2,8 +2,8 @@ import libsodium from "libsodium-wrappers-sumo"; import {strict as assert} from "assert"; import {IdrDex, Indexer} from "../../src/keri/core/indexer"; import {b, intToB64} from "../../src/keri/core/core"; -const Base64 = require('urlsafe-base64'); - +import Base64 from "urlsafe-base64" +import { Buffer } from 'buffer'; describe('Indexer', () => { it('should encode and decode dual indexed signatures', async () => { diff --git a/test/core/verfer.test.ts b/test/core/verfer.test.ts index 31f956ff..682ab7b6 100644 --- a/test/core/verfer.test.ts +++ b/test/core/verfer.test.ts @@ -1,11 +1,11 @@ import {MtrDex} from "../../src/keri/core/matter"; -const libsodium = require('libsodium-wrappers-sumo'); +import libsodium from "libsodium-wrappers-sumo" -const assert = require('assert').strict; +import {strict as assert} from "assert"; -const { Verfer } = require('../../src/keri/core/verfer'); +import { Verfer } from '../../src/keri/core/verfer'; describe('Verfer', () => { it('should verify digests', async () => { From d8e112dfc542791f4dc376a8448780582b53004b Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 13 Feb 2023 07:46:25 -0800 Subject: [PATCH 015/463] Rev version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1916cc8b..9daaff82 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "main": "dist/index.js", "typings": "dist/index.d.ts", From f8068cd16358f09dedd06136ba64fbd3e31b2b8b Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 8 May 2023 12:25:13 -0700 Subject: [PATCH 016/463] Addition of SignifyClient class and multiple changes to allow this library to run in a web app. --- package-lock.json | 31968 +++++++++++++++++++--------------- package.json | 3 +- src/index.ts | 13 +- src/keri/app/accountant.ts | 35 - src/keri/app/controller.ts | 65 + src/keri/app/signify.ts | 64 +- src/keri/core/core.ts | 4 +- src/keri/core/diger.ts | 2 +- src/keri/core/prefixer.ts | 2 +- src/keri/core/saider.ts | 2 +- src/keri/core/serder.ts | 4 + src/keri/core/tsconfig.json | 2 +- test/app/accountant.test.ts | 4 +- tsconfig.json | 1 + 14 files changed, 18499 insertions(+), 13670 deletions(-) delete mode 100644 src/keri/app/accountant.ts create mode 100644 src/keri/app/controller.ts diff --git a/package-lock.json b/package-lock.json index a8f366c1..ddb070d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,17 @@ { "name": "signify-ts", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "signify-ts", - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "dependencies": { "@types/libsodium-wrappers-sumo": "^0.7.5", "blake3": "^2.1.7", + "buffer": "^6.0.3", "cbor": "^8.0.0", "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", @@ -27,6 +28,7 @@ "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "jest": "^29.3.1", + "parcel": "^2.8.3", "size-limit": "^5.0.4", "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", @@ -2377,6 +2379,30 @@ "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/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/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", @@ -2393,6 +2419,191 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@lezer/common": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", + "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==", + "dev": true + }, + "node_modules/@lezer/lr": { + "version": "0.15.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", + "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "dev": true, + "dependencies": { + "@lezer/common": "^0.15.0" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", + "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", + "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", + "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", + "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", + "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", + "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "dev": true, + "dependencies": { + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", + "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", + "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", + "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", + "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", + "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2428,4794 +2639,5372 @@ "node": ">= 8" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, - "node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/@parcel/bundler-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.3.tgz", + "integrity": "sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/graph": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", - "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", + "node_modules/@parcel/cache": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.3.tgz", + "integrity": "sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.0.8", - "commondir": "^1.0.1", - "estree-walker": "^1.0.1", - "glob": "^7.1.2", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/utils": "2.8.3", + "lmdb": "2.5.2" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.0.8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "@parcel/core": "^2.8.3" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", - "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "node_modules/@parcel/codeframe": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.3.tgz", + "integrity": "sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" + "chalk": "^4.1.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "node_modules/@parcel/compressor-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz", + "integrity": "sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" + "@parcel/plugin": "2.8.3" }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" + "node_modules/@parcel/config-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.3.tgz", + "integrity": "sha512-o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw==", + "dev": true, + "dependencies": { + "@parcel/bundler-default": "2.8.3", + "@parcel/compressor-raw": "2.8.3", + "@parcel/namer-default": "2.8.3", + "@parcel/optimizer-css": "2.8.3", + "@parcel/optimizer-htmlnano": "2.8.3", + "@parcel/optimizer-image": "2.8.3", + "@parcel/optimizer-svgo": "2.8.3", + "@parcel/optimizer-terser": "2.8.3", + "@parcel/packager-css": "2.8.3", + "@parcel/packager-html": "2.8.3", + "@parcel/packager-js": "2.8.3", + "@parcel/packager-raw": "2.8.3", + "@parcel/packager-svg": "2.8.3", + "@parcel/reporter-dev-server": "2.8.3", + "@parcel/resolver-default": "2.8.3", + "@parcel/runtime-browser-hmr": "2.8.3", + "@parcel/runtime-js": "2.8.3", + "@parcel/runtime-react-refresh": "2.8.3", + "@parcel/runtime-service-worker": "2.8.3", + "@parcel/transformer-babel": "2.8.3", + "@parcel/transformer-css": "2.8.3", + "@parcel/transformer-html": "2.8.3", + "@parcel/transformer-image": "2.8.3", + "@parcel/transformer-js": "2.8.3", + "@parcel/transformer-json": "2.8.3", + "@parcel/transformer-postcss": "2.8.3", + "@parcel/transformer-posthtml": "2.8.3", + "@parcel/transformer-raw": "2.8.3", + "@parcel/transformer-react-refresh-wrap": "2.8.3", + "@parcel/transformer-svg": "2.8.3" }, - "engines": { - "node": ">= 8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "@parcel/core": "^2.8.3" } }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true + "node_modules/@parcel/core": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.3.tgz", + "integrity": "sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==", + "dev": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/graph": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "node_modules/@parcel/core/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "engines": { + "node": ">=0.8" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "node_modules/@parcel/core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@size-limit/file": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", - "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", + "node_modules/@parcel/diagnostic": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.3.tgz", + "integrity": "sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==", "dev": true, "dependencies": { - "semver": "7.3.5" + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "size-limit": "5.0.5" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@size-limit/preset-small-lib": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", - "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", + "node_modules/@parcel/events": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.3.tgz", + "integrity": "sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==", "dev": true, - "dependencies": { - "@size-limit/file": "5.0.5", - "@size-limit/webpack": "5.0.5" + "engines": { + "node": ">= 12.0.0" }, - "peerDependencies": { - "size-limit": "5.0.5" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@size-limit/webpack": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", - "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", + "node_modules/@parcel/fs": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.3.tgz", + "integrity": "sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==", "dev": true, "dependencies": { - "css-loader": "^5.2.6", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "mkdirp": "^1.0.4", - "nanoid": "^3.1.28", - "optimize-css-assets-webpack-plugin": "^6.0.1", - "pnp-webpack-plugin": "^1.7.0", - "style-loader": "^2.0.0", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^4.4.2" + "@parcel/fs-search": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.8.3" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "size-limit": "5.0.5" + "@parcel/core": "^2.8.3" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@parcel/fs-search": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.3.tgz", + "integrity": "sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==", "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, "engines": { - "node": ">=10.13.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@ts-morph/bootstrap": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", - "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", + "node_modules/@parcel/graph": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.3.tgz", + "integrity": "sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==", "dev": true, "dependencies": { - "@ts-morph/common": "~0.16.0" + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@ts-morph/common": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", - "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", + "node_modules/@parcel/hash": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.3.tgz", + "integrity": "sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==", "dev": true, "dependencies": { - "fast-glob": "^3.2.11", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@ts-morph/common/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/@parcel/logger": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.3.tgz", + "integrity": "sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "node_modules/@parcel/markdown-ansi": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz", + "integrity": "sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "chalk": "^4.1.0" }, "engines": { - "node": ">=10" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "node_modules/@parcel/namer-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.3.tgz", + "integrity": "sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/@parcel/node-resolver-core": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz", + "integrity": "sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/@parcel/node-resolver-core/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "node_modules/@parcel/optimizer-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz", + "integrity": "sha512-JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g==", "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "node_modules/@parcel/optimizer-htmlnano": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz", + "integrity": "sha512-L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg==", "dev": true, "dependencies": { - "@types/node": "*" + "@parcel/plugin": "2.8.3", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/@parcel/optimizer-htmlnano/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/@parcel/optimizer-htmlnano/node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" } }, - "node_modules/@types/jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, "dependencies": { - "jest-diff": "^25.2.1", - "pretty-format": "^25.2.1" + "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/@types/jest/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">= 8.3" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/@types/jest/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "cssnano-preset-default": "^6.0.1", + "lilconfig": "^2.1.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-preset-default": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@types/yargs-parser": "*" + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^4.0.0", + "postcss-calc": "^9.0.0", + "postcss-colormin": "^6.0.0", + "postcss-convert-values": "^6.0.0", + "postcss-discard-comments": "^6.0.0", + "postcss-discard-duplicates": "^6.0.0", + "postcss-discard-empty": "^6.0.0", + "postcss-discard-overridden": "^6.0.0", + "postcss-merge-longhand": "^6.0.0", + "postcss-merge-rules": "^6.0.1", + "postcss-minify-font-values": "^6.0.0", + "postcss-minify-gradients": "^6.0.0", + "postcss-minify-params": "^6.0.0", + "postcss-minify-selectors": "^6.0.0", + "postcss-normalize-charset": "^6.0.0", + "postcss-normalize-display-values": "^6.0.0", + "postcss-normalize-positions": "^6.0.0", + "postcss-normalize-repeat-style": "^6.0.0", + "postcss-normalize-string": "^6.0.0", + "postcss-normalize-timing-functions": "^6.0.0", + "postcss-normalize-unicode": "^6.0.0", + "postcss-normalize-url": "^6.0.0", + "postcss-normalize-whitespace": "^6.0.0", + "postcss-ordered-values": "^6.0.0", + "postcss-reduce-initial": "^6.0.0", + "postcss-reduce-transforms": "^6.0.0", + "postcss-svgo": "^6.0.0", + "postcss-unique-selectors": "^6.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@types/jest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", + "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "optional": true, + "peer": true, "engines": { - "node": ">=8" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@types/jest/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "css-tree": "~2.2.0" + }, "engines": { - "node": ">= 8.3" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">= 8.3" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" } }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", "dev": true, - "engines": { - "node": ">= 8.3" - } + "optional": true, + "peer": true }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "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/libsodium-wrappers": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", - "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" - }, - "node_modules/@types/libsodium-wrappers-sumo": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz", - "integrity": "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, "dependencies": { - "@types/libsodium-wrappers": "*" + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, "dependencies": { - "@types/node": "*" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "node_modules/@types/urlsafe-base64": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", - "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/htmlnano": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", + "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", "dev": true, "dependencies": { - "@types/node": "*" + "cosmiconfig": "^8.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + }, + "peerDependencies": { + "cssnano": "^6.0.0", + "postcss": "^8.3.11", + "purgecss": "^5.0.0", + "relateurl": "^0.2.7", + "srcset": "4.0.0", + "svgo": "^3.0.2", + "terser": "^5.10.0", + "uncss": "^0.17.3" + }, + "peerDependenciesMeta": { + "cssnano": { + "optional": true + }, + "postcss": { + "optional": true + }, + "purgecss": { + "optional": true + }, + "relateurl": { + "optional": true + }, + "srcset": { + "optional": true + }, + "svgo": { + "optional": true + }, + "terser": { + "optional": true + }, + "uncss": { + "optional": true + } } }, - "node_modules/@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "node_modules/@parcel/optimizer-htmlnano/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": { - "@types/yargs-parser": "*" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "eslint": "*" + "postcss": "^8.2.2" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-colormin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", + "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": "^14 || ^16 || >=18.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-convert-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", + "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-comments": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", + "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "optional": true, + "peer": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-duplicates": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", + "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-empty": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", + "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-overridden": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", + "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-longhand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", + "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-rules": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", + "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-font-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", + "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", + "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "colord": "^2.9.1", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-params": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", + "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@xtuc/long": "4.2.2" + "browserslist": "^4.21.4", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", + "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-charset": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", + "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "optional": true, + "peer": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-display-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", + "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-positions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", + "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-repeat-style": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", + "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-string": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", + "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-timing-functions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", + "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "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/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-unicode": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", + "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", + "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "optional": true, + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.4.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-whitespace": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", + "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-ordered-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", + "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "optional": true, + "peer": true, + "dependencies": { + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.4.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/acorn-globals/node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-initial": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", + "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-transforms": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", + "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "postcss": "^8.2.15" } }, - "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==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", + "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.0.2" + }, "engines": { - "node": ">=0.4.0" + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", "dev": true, + "optional": true, + "peer": 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" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-unique-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", + "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { - "ajv": ">=5.0.0" + "postcss": "^8.2.15" } }, - "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==", + "node_modules/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/@parcel/optimizer-htmlnano/node_modules/stylehacks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", + "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, "peerDependencies": { - "ajv": "^6.9.1" + "postcss": "^8.2.15" } }, - "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/@parcel/optimizer-htmlnano/node_modules/terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "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/@parcel/optimizer-htmlnano/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, + "optional": true, + "peer": true + }, + "node_modules/@parcel/optimizer-image": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz", + "integrity": "sha512-SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "detect-libc": "^1.0.3" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "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==", + "node_modules/@parcel/optimizer-svgo": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz", + "integrity": "sha512-9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA==", "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "svgo": "^2.4.0" + }, "engines": { - "node": ">=8" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "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/@parcel/optimizer-terser": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz", + "integrity": "sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "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/@parcel/optimizer-terser/node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 8" + "node": ">=0.4.0" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "node_modules/@parcel/optimizer-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/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@parcel/optimizer-terser/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": { - "sprintf-js": "~1.0.2" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "node_modules/@parcel/optimizer-terser/node_modules/terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" }, "engines": { - "node": ">=6.0" + "node": ">=10" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "node_modules/@parcel/package-manager": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.3.tgz", + "integrity": "sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==", "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "semver": "^5.7.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.3" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "node_modules/@parcel/package-manager/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "node_modules/@parcel/packager-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.3.tgz", + "integrity": "sha512-WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA==", "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", - "dev": true + "node_modules/@parcel/packager-html": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.3.tgz", + "integrity": "sha512-OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw==", + "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/@parcel/packager-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.3.tgz", + "integrity": "sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "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/@parcel/packager-js/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "node_modules/@parcel/packager-js/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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/@parcel/packager-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.3.tgz", + "integrity": "sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@parcel/plugin": "2.8.3" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/@parcel/packager-svg": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.3.tgz", + "integrity": "sha512-mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "posthtml": "^0.16.4" }, "engines": { - "node": ">= 0.4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "node_modules/@parcel/plugin": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.3.tgz", + "integrity": "sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "@parcel/types": "2.8.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "node_modules/@parcel/reporter-cli": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz", + "integrity": "sha512-3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "chalk": "^4.1.0", + "term-size": "^2.2.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/@parcel/reporter-dev-server": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz", + "integrity": "sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@parcel/resolver-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.3.tgz", + "integrity": "sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==", "dev": true, "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "@parcel/node-resolver-core": "2.8.3", + "@parcel/plugin": "2.8.3" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "node_modules/@parcel/runtime-browser-hmr": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz", + "integrity": "sha512-2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg==", "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3" + }, "engines": { - "node": ">=0.8" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "node_modules/@parcel/runtime-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.3.tgz", + "integrity": "sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==", "dev": true, "dependencies": { - "inherits": "2.0.1" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "node_modules/@parcel/runtime-react-refresh": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz", + "integrity": "sha512-2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA==", "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/ast-types": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", - "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", + "node_modules/@parcel/runtime-service-worker": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz", + "integrity": "sha512-/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw==", "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" + }, "engines": { - "node": ">=4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "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==", + "node_modules/@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, "engines": { - "node": ">=8" + "node": "^12.18.3 || >=14" } }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": 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/asyncro": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", - "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", - "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==", + "node_modules/@parcel/transformer-babel": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz", + "integrity": "sha512-L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ==", "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + }, "engines": { - "node": ">= 4.0.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "node_modules/@parcel/transformer-babel/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" + "semver": "bin/semver" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "node_modules/@parcel/transformer-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.3.tgz", + "integrity": "sha512-xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg==", "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + }, "engines": { - "node": "*" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "node_modules/axe-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", - "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "node_modules/@parcel/transformer-html": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.3.tgz", + "integrity": "sha512-kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g==", "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1", + "srcset": "4" + }, "engines": { - "node": ">=4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/@parcel/transformer-html/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "node_modules/@parcel/transformer-image": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.3.tgz", + "integrity": "sha512-cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, "peerDependencies": { - "eslint": ">= 4.12.1" + "@parcel/core": "^2.8.3" } }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/@parcel/transformer-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.3.tgz", + "integrity": "sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==", + "dev": true, + "dependencies": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "@swc/helpers": "^0.4.12", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.3" + } + }, + "node_modules/@parcel/transformer-js/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@parcel/transformer-json": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.3.tgz", + "integrity": "sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==", "dev": true, + "dependencies": { + "@parcel/plugin": "2.8.3", + "json5": "^2.2.0" + }, "engines": { - "node": ">=4" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "node_modules/@parcel/transformer-postcss": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz", + "integrity": "sha512-e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg==", "dev": true, "dependencies": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-annotate-pure-calls": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", - "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", + "node_modules/@parcel/transformer-postcss/node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, - "peerDependencies": { - "@babel/core": "^6.0.0-0 || 7.x" + "engines": { + "node": ">=0.8" } }, - "node_modules/babel-plugin-dev-expression": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", - "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", + "node_modules/@parcel/transformer-postcss/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0" + "bin": { + "semver": "bin/semver" } }, - "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/@parcel/transformer-posthtml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz", + "integrity": "sha512-pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA==", "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" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" }, "engines": { - "node": ">=8" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "node_modules/@parcel/transformer-posthtml/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/@parcel/transformer-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz", + "integrity": "sha512-G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "@parcel/plugin": "2.8.3" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "node_modules/@parcel/transformer-react-refresh-wrap": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz", + "integrity": "sha512-q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "react-refresh": "^0.9.0" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "node_modules/@parcel/transformer-svg": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz", + "integrity": "sha512-3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.8.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@parcel/transformer-svg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, "bin": { - "semver": "bin/semver.js" + "semver": "bin/semver" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "node_modules/@parcel/types": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.3.tgz", + "integrity": "sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@parcel/cache": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.8.3", + "utility-types": "^3.10.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/@parcel/utils": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.3.tgz", + "integrity": "sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@parcel/codeframe": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/markdown-ansi": "2.8.3", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-plugin-transform-rename-import": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", - "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", - "dev": true - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/@parcel/watcher": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.1.0.tgz", + "integrity": "sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw==", "dev": true, + "hasInstallScript": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "node_modules/@parcel/workers": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.3.tgz", + "integrity": "sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@parcel/core": "^2.8.3" } }, - "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==", + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dev": true, "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "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==", - "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/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "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": "*" + "@rollup/pluginutils": "^3.0.8" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "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/@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" + }, "engines": { - "node": ">=8" + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.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/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/blake3": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", - "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==", - "hasInstallScript": true - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "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==", + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", "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/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "type-detect": "4.0.8" } }, - "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/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "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/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "node_modules/@size-limit/file": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", + "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", "dev": true, "dependencies": { - "resolve": "1.1.7" + "semver": "7.3.5" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "size-limit": "5.0.5" } }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true - }, - "node_modules/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/@size-limit/preset-small-lib": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", + "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", "dev": true, "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@size-limit/file": "5.0.5", + "@size-limit/webpack": "5.0.5" + }, + "peerDependencies": { + "size-limit": "5.0.5" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/@size-limit/webpack": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", + "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", "dev": true, "dependencies": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "css-loader": "^5.2.6", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "mkdirp": "^1.0.4", + "nanoid": "^3.1.28", + "optimize-css-assets-webpack-plugin": "^6.0.1", + "pnp-webpack-plugin": "^1.7.0", + "style-loader": "^2.0.0", + "webpack": "^4.44.1", + "webpack-bundle-analyzer": "^4.4.2" + }, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + }, + "peerDependencies": { + "size-limit": "5.0.5" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "tslib": "^2.4.0" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ts-morph/bootstrap": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", + "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", "dev": true, "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "@ts-morph/common": "~0.16.0" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/@ts-morph/common": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", + "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", "dev": true, "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "fast-glob": "^3.2.11", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" } }, - "node_modules/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/@ts-morph/common/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": { - "pako": "~1.0.5" + "balanced-match": "^1.0.0" } }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=10" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", "dev": true, "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { - "node-int64": "^0.4.0" + "@babel/types": "^7.0.0" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "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==", + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", "dev": true }, - "node_modules/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", "dev": true }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "@types/node": "*" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", "dev": true }, - "node_modules/bytes-iec": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", - "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/cacache/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/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "@types/istanbul-lib-report": "*" } }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "node_modules/@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", "dev": true, "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" } }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, - "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": ">= 8.3" } }, - "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/@types/jest/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "@types/yargs-parser": "*" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/@types/jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "rsvp": "^4.8.4" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=8" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "dependencies": { - "nofilter": "^3.1.0" - }, + "node_modules/@types/jest/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, "engines": { - "node": ">=12.19" + "node": ">= 8.3" } }, - "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/@types/jest/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 8.3" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/@types/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "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/@types/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "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" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 8.3" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "node_modules/@types/jest/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "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==", - "dev": true, - "engines": { - "node": ">=6.0" - } + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, - "node_modules/ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", - "dev": true, - "engines": { - "node": ">=8" - } + "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/ci-job-number": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", - "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", + "node_modules/@types/libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" + }, + "node_modules/@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", "dev": true }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@types/node": "*" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/@types/urlsafe-base64": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", + "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/node": "*" } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/@types/yargs": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", + "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "@types/yargs-parser": "*" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=0.10.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true }, - "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/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true }, - "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/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "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/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/cliui/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==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "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" + "@xtuc/long": "4.2.2" } }, - "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/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "engines": { - "node": ">=0.8" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.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/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/collections": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", - "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, "dependencies": { - "weak-map": "~1.0.x" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "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/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "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/@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/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "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/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "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/abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, + "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.1.90" + "node": ">=0.4.0" } }, - "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/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 0.8" + "node": ">=0.4.0" } }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=0.4.0" } }, - "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/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/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "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/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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, - "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": ">=0.4.0" } }, - "node_modules/concat-stream/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-stream/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/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": { - "safe-buffer": "~5.1.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/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/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "node_modules/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "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/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "dependencies": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "peerDependencies": { + "ajv": ">=5.0.0" } }, - "node_modules/copy-concurrently/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/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, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "peerDependencies": { + "ajv": "^6.9.1" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "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": ">=0.10.0" + "node": ">=6" } }, - "node_modules/core-js-compat": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", - "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "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": { - "browserslist": "^4.21.4" + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/core-js-pure": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", - "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "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/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/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "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": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "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": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "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": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" } }, - "node_modules/create-jest-runner": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", - "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "jest-worker": "^24.0.0", - "throat": "^4.1.0" - }, - "bin": { - "create-jest-runner": "generator/index.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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==", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/create-jest-runner/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/create-jest-runner/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/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": ">=0.8.0" + "node": ">=8" } }, - "node_modules/create-jest-runner/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/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/create-jest-runner/node_modules/jest-worker/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/create-jest-runner/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/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "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==", + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "safer-buffer": "~2.1.0" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", + "bn.js": "^4.0.0", "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" + "node": ">=0.8" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "inherits": "2.0.1" } }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=8.0.0" + "node": ">=0.10.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/ast-types": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", + "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", "dev": true, "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "node": ">=4" } }, - "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/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "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, - "bin": { - "cssesc": "bin/cssesc" - }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", "dev": true, - "dependencies": { - "cssnano-preset-default": "^5.2.13", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "optional": true }, - "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "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/asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "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, - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 4.0.0" } }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "atob": "bin/atob.js" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">= 4.5.0" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, "engines": { - "node": ">=8.0.0" + "node": "*" } }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "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/axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", "dev": true }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" }, "engines": { - "node": ">=0.10" + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" } }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "engines": { + "node": ">=4" } }, - "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/babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", "dev": true, "dependencies": { - "ms": "2.1.2" + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "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==", + "node_modules/babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", + "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^6.0.0-0 || 7.x" } }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "node_modules/babel-plugin-dev-expression": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", + "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", "dev": true, - "engines": { - "node": ">=0.10" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "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/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "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": ">=0.10.0" + "node": ">=8" } }, - "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/babel-plugin-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.0.0-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/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=0.4.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "node_modules/babel-plugin-transform-rename-import": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", + "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "dev": true + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "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/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/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", "dev": true, "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "safe-buffer": "^5.0.1" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "is-descriptor": "^1.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true, - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } - }, - "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, + "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==", "funding": [ { "type": "github", - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ] }, - "node_modules/domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "dependencies": { - "webidl-conversions": "^4.0.2" + "tweetnacl": "^0.14.3" } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "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, - "dependencies": { - "domelementtype": "^2.2.0" - }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": "*" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "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, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "engines": { + "node": ">=8" } }, - "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/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "file-uri-to-path": "1.0.0" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "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" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/duplexify/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/duplexify/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, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { - "safe-buffer": "~5.1.0" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } + "node_modules/blake3": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", + "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==", + "hasInstallScript": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", "dev": true }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "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": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "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, - "engines": { - "node": ">=12" + "dependencies": { + "fill-range": "^7.0.1" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "engines": { + "node": ">=8" } }, - "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/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", "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/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/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/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "dependencies": { - "once": "^1.4.0" + "resolve": "1.1.7" } }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "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" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/enhanced-resolve/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/enhanced-resolve/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/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "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/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "dependencies": { + "pako": "~1.0.5" } }, - "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/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "prr": "~1.0.1" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" }, "bin": { - "errno": "cli.js" + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "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/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/es-abstract": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", - "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "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-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "unbox-primitive": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node-int64": "^0.4.0" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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": { - "has": "^1.0.3" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "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/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/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escalade": { + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bytes-iec": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", "dev": true, "engines": { - "node": ">=6" + "node": ">= 0.8" } }, - "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/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "node_modules/cacache/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": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "minimist": "^1.2.6" }, "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=4.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "mkdirp": "bin/cmd.js" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" }, + "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": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "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": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "node_modules/caniuse-lite": { + "version": "1.0.30001441", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" + "rsvp": "^4.8.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", "dependencies": { - "get-stdin": "^6.0.0" - }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" + "nofilter": "^3.1.0" }, - "peerDependencies": { - "eslint": ">=3.14.1" + "engines": { + "node": ">=12.19" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "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": { - "debug": "^3.2.7", - "resolve": "^1.20.0" + "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-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==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=10" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "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": { - "debug": "^3.2.7" + "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": ">=4" + "node": ">= 8.10.0" }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "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==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "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==", "dev": true, - "dependencies": { - "ms": "^2.1.1" + "engines": { + "node": ">=6.0" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", - "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "node_modules/ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", "dev": true, - "dependencies": { - "lodash": "^4.17.15" - }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=5.0.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "node_modules/ci-job-number": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", + "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", + "dev": true + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/eslint-plugin-import/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/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "is-descriptor": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/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/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jsx-a11y/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/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/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/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "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": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "restore-cursor": "^3.1.0" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">= 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/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": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=12" } }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "node_modules/cliui/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": { - "eslint-visitor-keys": "^1.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "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": ">=4" + "node": ">=0.8" } }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "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": ">=10" + "node": ">=6" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "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/collections": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", + "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", + "dependencies": { + "weak-map": "~1.0.x" } }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "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": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=7.0.0" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "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/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/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/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, "engines": { - "node": ">=4" + "node": ">=0.1.90" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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": { - "estraverse": "^5.1.0" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=0.10" + "node": ">= 0.8" } }, - "node_modules/esquery/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/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">= 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==", + "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/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, + "engines": [ + "node >= 0.8" + ], "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/esrecurse/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/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=4.0" + "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/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/concat-stream/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-stream/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, - "engines": { - "node": ">=4.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "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/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "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/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "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/copy-concurrently/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/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "engines": { - "node": ">=0.8.x" + "node": ">=0.10.0" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", "dev": true, "dependencies": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "browserslist": "^4.21.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "node_modules/core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "hasInstallScript": true, + "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/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "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" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=8" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/expand-brackets/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/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "dependencies": { - "ms": "2.0.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/create-jest-runner": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", + "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "chalk": "^2.4.2", + "jest-worker": "^24.0.0", + "throat": "^4.1.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "create-jest-runner": "generator/index.js" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/create-jest-runner/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": { - "is-extendable": "^0.1.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/create-jest-runner/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": { - "kind-of": "^3.0.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/create-jest-runner/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": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "color-name": "1.1.3" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "node_modules/create-jest-runner/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/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/create-jest-runner/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.10.0" + "node": ">=0.8.0" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/create-jest-runner/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": ">=0.10.0" + "node": ">=4" } }, - "node_modules/expand-brackets/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/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "node_modules/create-jest-runner/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 6" } }, - "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/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "node_modules/create-jest-runner/node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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/create-jest-runner/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": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "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": { - "is-descriptor": "^1.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ] - }, - "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-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "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" + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" }, "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": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "dependencies": { - "bser": "2.1.1" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "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/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "dependencies": { - "escape-string-regexp": "^1.0.5" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.0.0" } }, - "node_modules/figures/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/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": ">=0.8.0" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "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/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, - "dependencies": { - "flat-cache": "^3.0.4" + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=4" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "node_modules/cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" }, "engines": { - "node": ">= 10.13.0" + "node": "^10 || ^12 || >=14.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "postcss": "^8.2.15" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "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/cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "css-tree": "^1.1.2" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "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": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "cssom": "~0.3.6" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/find-cache-dir/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/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/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "assert-plus": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/find-cache-dir/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/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "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": { - "p-limit": "^2.0.0" + "ms": "2.1.2" }, "engines": { - "node": ">=6" + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "dependencies": { - "find-up": "^3.0.0" - }, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.10.0" } }, - "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/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": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "clone": "^1.0.2" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/flat-cache/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/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.196.3", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", - "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", + "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/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "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" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/flush-write-stream/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==", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/flush-write-stream/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/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": { - "safe-buffer": "~5.1.0" + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "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": ">=0.10.0" + "node": ">=6.0.0" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, "engines": { - "node": "*" + "node": ">=0.4", + "npm": ">=1.2" } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "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": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" }, "engines": { - "node": ">= 0.12" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "dependencies": { - "map-cache": "^0.2.2" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "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/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", "dev": true, "dependencies": { + "end-of-stream": "^1.0.0", "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/from2/node_modules/readable-stream": { + "node_modules/duplexify/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -7230,13 +8019,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/from2/node_modules/safe-buffer": { + "node_modules/duplexify/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/from2/node_modules/string_decoder": { + "node_modules/duplexify/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==", @@ -7245,34 +8034,107 @@ "safe-buffer": "~5.1.0" } }, - "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==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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": ">=10" + "node": ">= 4" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "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/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" + } + }, + "node_modules/enhanced-resolve/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -7287,13 +8149,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/fs-write-stream-atomic/node_modules/safe-buffer": { + "node_modules/enhanced-resolve/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/fs-write-stream-atomic/node_modules/string_decoder": { + "node_modules/enhanced-resolve/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==", @@ -7302,135 +8164,79 @@ "safe-buffer": "~5.1.0" } }, - "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.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "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.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8.6" } }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "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/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "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/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, - "engines": { - "node": ">=6.9.0" + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "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.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "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": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - }, - "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-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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" + "is-arrayish": "^0.2.1" } }, - "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/es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "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-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -7439,84 +8245,46 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "has": "^1.0.3" } }, - "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/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": { - "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" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": "*" + "node": ">= 0.4" }, "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" + "url": "https://github.com/sponsors/ljharb" } }, - "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/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "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, - "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" }, @@ -7524,7874 +8292,7924 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "optional": true - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "dependencies": { - "duplexer": "^0.1.2" + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": ">=10" + "node": ">=4.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "engines": { - "node": ">=4" + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=6" + "node": ">= 0.8.0" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">= 0.4.0" - } - }, - "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": ">= 0.8.0" } }, - "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/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "prelude-ls": "~1.1.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8.0" } }, - "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/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">= 0.4" + "node": "^10.12.0 || >=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/eslint" } }, - "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==", + "node_modules/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "get-stdin": "^6.0.0" }, - "engines": { - "node": ">= 0.4" + "bin": { + "eslint-config-prettier-check": "bin/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "eslint": ">=3.14.1" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "debug": "^3.2.7", + "resolve": "^1.20.0" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "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": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" + "ms": "^2.1.1" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "debug": "^3.2.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "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": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "ms": "^2.1.1" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "node_modules/eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "lodash": "^4.17.15" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=5.0.0" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/eslint-plugin-import/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": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "ms": "2.0.0" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "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": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/eslint-plugin-import/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/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dev": true, "dependencies": { - "whatwg-encoding": "^1.0.1" - } - }, - "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/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "node_modules/eslint-plugin-jsx-a11y/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/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/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=10.17.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/humanize-duration": { - "version": "3.27.3", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", - "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", - "dev": true - }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "node_modules/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, - "bin": { - "husky": "lib/bin.js" + "dependencies": { + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/typicode" + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "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/eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" }, "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" + "node": ">=4" }, "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==", - "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/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "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" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "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/eslint-plugin-react/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": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "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/eslint-plugin-react/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" + "node": ">=4.0" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "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/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "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": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { "node": ">=8.0.0" } }, - "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "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==", + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/highlight": "^7.10.4" } }, - "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/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "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": ">= 4" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "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/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": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "dependencies": { - "ci-info": "^2.0.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "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": { - "has": "^1.0.3" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "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/esquery/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, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4.0" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "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": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "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/esrecurse/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, - "optional": true, - "bin": { - "is-docker": "cli.js" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4.0" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "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/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==", + "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": ">=8" + "node": ">=0.8.x" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "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==", + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "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": { - "is-extglob": "^2.1.1" + "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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "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==", + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "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/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "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/expand-brackets/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.12.0" + "dependencies": { + "ms": "2.0.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/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "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/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@types/estree": "*" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.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/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.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/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.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/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-brackets/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/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "dev": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "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/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": { - "has-symbols": "^1.0.2" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { - "node": ">= 0.4" + "node": ">=4" + } + }, + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-typedarray": { + "node_modules/extglob/node_modules/define-property": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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==", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "is-descriptor": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=4" + "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==", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "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/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", "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/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "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": ">=0.10.0" + "node": ">=8.6.0" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "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/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/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/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/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": { - "@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" + "reusify": "^1.0.4" } }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "bser": "2.1.1" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "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": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "escape-string-regexp": "^1.0.5" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/figures/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, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, "engines": { - "node": ">=10" + "node": ">=0.8.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "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": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 10.13.0" }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "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": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" + "to-regex-range": "^5.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "locate-path": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=6" } }, - "node_modules/jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "node_modules/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=6" } }, - "node_modules/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "node_modules/find-cache-dir/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, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "node_modules/find-cache-dir/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": { - "detect-newline": "^3.0.0" + "p-try": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" + "p-limit": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "find-up": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/find-cache-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 8.3" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/flat-cache/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": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-environment-jsdom/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/flow-parser": { + "version": "0.196.3", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", + "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/jest-environment-jsdom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/jest-environment-jsdom/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=8" + "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/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/flush-write-stream/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/flush-write-stream/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": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": "*" } }, - "node_modules/jest-environment-jsdom/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=8" + "node": ">= 0.12" } }, - "node_modules/jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "map-cache": "^0.2.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "node_modules/from2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "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/jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "node_modules/from2/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/from2/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": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "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": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" + "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/jest-jasmine2/node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "node_modules/fs-write-stream-atomic/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/fs-write-stream-atomic/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": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 8.3" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "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/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": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - }, "engines": { - "node": ">= 8.3" + "node": ">=6.9.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "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, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "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, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/jest-jasmine2/node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true + "node_modules/get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "node_modules/jest-jasmine2/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true + "node_modules/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "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, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "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": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "assert-plus": "^1.0.0" } }, - "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "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": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" + "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": ">= 8.3" + "node": "*" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-glob": "^4.0.1" }, "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/jest-jasmine2/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "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, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "engines": { + "node": ">=4" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", "dev": true }, - "node_modules/jest-jasmine2/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "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": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "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": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" + "get-intrinsic": "^1.1.3" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - }, - "engines": { - "node": ">= 8.3" - } + "optional": true }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "duplexer": "^0.1.2" }, "engines": { - "node": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-jasmine2/node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" + "function-bind": "^1.1.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "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, - "engines": { - "node": ">= 8.3" - } + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jest-jasmine2/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "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": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "get-intrinsic": "^1.1.1" }, + "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": ">= 8.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "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": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.3" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "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/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "whatwg-encoding": "^1.0.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "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": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true, "engines": { - "node": ">= 8.3" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", "dev": true }, - "node_modules/jest-jasmine2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=10.17.0" } }, - "node_modules/jest-jasmine2/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/humanize-duration": { + "version": "3.27.3", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", + "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "dev": true + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" + "bin": { + "husky": "lib/bin.js" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/jest-jasmine2/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "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": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "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, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/jest-jasmine2/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { - "node": ">=8" + "node": ">= 4" } }, - "node_modules/jest-jasmine2/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "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": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "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, - "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.19" } }, - "node_modules/jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "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, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8.0.0" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "node_modules/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "dev": true, "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, - "dependencies": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.10" } }, - "node_modules/jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4" + "kind-of": "^6.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "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": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" + "has-bigints": "^1.0.1" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "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": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "binary-extensions": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "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": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "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": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", - "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-regex-util": "^25.2.1", - "jest-watcher": "^25.2.4", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^6.0.0" + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "has": "^1.0.3" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "kind-of": "^6.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "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, - "dependencies": { - "@types/yargs-parser": "*" + "optional": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=8" } }, - "node_modules/jest-watch-typeahead/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "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": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "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.3" + "node": ">=8" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "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, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, "engines": { - "node": ">= 8.3" - } + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "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, - "dependencies": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.12.0" } }, - "node_modules/jest-watch-typeahead/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "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": { - "escape-string-regexp": "^2.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "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": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "@types/estree": "*" } }, - "node_modules/jest-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "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": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "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": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "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": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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-flag": "^4.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jpjs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", - "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", - "dev": true - }, - "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==", + "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": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "has-symbols": "^1.0.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, - "node_modules/jscodeshift": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", - "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", + "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": { - "@babel/core": "^7.1.6", - "@babel/parser": "^7.1.6", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/preset-env": "^7.1.6", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-typescript": "^7.1.0", - "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", - "colors": "^1.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.16.1", - "temp": "^0.8.1", - "write-file-atomic": "^2.3.0" + "call-bind": "^1.0.2" }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/jscodeshift/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/jscodeshift/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "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/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "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, - "dependencies": { - "is-extendable": "^0.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/jscodeshift/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "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": { - "kind-of": "^3.0.2" + "@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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/jscodeshift/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "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": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "node_modules/jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", "dev": true, "dependencies": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" }, "peerDependenciesMeta": { - "canvas": { + "node-notifier": { "optional": true } } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "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": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "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/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/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "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/jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", "dev": true, - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/json5-writer": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", - "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", + "node_modules/jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", "dev": true, "dependencies": { - "jscodeshift": "^0.6.3" - } - }, - "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" + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "node_modules/jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", "dev": true, "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=0.6.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "node_modules/jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", "dev": true, "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" }, "engines": { - "node": ">=4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", "dev": true, + "dependencies": { + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", - "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, "dependencies": { - "language-subtag-registry": "^0.3.20" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "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/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8.3" } }, - "node_modules/libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" - }, - "node_modules/libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "dev": true, "dependencies": { - "libsodium-sumo": "^0.7.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "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/jest-environment-jsdom/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "dependencies": { + "@types/yargs-parser": "*" } }, - "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/jest-environment-jsdom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.9.0" + "node": ">=8" } }, - "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/jest-environment-jsdom/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "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==" - }, - "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.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "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/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "chalk": "^2.4.2" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/log-symbols/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==", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-symbols/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/jest-environment-jsdom/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-symbols/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/jest-environment-jsdom/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/log-symbols/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/log-symbols/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/jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", "dev": true, + "dependencies": { + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, "engines": { - "node": ">=0.8.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/log-symbols/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/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", "dev": true, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/log-symbols/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/jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "dev": true, "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/jest-jasmine2/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "restore-cursor": "^2.0.0" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-update/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/jest-jasmine2/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, "dependencies": { - "mimic-fn": "^1.0.0" + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" + "node": ">= 8.3" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "dependencies": { - "tslib": "^2.0.3" + "engines": { + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, "dependencies": { - "yallist": "^3.0.2" + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/jest-jasmine2/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "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==", + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8.3" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "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==", + "node_modules/jest-jasmine2/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", "dev": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/jest-jasmine2/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "tmpl": "1.0.5" + "@types/yargs-parser": "*" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "node_modules/jest-jasmine2/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/jest-jasmine2/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, + "engines": { + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/memory-fs/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/memory-fs/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/jest-jasmine2/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "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==", + "node_modules/jest-jasmine2/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/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/jest-jasmine2/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true, "engines": { - "node": ">= 8" + "node": ">= 8.3" } }, - "node_modules/mico-spinner": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", - "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", + "node_modules/jest-jasmine2/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "dependencies": { - "picocolors": "^0.2.0" + "engines": { + "node": ">=8" } }, - "node_modules/mico-spinner/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "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/jest-jasmine2/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" }, "engines": { - "node": ">=8.6" + "node": ">= 8.3" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/jest-jasmine2/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "engines": { + "node": ">= 8.3" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "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/jest-jasmine2/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, "engines": { - "node": ">= 0.6" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, "dependencies": { - "mime-db": "1.52.0" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "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/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "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/jest-jasmine2/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": "*" + "node": ">= 8.3" } }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "node_modules/jest-jasmine2/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=4.0.0" + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/move-concurrently/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/jest-jasmine2/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "@jest/types": "^25.5.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">= 8.3" } }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "node_modules/jest-jasmine2/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": ">= 8.3" } }, - "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/msgpack5": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", - "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", + "node_modules/jest-jasmine2/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "dev": true, "dependencies": { - "bl": "^4.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.0", - "safe-buffer": "^5.1.2" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "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/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "node_modules/jest-jasmine2/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, "bin": { - "nanoid": "bin/nanoid.cjs" + "jest-runtime": "bin/jest-runtime.js" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 8.3" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/jest-jasmine2/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "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/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-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "node_modules/jest-jasmine2/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "dependencies": { - "minimatch": "^3.0.2" + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">= 0.10.5" + "node": ">= 8.3" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "node_modules/jest-jasmine2/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/node-libs-browser/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true + "node_modules/jest-jasmine2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jest-jasmine2/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "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" + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/node-libs-browser/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==", + "node_modules/jest-jasmine2/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true }, - "node_modules/node-libs-browser/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/jest-jasmine2/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "node_modules/jest-jasmine2/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", - "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/node-notifier/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/jest-jasmine2/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "is-docker": "^2.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { "node": ">=8" } }, - "node_modules/node-notifier/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==", + "node_modules/jest-jasmine2/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true - }, - "node_modules/nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, "engines": { - "node": ">=12.19" + "node": ">=6" } }, - "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==", + "node_modules/jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", "dev": true, "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/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.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==", + "node_modules/jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.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==", + "node_modules/jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { - "node": "*" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": 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==", + "node_modules/jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "node_modules/jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", "dev": true, "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/jest-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/jest-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "graceful-fs": "^4.2.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "node_modules/jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "node_modules/jest-watch-typeahead": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", + "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", "dev": true, "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-regex-util": "^25.2.1", + "jest-watcher": "^25.2.4", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^6.0.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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.3" } }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.3" } }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.3" } }, - "node_modules/object.hasown": { + "node_modules/jest-watch-typeahead/node_modules/@types/istanbul-reports": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "node_modules/jest-watch-typeahead/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "@types/yargs-parser": "*" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "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/jest-watch-typeahead/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, - "dependencies": { - "wrappy": "1" + "engines": { + "node": ">=4" } }, - "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/jest-watch-typeahead/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "node_modules/jest-watch-typeahead/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, - "bin": { - "opener": "bin/opener-bin.js" + "engines": { + "node": ">=8" } }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "cssnano": "^5.0.2", - "last-call-webpack-plugin": "^3.0.0", - "postcss": "^8.2.1" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, - "peerDependencies": { - "webpack": "^4.0.0" + "engines": { + "node": ">= 8.3" } }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8.3" } }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { + "@jest/types": "^25.5.0", "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8.3" } }, - "node_modules/ora/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, + "dependencies": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "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/jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", "dev": true, "dependencies": { - "yocto-queue": "^0.1.0" + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", "dev": true, "dependencies": { - "p-limit": "^2.2.0" + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/p-locate/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/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": { - "p-try": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "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/jpjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", + "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", + "dev": true }, - "node_modules/pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "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/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "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": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/jscodeshift": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", + "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", "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" + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/preset-env": "^7.1.6", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.16.1", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" } }, - "node_modules/parallel-transform/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/parallel-transform/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/jscodeshift/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "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/jscodeshift/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/jscodeshift/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.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/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "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" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "node_modules/jscodeshift/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/jscodeshift/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { "node": ">=0.10.0" } }, - "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==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "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/jscodeshift/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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/jscodeshift/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, "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==", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "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-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/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", "dev": true, + "dependencies": { + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" + }, "engines": { "node": ">=8" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=0.12" + "node": ">=4" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, - "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/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/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/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "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/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/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/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "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/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" + "node_modules/json5-writer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", + "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", + "dev": true, + "dependencies": { + "jscodeshift": "^0.6.3" } }, - "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==", + "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": { - "find-up": "^4.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "dev": true, + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } }, - "node_modules/pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "dependencies": { - "ts-pnp": "^1.1.6" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" }, "engines": { - "node": ">=6" + "node": ">=4.0" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "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/postcss": { - "version": "8.4.20", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", - "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=6" } }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" + "language-subtag-registry": "^0.3.20" } }, - "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=6" } }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "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": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.8.0" } }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + }, + "node_modules/libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "dependencies": { + "libsodium-sumo": "^0.7.0" } }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "node_modules/lightningcss": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.20.0.tgz", + "integrity": "sha512-4bj8aP+Vi+or8Gwq/hknmicr4PmA8D9uL/3qY0N0daX5vYBMYERGI6Y93nzoeRgQMULq+gtrN/FvJYtH0xNN8g==", "dev": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.20.0", + "lightningcss-darwin-x64": "1.20.0", + "lightningcss-linux-arm-gnueabihf": "1.20.0", + "lightningcss-linux-arm64-gnu": "1.20.0", + "lightningcss-linux-arm64-musl": "1.20.0", + "lightningcss-linux-x64-gnu": "1.20.0", + "lightningcss-linux-x64-musl": "1.20.0", + "lightningcss-win32-x64-msvc": "1.20.0" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.20.0.tgz", + "integrity": "sha512-aYEohJTlzwB8URJaNiS57tMbjyLub0mYvxlxKQk8SZv+irXx6MoBWpDNQKKTS9gg1pGf/eAwjpa3BLAoCBsh1A==", + "cpu": [ + "arm64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "node_modules/lightningcss-darwin-x64": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.20.0.tgz", + "integrity": "sha512-cmMgY8FFWVaGgtift7eKKkHMqlz9O09/yTdlCXEDOeDP9yeo6vHOBTRP7ojb368kjw8Ew3l0L2uT1Gtx56eNkg==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.20.0.tgz", + "integrity": "sha512-/m+NDO1O6JCv7R9F0XWlXcintQHx4MPNU+kt8jZJO07LLdGwCfvjN31GVcwVPlStnnx/cU8uTTmax6g/Qu/whg==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.20.0.tgz", + "integrity": "sha512-gtXoa6v0HvMRLbev6Hsef0+Q5He7NslB+Rs7G49Y5LUSdJeGIATEN+j8JzHC0DnxCsOGbEgGRmvtJzzYDkkluw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.20.0.tgz", + "integrity": "sha512-Po7XpucM1kZnkiyd2BNwTExSDcZ8jm8uB9u+Sq44qjpkf5f75jreQwn3DQm9I1t5C6tB9HGt30HExMju9umJBQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.20.0.tgz", + "integrity": "sha512-8yR/fGNn/P0I+Lc3PK+VWPET/zdSpBfHFIG0DJ38TywMbItVKvnFvoTBwnIm4LqBz7g2G2dDexnNP95za2Ll8g==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.20.0.tgz", + "integrity": "sha512-EmpJ+VkPZ8RACiB4m+l8TmapmE1W2UvJKDHE+ML/3Ihr9tRKUs3CibfnQTFZC8aSsrxgXagDAN+PgCDDhIyriA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.20.0.tgz", + "integrity": "sha512-BRdPvbq7Cc1qxAzp2emqWJHrqsEkf4ggxS29VOnxT7jhkdHKU+a26OVMjvm/OL0NH0ToNOZNAPvHMSexiEgBeA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 12.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "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==", + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=10" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "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/lmdb": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", + "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", "dev": true, + "hasInstallScript": true, "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" + "msgpackr": "^1.5.4", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" }, - "peerDependencies": { - "postcss": "^8.1.0" + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "2.5.2", + "@lmdb/lmdb-darwin-x64": "2.5.2", + "@lmdb/lmdb-linux-arm": "2.5.2", + "@lmdb/lmdb-linux-arm64": "2.5.2", + "@lmdb/lmdb-linux-x64": "2.5.2", + "@lmdb/lmdb-win32-x64": "2.5.2" } }, - "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/lmdb/node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "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/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": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8.9.0" } }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "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": { - "postcss-value-parser": "^4.2.0" + "p-locate": "^4.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "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.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "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/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "chalk": "^2.4.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "node_modules/log-symbols/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": { - "postcss-value-parser": "^4.2.0" + "color-convert": "^1.9.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "node_modules/log-symbols/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": { - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "node_modules/log-symbols/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": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "color-name": "1.1.3" } }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "node_modules/log-symbols/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/log-symbols/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, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.8.0" } }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "node_modules/log-symbols/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": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "node_modules/log-symbols/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": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", "dev": true, "dependencies": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, "engines": { "node": ">=4" } }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" + "mimic-fn": "^1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "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==", + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" }, - "engines": { - "node": ">=4" + "bin": { + "loose-envify": "cli.js" } }, - "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==", + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" + "tslib": "^2.0.3" } }, - "node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "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": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "yallist": "^3.0.2" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "sourcemap-codec": "^1.4.8" } }, - "node_modules/pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "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": { - "parse-ms": "^2.1.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">= 0.6.0" + "bin": { + "semver": "bin/semver.js" } }, - "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==", + "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/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "tmpl": "1.0.5" } }, - "node_modules/progress-estimator": { + "node_modules/map-cache": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", - "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "dependencies": { - "chalk": "^2.4.1", - "cli-spinners": "^1.3.1", - "humanize-duration": "^3.15.3", - "log-update": "^2.3.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "object-visit": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/progress-estimator/node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "node_modules/progress-estimator/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/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "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/progress-estimator/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==", + "node_modules/memory-fs/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/progress-estimator/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/memory-fs/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, - "engines": { - "node": ">=0.8.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/progress-estimator/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/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": ">=4" + "node": ">= 8" } }, - "node_modules/progress-estimator/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/mico-spinner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", + "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "picocolors": "^0.2.0" } }, - "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/mico-spinner/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", "dev": true }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "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": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "node": ">=8.6" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "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 - }, - "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/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/public-encrypt/node_modules/bn.js": { + "node_modules/miller-rabin/node_modules/bn.js": { "version": "4.12.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "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": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "engines": { + "node": ">= 0.6" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "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": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/pumpify/node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "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/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "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": ">=0.6" + "node": "*" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true, - "engines": { - "node": ">=0.4.x" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, "engines": { - "node": ">=0.4.x" + "node": ">=4.0.0" } }, - "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==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/randomfill": { + "node_modules/mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "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==", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "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": ">=8" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "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==", + "node_modules/move-concurrently/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": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" + "minimist": "^1.2.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "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==", + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "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==", + "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": ">=8" + "node": ">=10" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "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/msgpack5": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", + "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", "dependencies": { + "bl": "^4.0.0", "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "readable-stream": "^3.0.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/msgpackr": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.1.tgz", + "integrity": "sha512-jJdrNH8tzfCtT0rjPFryBXjRDQE7rqfLkah4/8B4gYa7NNZYFBcGxqWBtfQpGC+oYyBwlkj3fARk4aooKNPHxg==", + "dev": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", "dev": true, + "hasInstallScript": true, + "optional": true, "dependencies": { - "picomatch": "^2.2.1" + "node-gyp-build-optional-packages": "5.0.7" }, - "engines": { - "node": ">=8.10.0" + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" } }, - "node_modules/realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", "dev": true, - "engines": { - "node": ">=8" + "optional": true, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/recast": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", - "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", + "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/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, - "dependencies": { - "ast-types": "0.11.7", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">= 4" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { - "resolve": "^1.1.6" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "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/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/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } + "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/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==" + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.8.4" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.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==", + "dev": true }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "minimatch": "^3.0.2" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10.5" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" } }, - "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", + "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==", "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "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/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "node_modules/node-libs-browser/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", "dev": true }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "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/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/node-libs-browser/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/node-libs-browser/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, - "engines": { - "node": ">=0.10" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "node_modules/node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" } }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "node_modules/node-notifier/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, + "optional": true, + "peer": true, "dependencies": { - "lodash": "^4.17.19" + "is-docker": "^2.0.0" }, "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" + "node": ">=8" } }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "node_modules/node-notifier/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, - "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" + "optional": true, + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/request-promise-native/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "engines": { - "node": ">=0.8" + "node": ">=12.19" } }, - "node_modules/request/node_modules/tough-cookie": { + "node_modules/normalize-package-data": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "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/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver" } }, - "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/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/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, - "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "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": { - "resolve-from": "^5.0.0" + "path-key": "^3.0.0" }, "engines": { "node": ">=8" } }, - "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/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": ">=8" + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", "dev": true }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "node_modules/nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, "engines": { - "node": ">=10" + "node": "*" } }, - "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/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": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, "engines": { - "node": ">=0.12" + "node": ">=0.10.0" } }, - "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/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { - "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "glob": "^7.1.3" + "kind-of": "^3.0.2" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, - "bin": { - "rollup": "dist/bin/rollup" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rollup-plugin-sourcemaps": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", - "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" - }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "@types/node": ">=10.0.0", - "rollup": ">=0.31.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" + "is-buffer": "^1.1.5" }, - "peerDependencies": { - "rollup": ">=0.66.0 <3" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rollup-plugin-terser/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/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "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": ">=4" + "node": ">= 0.4" } }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "isobject": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "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": { - "has-flag": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rollup-plugin-typescript2": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", - "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.17.0", - "tslib": "2.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "peerDependencies": { - "rollup": ">=1.26.3", - "typescript": ">=2.4.0" + "engines": { + "node": ">= 0.4" } }, - "node_modules/rollup-plugin-typescript2/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==", + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rollup-plugin-typescript2/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/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": ">=6 <7 || >=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rollup-plugin-typescript2/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/rollup-plugin-typescript2/node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "dependencies": { - "path-parse": "^1.0.6" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/rollup-plugin-typescript2/node_modules/tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "dev": true - }, - "node_modules/rollup-plugin-typescript2/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/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "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": { - "estree-walker": "^0.6.1" + "wrappy": "1" } }, - "node_modules/rollup-pluginutils/node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - }, - "node_modules/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "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.* || >= 7.*" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "engines": { - "node": ">=0.12.0" + "bin": { + "opener": "bin/opener-bin.js" } }, - "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/optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", "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" + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" + }, + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "dependencies": { - "aproba": "^1.1.1" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "npm": ">=2.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rxjs/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/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "mri": "^1.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "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==", - "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/ordered-binary": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.0.tgz", + "integrity": "sha512-EHQ/jk4/a9hLupIKxTfUsQRej1Yd/0QLQs3vGvIqg5ZtCYSzNhkzHoZc7Zf4e4kUlDaC3Uw8Q/1opOLNN2OKRQ==", + "dev": true }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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, - "dependencies": { - "ret": "~0.1.10" + "engines": { + "node": ">=0.10.0" } }, - "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/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, - "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "bin": { - "sane": "src/cli.js" - }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=4" } }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "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": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sane/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "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": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/p-locate/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": { - "is-extendable": "^0.1.0" + "p-try": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "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, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, "engines": { - "node": ">=4.8" + "node": ">=6" } }, - "node_modules/sane/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "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/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "node_modules/sane/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "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/sane/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/parallel-transform/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/parallel-transform/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": { - "is-extendable": "^0.1.0" + "safe-buffer": "~5.1.0" + } + }, + "node_modules/parcel": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.8.3.tgz", + "integrity": "sha512-5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA==", + "dev": true, + "dependencies": { + "@parcel/config-default": "2.8.3", + "@parcel/core": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/reporter-cli": "2.8.3", + "@parcel/reporter-dev-server": "2.8.3", + "@parcel/utils": "2.8.3", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" + }, + "bin": { + "parcel": "lib/bin.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/sane/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "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": { - "pump": "^3.0.0" + "callsites": "^3.0.0" }, "engines": { "node": ">=6" } }, - "node_modules/sane/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "node_modules/sane/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "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": { - "kind-of": "^3.0.2" + "@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": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/sane/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "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==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "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": { - "remove-trailing-separator": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sane/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "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": { - "path-key": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "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": ">=4" + "node": ">=8" } }, - "node_modules/sane/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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-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, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=8" } }, - "node_modules/sane/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12" } }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "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": ">=0.10.0" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "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": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/sane/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">= 6" } }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "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": { - "xmlchars": "^2.1.1" + "find-up": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "dev": true + }, + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "ts-pnp": "^1.1.6" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">=6" } }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "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/postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "yallist": "^4.0.0" + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >=14" } }, - "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/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dev": true, "dependencies": { - "randombytes": "^2.1.0" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "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-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": "^10 || ^12 || >=14.0" }, - "bin": { - "sha.js": "bin.js" + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", "dev": true, - "dependencies": { - "kind-of": "^6.0.2" + "engines": { + "node": "^10 || ^12 || >=14.0" }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", "dev": true, "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "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/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", "dev": true, "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 10" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/size-limit": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", - "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", "dev": true, "dependencies": { - "bytes-iec": "^3.1.1", - "chokidar": "^3.5.2", - "ci-job-number": "^1.2.2", - "globby": "^11.0.4", - "lilconfig": "^2.0.3", - "mico-spinner": "^1.3.0", - "picocolors": "^0.1.0" - }, - "bin": { - "size-limit": "bin.js" + "postcss-selector-parser": "^6.0.5" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/size-limit/node_modules/picocolors": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", - "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", - "dev": true - }, - "node_modules/slash": { + "node_modules/postcss-modules-extract-imports": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "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": ">=8" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/slice-ansi": { + "node_modules/postcss-modules-local-by-default": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "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": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "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": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "icss-utils": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/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, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, "dependencies": { - "ms": "2.0.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/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/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/snapdragon/node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "dev": true, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "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/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/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", "dev": true, + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12.0.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/posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", "dev": true, + "dependencies": { + "htmlparser2": "^7.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", "dev": true, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/posthtml/node_modules/posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "htmlparser2": "^7.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "engines": { + "node": ">= 0.8.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==", + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", - "dev": true - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "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": { - "extend-shallow": "^3.0.0" + "fast-diff": "^1.1.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.0.0" } }, - "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/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "node_modules/pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", "dev": true, "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "figgy-pudding": "^3.5.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "parse-ms": "^2.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6.0" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "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/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/progress-estimator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", + "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/progress-estimator/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": { - "is-buffer": "^1.1.5" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/progress-estimator/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": { - "kind-of": "^3.0.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/progress-estimator/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/progress-estimator/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": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "color-name": "1.1.3" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/progress-estimator/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/progress-estimator/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.10.0" + "node": ">=0.8.0" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/progress-estimator/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/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/progress-estimator/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": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "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" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/stream-browserify/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==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/stream-browserify/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/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": 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/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "once": "^1.3.1" } }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "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" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/stream-http/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/stream-http/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/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">=6" } }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": ">=0.4.x" } }, - "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/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.4.x" } }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "^5.1.0" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "node_modules/react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "dev": true + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "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/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": { - "ansi-regex": "^5.0.1" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "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/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "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": ">=0.10.0" + "node": ">=8" } }, - "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/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "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": ">=6" + "node": ">=8.10.0" } }, - "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/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", "dev": true, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/structured-headers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", - "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" - }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/recast": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", + "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "ast-types": "0.11.7", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">= 4" } }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "resolve": "^1.1.6" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.10" } }, - "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/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.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "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==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, "engines": { "node": ">= 0.4" }, @@ -15399,461 +16217,725 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, "engines": { - "node": ">=10.13.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "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/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "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" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "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": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "jsesc": "~0.5.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/table/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/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/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", "dev": true }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "dependencies": { - "rimraf": "~2.6.2" - }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "lodash": "^4.17.19" }, "engines": { - "node": ">=6.0.0" + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" } }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" }, "engines": { - "node": ">= 6.9.0" + "node": ">=0.12.0" }, "peerDependencies": { - "webpack": "^4.0.0" + "request": "^2.34" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">= 4" + "node": ">=0.8" } }, - "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", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.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/throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", - "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/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "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, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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": { - "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": ">=0.10.0" } }, - "node_modules/through2/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==", + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "node_modules/through2/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/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "is-core-module": "^2.9.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/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "dependencies": { - "setimmediate": "^1.0.4" + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "node": ">=8" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "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, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, "engines": { - "node": ">=0.6.0" + "node": ">=8" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true }, - "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==", + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "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": { - "kind-of": "^3.0.2" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "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, - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, "engines": { + "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "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==", + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true, - "engines": { - "node": ">=6" + "bin": { + "rimraf": "bin.js" } }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=6" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "node_modules/rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" + }, + "bin": { + "rollup": "dist/bin/rollup" } }, - "node_modules/ts-migrate": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", - "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", + "node_modules/rollup-plugin-sourcemaps": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", + "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", "dev": true, "dependencies": { - "create-jest-runner": "^0.5.3", - "json5": "^2.1.1", - "json5-writer": "^0.1.8", - "ts-migrate-plugins": "^0.1.35", - "ts-migrate-server": "^0.1.33", - "updatable-log": "^0.2.0", - "yargs": "^15.0.2" + "@rollup/pluginutils": "^3.0.9", + "source-map-resolve": "^0.6.0" }, - "bin": { - "ts-migrate": "build/cli.js", - "ts-migrate-full": "bin/ts-migrate-full.sh" + "engines": { + "node": ">=10.0.0" }, "peerDependencies": { - "typescript": ">4.0" + "@types/node": ">=10.0.0", + "rollup": ">=0.31.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "node_modules/ts-migrate-plugins": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", - "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", + "node_modules/rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", "dev": true, "dependencies": { - "eslint": "^7.14.0", - "jscodeshift": "^0.13.0", - "json-schema": "^0.4.0", - "ts-migrate-server": "^0.1.33" + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" }, "peerDependencies": { - "typescript": ">4.0" + "rollup": ">=0.66.0 <3" } }, - "node_modules/ts-migrate-plugins/node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "node_modules/rollup-plugin-terser/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": { - "tslib": "^2.0.1" - }, "engines": { "node": ">=4" } }, - "node_modules/ts-migrate-plugins/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/ts-migrate-plugins/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/rollup-plugin-typescript2": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", + "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.17.0", + "tslib": "2.0.1" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" + } + }, + "node_modules/rollup-plugin-typescript2/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": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/rollup-plugin-typescript2/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/rollup-plugin-typescript2/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/rollup-plugin-typescript2/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/rollup-plugin-typescript2/node_modules/tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "dev": true + }, + "node_modules/rollup-plugin-typescript2/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/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "dev": true, + "engines": { + "node": "6.* || >= 7.*" + } + }, + "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/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "dev": true, + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/rxjs/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/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "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": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "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/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "dev": true, + "dependencies": { + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" + }, + "bin": { + "sane": "src/cli.js" + }, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dev": true, + "dependencies": { "is-extendable": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/fill-range": { + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", @@ -15868,7 +16950,7 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -15880,7 +16962,19 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/is-extendable": { + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/sane/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", @@ -15889,7 +16983,7 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/is-number": { + "node_modules/sane/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", @@ -15901,7 +16995,7 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/is-number/node_modules/kind-of": { + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", @@ -15913,40 +17007,16 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/jscodeshift": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", - "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, - "dependencies": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.4", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" - }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/micromatch": { + "node_modules/sane/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", @@ -15970,2169 +17040,2025 @@ "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "dependencies": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "path-key": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/ts-migrate-plugins/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=4" } }, - "node_modules/ts-migrate-server": { - "version": "0.1.33", - "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", - "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", + "node_modules/sane/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "@ts-morph/bootstrap": "^0.16.0", - "pretty-ms": "^7.0.1", - "updatable-log": "^0.2.0" - }, - "peerDependencies": { - "typescript": ">4.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/ts-migrate/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ts-migrate/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ts-migrate/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ts-migrate/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "node_modules/sane/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": ">=6" + "dependencies": { + "isexe": "^2.0.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "which": "bin/which" } }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dev": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "xmlchars": "^2.1.1" + }, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tsconfig-paths/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": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/tsdx": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", - "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "@babel/core": "^7.4.4", - "@babel/helper-module-imports": "^7.0.0", - "@babel/parser": "^7.11.5", - "@babel/plugin-proposal-class-properties": "^7.4.4", - "@babel/preset-env": "^7.11.0", - "@babel/traverse": "^7.11.5", - "@rollup/plugin-babel": "^5.1.0", - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-node-resolve": "^9.0.0", - "@rollup/plugin-replace": "^2.2.1", - "@types/jest": "^25.2.1", - "@typescript-eslint/eslint-plugin": "^2.12.0", - "@typescript-eslint/parser": "^2.12.0", - "ansi-escapes": "^4.2.1", - "asyncro": "^3.0.0", - "babel-eslint": "^10.0.3", - "babel-plugin-annotate-pure-calls": "^0.4.0", - "babel-plugin-dev-expression": "^0.2.1", - "babel-plugin-macros": "^2.6.1", - "babel-plugin-polyfill-regenerator": "^0.0.4", - "babel-plugin-transform-rename-import": "^2.3.0", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "enquirer": "^2.3.4", - "eslint": "^6.1.0", - "eslint-config-prettier": "^6.0.0", - "eslint-config-react-app": "^5.2.1", - "eslint-plugin-flowtype": "^3.13.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-jsx-a11y": "^6.2.3", - "eslint-plugin-prettier": "^3.1.0", - "eslint-plugin-react": "^7.14.3", - "eslint-plugin-react-hooks": "^2.2.0", - "execa": "^4.0.3", - "fs-extra": "^9.0.0", - "jest": "^25.3.0", - "jest-watch-typeahead": "^0.5.0", - "jpjs": "^1.2.1", - "lodash.merge": "^4.6.2", - "ora": "^4.0.3", - "pascal-case": "^3.1.1", - "prettier": "^1.19.1", - "progress-estimator": "^0.2.2", - "regenerator-runtime": "^0.13.7", - "rollup": "^1.32.1", - "rollup-plugin-sourcemaps": "^0.6.2", - "rollup-plugin-terser": "^5.1.2", - "rollup-plugin-typescript2": "^0.27.3", - "sade": "^1.4.2", - "semver": "^7.1.1", - "shelljs": "^0.8.3", - "tiny-glob": "^0.2.6", - "ts-jest": "^25.3.1", - "tslib": "^1.9.3", - "typescript": "^3.7.3" + "lru-cache": "^6.0.0" }, "bin": { - "tsdx": "dist/index.js" + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, - "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", - "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", + "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": { - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/traverse": "^7.11.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "yallist": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" + "engines": { + "node": ">=10" } }, - "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/tsdx/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/console/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "engines": { - "node": ">= 8.3" + "bin": { + "sha.js": "bin.js" } }, - "node_modules/tsdx/node_modules/@jest/core/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^6.0.2" }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/core/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/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": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "shebang-regex": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/core/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/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, - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true, + "optional": true + }, + "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": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "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/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 10" } }, - "node_modules/tsdx/node_modules/@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/size-limit": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", + "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", "dev": true, "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.5.1", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.2", + "ci-job-number": "^1.2.2", + "globby": "^11.0.4", + "lilconfig": "^2.0.3", + "mico-spinner": "^1.3.0", + "picocolors": "^0.1.0" }, - "engines": { - "node": ">= 8.3" + "bin": { + "size-limit": "bin.js" }, - "optionalDependencies": { - "node-notifier": "^6.0.0" + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/tsdx/node_modules/@jest/reporters/node_modules/chalk": { + "node_modules/size-limit/node_modules/picocolors": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", + "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", + "dev": true + }, + "node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "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, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/tsdx/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "dependencies": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/transform/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^3.2.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@jest/types/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/snapdragon/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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "ms": "2.0.0" } }, - "node_modules/tsdx/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "node_modules/tsdx/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/tsdx/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "node_modules/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" + "kind-of": "^3.0.2" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-jest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", - "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.0.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "node_modules/snapdragon/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/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "node_modules/snapdragon/node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - }, + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "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": ">= 8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" } }, - "node_modules/tsdx/node_modules/cliui/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/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/tsdx/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/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/tsdx/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==", + "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/tsdx/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==", + "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.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", "dev": true }, - "node_modules/tsdx/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "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/tsdx/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsdx/node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" }, "bin": { - "eslint": "bin/eslint.js" + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { - "confusing-browser-globals": "^1.0.9" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-plugin-flowtype": "3.x || 4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "1.x || 2.x" + "figgy-pudding": "^3.5.1" } }, - "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", - "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=7" + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/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==", + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/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/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4.8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/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/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", "dev": true, "engines": { - "node": ">=6.5.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/tsdx/node_modules/eslint/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/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "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/tsdx/node_modules/eslint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/stream-browserify/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/stream-browserify/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": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "safe-buffer": "~5.1.0" } }, - "node_modules/tsdx/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "node_modules/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "node_modules/tsdx/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, - "node_modules/tsdx/node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - }, - "engines": { - "node": ">= 8.3" + "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/tsdx/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/stream-http/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/stream-http/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": { - "flat-cache": "^2.0.1" - }, - "engines": { - "node": ">=4" + "safe-buffer": "~5.1.0" } }, - "node_modules/tsdx/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/tsdx/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/tsdx/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "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": { - "pump": "^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/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, "dependencies": { - "type-fest": "^0.8.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/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/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": ">=4" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { - "node": ">=8.12.0" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/is-fullwidth-code-point": { + "node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/tsdx/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/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, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsdx/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/structured-headers": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", + "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" + }, + "node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dev": true, "dependencies": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/tsdx/node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/tsdx/node_modules/jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "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": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - }, - "bin": { - "jest": "bin/jest.js" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/jest-changed-files/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "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, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/node_modules/jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, "dependencies": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, "bin": { - "jest": "bin/jest.js" + "svgo": "bin/svgo" }, "engines": { - "node": ">= 8.3" + "node": ">=10.13.0" } }, - "node_modules/tsdx/node_modules/jest-cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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/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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=8" + "node": ">=10.0.0" } }, - "node_modules/tsdx/node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "node_modules/table/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 8.3" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/tsdx/node_modules/jest-config/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/table/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/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "rimraf": "~2.6.2" }, "engines": { - "node": ">= 8.3" + "node": ">=6.0.0" } }, - "node_modules/tsdx/node_modules/jest-diff/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsdx/node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsdx/node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/tsdx/node_modules/jest-environment-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/tsdx/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, + "terser": "bin/terser" + }, "engines": { - "node": ">= 8.3" + "node": ">=6.0.0" } }, - "node_modules/tsdx/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 6.9.0" }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/tsdx/node_modules/jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 4" } }, - "node_modules/tsdx/node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "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", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "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/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/tsdx/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" + "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/tsdx/node_modules/jest-message-util/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/through2/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/through2/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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/tsdx/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0" + "setimmediate": "^1.0.4" }, "engines": { - "node": ">= 8.3" + "node": ">=0.6.0" } }, - "node_modules/tsdx/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "dev": true + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", "dev": true, - "engines": { - "node": ">= 8.3" + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" } }, - "node_modules/tsdx/node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "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": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" + "os-tmpdir": "~1.0.2" }, "engines": { - "node": ">= 8.3" + "node": ">=0.6.0" } }, - "node_modules/tsdx/node_modules/jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "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, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/jest-resolve/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-runner/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "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": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8.0" } }, - "node_modules/tsdx/node_modules/jest-runtime/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "node_modules/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/jest-snapshot/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "punycode": "^2.1.0" } }, - "node_modules/tsdx/node_modules/jest-snapshot/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/ts-migrate": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", + "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", "dev": true, + "dependencies": { + "create-jest-runner": "^0.5.3", + "json5": "^2.1.1", + "json5-writer": "^0.1.8", + "ts-migrate-plugins": "^0.1.35", + "ts-migrate-server": "^0.1.33", + "updatable-log": "^0.2.0", + "yargs": "^15.0.2" + }, "bin": { - "semver": "bin/semver.js" + "ts-migrate": "build/cli.js", + "ts-migrate-full": "bin/ts-migrate-full.sh" + }, + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/tsdx/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/ts-migrate-plugins": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", + "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "eslint": "^7.14.0", + "jscodeshift": "^0.13.0", + "json-schema": "^0.4.0", + "ts-migrate-server": "^0.1.33" }, - "engines": { - "node": ">= 8.3" + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/tsdx/node_modules/jest-util/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/ts-migrate-plugins/node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "node_modules/ts-migrate-plugins/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 8.3" - } - }, - "node_modules/tsdx/node_modules/jest-validate/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": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-validate/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/ts-migrate-plugins/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "node_modules/ts-migrate-plugins/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-watcher/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/ts-migrate-plugins/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "node_modules/ts-migrate-plugins/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/ts-migrate-plugins/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/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/ts-migrate-plugins/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "is-buffer": "^1.1.5" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tsdx/node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - } - }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/ts-migrate-plugins/node_modules/jscodeshift": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", + "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", "dev": true, - "optional": true, "dependencies": { - "isexe": "^2.0.0" + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.4", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, "bin": { - "which": "bin/which" + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/tsdx/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/ts-migrate-plugins/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/tsdx/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tsdx/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tsdx/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true, - "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/ts-migrate-plugins/node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 4" } }, - "node_modules/tsdx/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/tsdx/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/ts-migrate-plugins/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/ts-migrate-plugins/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "node_modules/tsdx/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/ts-migrate-server": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", + "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "@ts-morph/bootstrap": "^0.16.0", + "pretty-ms": "^7.0.1", + "updatable-log": "^0.2.0" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/tsdx/node_modules/slice-ansi/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==", + "node_modules/ts-migrate/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/tsdx/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/ts-migrate/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "node_modules/ts-migrate/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/ts-migrate/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { "node": ">=6" } }, - "node_modules/tsdx/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/tsdx/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "node_modules/tsdx/node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "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": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "minimist": "^1.2.0" }, - "engines": { - "node": ">=6" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/tsdx/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true + "node_modules/tsconfig-paths/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/tsdx/node_modules/ts-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", - "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", + "node_modules/tsdx": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", + "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", "dev": true, "dependencies": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "micromatch": "4.x", - "mkdirp": "0.x", - "semver": "6.x", - "yargs-parser": "18.x" + "@babel/core": "^7.4.4", + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.11.0", + "@babel/traverse": "^7.11.5", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-commonjs": "^11.0.0", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.2.1", + "@types/jest": "^25.2.1", + "@typescript-eslint/eslint-plugin": "^2.12.0", + "@typescript-eslint/parser": "^2.12.0", + "ansi-escapes": "^4.2.1", + "asyncro": "^3.0.0", + "babel-eslint": "^10.0.3", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.1", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-polyfill-regenerator": "^0.0.4", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "enquirer": "^2.3.4", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.2.0", + "execa": "^4.0.3", + "fs-extra": "^9.0.0", + "jest": "^25.3.0", + "jest-watch-typeahead": "^0.5.0", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^4.0.3", + "pascal-case": "^3.1.1", + "prettier": "^1.19.1", + "progress-estimator": "^0.2.2", + "regenerator-runtime": "^0.13.7", + "rollup": "^1.32.1", + "rollup-plugin-sourcemaps": "^0.6.2", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.27.3", + "sade": "^1.4.2", + "semver": "^7.1.1", + "shelljs": "^0.8.3", + "tiny-glob": "^0.2.6", + "ts-jest": "^25.3.1", + "tslib": "^1.9.3", + "typescript": "^3.7.3" }, "bin": { - "ts-jest": "cli.js" + "tsdx": "dist/index.js" }, "engines": { - "node": ">= 8" + "node": ">=10" + } + }, + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", + "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, "peerDependencies": { - "jest": ">=25 <26", - "typescript": ">=3.4 <4.0" + "@babel/core": "^7.4.0-0" } }, - "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", @@ -18141,84 +19067,103 @@ "semver": "bin/semver.js" } }, - "node_modules/tsdx/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/tsdx/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/tsdx/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8.3" } }, - "node_modules/tsdx/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==", + "node_modules/tsdx/node_modules/@jest/console/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "node_modules/tsdx/node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4.2.0" + "node": ">= 8.3" } }, - "node_modules/tsdx/node_modules/v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "node_modules/tsdx/node_modules/@jest/core/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "8.x.x || >=10.10.0" - } - }, - "node_modules/tsdx/node_modules/v8-to-istanbul/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": ">=8" } }, - "node_modules/tsdx/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/tsdx/node_modules/@jest/core/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": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": ">=8" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/tsdx/node_modules/wrap-ansi/node_modules/strip-ansi": { + "node_modules/tsdx/node_modules/@jest/core/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==", @@ -18230,407 +19175,444 @@ "node": ">=8" } }, - "node_modules/tsdx/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "node_modules/tsdx/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/tsdx/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/tsdx/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/tsdx/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/tsdx/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/tsdx/node_modules/yargs-parser/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/tsdx/node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" + }, + "optionalDependencies": { + "node-notifier": "^6.0.0" } }, - "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/tsdx/node_modules/@jest/reporters/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "tslib": "^1.8.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "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": ">=8" } }, - "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/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/tsdx/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "dependencies": { - "safe-buffer": "^5.0.1" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" }, "engines": { - "node": "*" + "node": ">= 8.3" } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "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==", + "node_modules/tsdx/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "dependencies": { - "prelude-ls": "^1.2.1" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 8.3" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "node_modules/tsdx/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "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==", + "node_modules/tsdx/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8.3" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "node_modules/tsdx/node_modules/@jest/transform/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.2.0" + "node": ">=8" } }, - "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==", + "node_modules/tsdx/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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": ">= 8.3" } }, - "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==", + "node_modules/tsdx/node_modules/@jest/types/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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==", + "node_modules/tsdx/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "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/tsdx/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true }, - "node_modules/union-value": { + "node_modules/tsdx/node_modules/@types/stack-utils": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/tsdx/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "unique-slug": "^2.0.0" + "@types/yargs-parser": "*" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4" + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "node_modules/tsdx/node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, + "dependencies": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" + }, "engines": { - "node": ">= 10.0.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/unset-value": { + "node_modules/tsdx/node_modules/astral-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "node_modules/tsdx/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "node_modules/tsdx/node_modules/babel-jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "isarray": "1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "node_modules/tsdx/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "node_modules/tsdx/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", + "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", "dev": true, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/updatable-log": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", - "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", + "node_modules/tsdx/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "figures": "^3.0.0", - "log-update": "^3.3.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/updatable-log/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/tsdx/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/updatable-log/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/tsdx/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">=6" - } - }, - "node_modules/updatable-log/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" + "node": ">=10" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/updatable-log/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/tsdx/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/updatable-log/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "node_modules/tsdx/node_modules/cliui/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": { - "restore-cursor": "^2.0.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/updatable-log/node_modules/color-convert": { + "node_modules/tsdx/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==", @@ -18639,123 +19621,228 @@ "color-name": "1.1.3" } }, - "node_modules/updatable-log/node_modules/color-name": { + "node_modules/tsdx/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/updatable-log/node_modules/emoji-regex": { + "node_modules/tsdx/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/tsdx/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/tsdx/node_modules/emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/updatable-log/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/tsdx/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "node_modules/updatable-log/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/tsdx/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=4" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/updatable-log/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/tsdx/node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "dependencies": { + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" + } + }, + "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", "dev": true, "engines": { - "node": ">=4" + "node": ">=7" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" } }, - "node_modules/updatable-log/node_modules/log-update": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", - "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", + "node_modules/tsdx/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "dependencies": { - "ansi-escapes": "^3.2.0", - "cli-cursor": "^2.1.0", - "wrap-ansi": "^5.0.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/updatable-log/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "node_modules/tsdx/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { "node": ">=4" } }, - "node_modules/updatable-log/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/tsdx/node_modules/eslint/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": { - "mimic-fn": "^1.0.0" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/updatable-log/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/tsdx/node_modules/eslint/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": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, - "node_modules/updatable-log/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=6" + "node": ">=4.8" } }, - "node_modules/updatable-log/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/tsdx/node_modules/eslint/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, - "dependencies": { - "ansi-regex": "^4.1.0" - }, "engines": { - "node": ">=6" + "node": ">=0.8.0" } }, - "node_modules/updatable-log/node_modules/supports-color": { + "node_modules/tsdx/node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/tsdx/node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/eslint/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==", @@ -18767,2554 +19854,5789 @@ "node": ">=4" } }, - "node_modules/updatable-log/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/tsdx/node_modules/eslint/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": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=6" + "bin": { + "which": "bin/which" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "node_modules/tsdx/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">=6.0.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==", + "node_modules/tsdx/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { - "punycode": "^2.1.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "node_modules/tsdx/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "dev": true, "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true - }, - "node_modules/urlsafe-base64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", - "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true, + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "node_modules/tsdx/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "dependencies": { - "inherits": "2.0.3" + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "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==" - }, - "node_modules/util/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/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "node_modules/tsdx/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, - "bin": { - "uuid": "bin/uuid" + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/tsdx/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", "dev": true }, - "node_modules/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "node_modules/tsdx/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=10.12.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/v8-to-istanbul/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/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==", + "node_modules/tsdx/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "node_modules/tsdx/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 >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "engines": { + "node": ">=4" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "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.", + "node_modules/tsdx/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" + "engines": { + "node": ">=8.12.0" } }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "node_modules/tsdx/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "dependencies": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" + "engines": { + "node": ">= 4" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "node_modules/tsdx/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "dependencies": { - "makeerror": "1.0.12" + "engines": { + "node": ">=4" } }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "node_modules/tsdx/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, + "optional": true, "dependencies": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "is-docker": "^2.0.0" }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/tsdx/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, - "optional": true, "dependencies": { - "chokidar": "^2.1.8" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/tsdx/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/tsdx/node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, - "optional": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "node_modules/tsdx/node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", "dev": true, - "optional": true, + "dependencies": { + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/tsdx/node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "dev": true, - "optional": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", "dev": true, - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "node_modules/tsdx/node_modules/jest-cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": true, "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/tsdx/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "dev": true, - "optional": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-config/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": true, "dependencies": { - "is-extendable": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "node_modules/tsdx/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">= 4.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "node_modules/tsdx/node_modules/jest-diff/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": true, "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "node_modules/tsdx/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, - "optional": true, "dependencies": { - "is-extglob": "^2.1.0" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "node_modules/tsdx/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, - "optional": true, "dependencies": { - "binary-extensions": "^1.0.0" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tsdx/node_modules/jest-environment-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/tsdx/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, - "optional": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, - "optional": true, "dependencies": { - "is-buffer": "^1.1.5" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/tsdx/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, - "optional": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/tsdx/node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": 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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/tsdx/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, - "optional": true, "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=0.10" + "node": ">= 8.3" } }, - "node_modules/watchpack-chokidar2/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, - "optional": true - }, - "node_modules/watchpack-chokidar2/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/tsdx/node_modules/jest-message-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": true, "dependencies": { - "safe-buffer": "~5.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/tsdx/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, - "optional": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "node_modules/tsdx/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "dependencies": { - "defaults": "^1.0.3" + "engines": { + "node": ">= 8.3" } }, - "node_modules/weak-map": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", - "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "node_modules/tsdx/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } + "node": ">= 8.3" } }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", - "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "node_modules/tsdx/node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", "dev": true, "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 8.3" } }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "node_modules/tsdx/node_modules/jest-resolve/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/tsdx/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/tsdx/node_modules/jest-runner/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/tsdx/node_modules/jest-runtime/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/tsdx/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/webpack/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/tsdx/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/jest-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/webpack/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==", + "node_modules/tsdx/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "node_modules/tsdx/node_modules/jest-validate/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/tsdx/node_modules/jest-validate/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/tsdx/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/webpack/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/tsdx/node_modules/jest-watcher/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=8" } }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/tsdx/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">= 4" + "node": ">= 8.3" } }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/tsdx/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=0.10.0" + "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==", + "node_modules/tsdx/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": { - "iconv-lite": "0.4.24" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "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": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/tsdx/node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", "dev": true, + "optional": true, "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" } }, - "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/tsdx/node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, + "optional": true, "dependencies": { "isexe": "^2.0.0" }, "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" + "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==", + "node_modules/tsdx/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "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" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true + "node_modules/tsdx/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "node_modules/tsdx/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/tsdx/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "dev": true, - "dependencies": { - "errno": "~0.1.7" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "node_modules/tsdx/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "node_modules/tsdx/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/tsdx/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "node_modules/tsdx/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/tsdx/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "node_modules/tsdx/node_modules/slice-ansi/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": { - "ansi-regex": "^3.0.0" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "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/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "node_modules/tsdx/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { - "mkdirp": "^0.5.1" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/tsdx/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/write/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/tsdx/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "ansi-regex": "^4.1.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=6" } }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "node_modules/tsdx/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "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": ">=6" } }, - "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/xregexp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", - "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", + "node_modules/tsdx/node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, "dependencies": { - "@babel/runtime-corejs3": "^7.16.5" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "node_modules/tsdx/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, "engines": { - "node": ">=0.4" + "node": ">=6" } }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "node_modules/tsdx/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", "dev": true }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "node_modules/tsdx/node_modules/ts-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", + "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", "dev": true, + "dependencies": { + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "micromatch": "4.x", + "mkdirp": "0.x", + "semver": "6.x", + "yargs-parser": "18.x" + }, + "bin": { + "ts-jest": "cli.js" + }, "engines": { - "node": ">= 6" + "node": ">= 8" + }, + "peerDependencies": { + "jest": ">=25 <26", + "typescript": ">=3.4 <4.0" } }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/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/tsdx/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "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" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" } }, - "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==", + "node_modules/tsdx/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": ">=12" + "node": ">=8" } }, - "node_modules/yargs/node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/tsdx/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=10" + "node": ">=4.2.0" } }, - "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/tsdx/node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "8.x.x || >=10.10.0" } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + }, + "node_modules/tsdx/node_modules/v8-to-istanbul/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, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" + "engines": { + "node": ">= 8" } }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "node_modules/tsdx/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true - }, - "@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "node_modules/tsdx/node_modules/wrap-ansi/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, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" + "dependencies": { + "ansi-regex": "^5.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, "dependencies": { - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "node_modules/tsdx/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "node_modules/tsdx/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "node_modules/tsdx/node_modules/yargs-parser/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, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "engines": { + "node": ">=6" } }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "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, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "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/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", - "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "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, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6" + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" + "engines": { + "node": ">=4" } }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "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, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "engines": { + "node": ">=10" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "is-typedarray": "^1.0.0" } }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "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, - "requires": { - "@babel/types": "^7.18.6" + "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" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "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, - "requires": { - "@babel/types": "^7.20.7" + "engines": { + "node": ">=4" } }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "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, - "requires": { - "@babel/types": "^7.18.6" + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "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, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "engines": { + "node": ">=4" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "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, - "requires": { - "@babel/types": "^7.18.6" + "engines": { + "node": ">=4" } }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "engines": { + "node": ">=0.10.0" } }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, - "requires": { - "@babel/types": "^7.20.2" + "dependencies": { + "unique-slug": "^2.0.0" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, - "requires": { - "@babel/types": "^7.20.0" + "dependencies": { + "imurmurhash": "^0.1.4" } }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "requires": { - "@babel/types": "^7.18.6" + "engines": { + "node": ">= 10.0.0" } }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "optional": true, + "engines": { + "node": ">=4", + "yarn": "*" } }, - "@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==", + "node_modules/updatable-log": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", + "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", "dev": true, - "requires": { - "@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" + "dependencies": { + "chalk": "^2.4.2", + "figures": "^3.0.0", + "log-update": "^3.3.0" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "node_modules/updatable-log/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", - "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "node_modules/updatable-log/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" + "engines": { + "node": ">=6" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "node_modules/updatable-log/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "dependencies": { + "color-name": "1.1.3" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "node_modules/updatable-log/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/updatable-log/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "engines": { + "node": ">=0.8.0" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/updatable-log/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "node_modules/updatable-log/node_modules/log-update": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "dependencies": { + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", - "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "node_modules/updatable-log/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "node_modules/updatable-log/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" } }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", - "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "node_modules/updatable-log/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" } }, - "@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==", + "node_modules/updatable-log/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" } }, - "@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==", + "node_modules/updatable-log/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" } }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "node_modules/updatable-log/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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" + "node_modules/updatable-log/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" } }, - "@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==", + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "@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==", + "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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "punycode": "^2.1.0" } }, - "@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==", + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + }, + "node_modules/urlsafe-base64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", + "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "dependencies": { + "inherits": "2.0.3" } }, - "@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==", + "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==" + }, + "node_modules/util/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/utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">= 4" } }, - "@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==", + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "bin": { + "uuid": "bin/uuid" } }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "@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==", + "node_modules/v8-to-istanbul/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/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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "@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==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "@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==", + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "browser-process-hrtime": "^1.0.0" } }, - "@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==", + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" } }, - "@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==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "makeerror": "1.0.12" } }, - "@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==", + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "@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==", + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "optional": true, + "dependencies": { + "chokidar": "^2.1.8" } }, - "@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==", + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "optional": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "optional": true, + "dependencies": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "optional": true, + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "optional": true, + "dependencies": { + "is-extglob": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" + "optional": true, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "node_modules/watchpack-chokidar2/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "optional": 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" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "node_modules/watchpack-chokidar2/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, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "optional": true + }, + "node_modules/watchpack-chokidar2/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, + "optional": true, + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "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, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "defaults": "^1.0.3" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, + "node_modules/weak-map": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "node_modules/webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "node_modules/webpack/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" } }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "node_modules/webpack/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "node_modules/webpack/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "node_modules/webpack/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "node_modules/webpack/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, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "node_modules/webpack/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" } }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "node_modules/webpack/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.20.0", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack/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/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "dependencies": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/webpack/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.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": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "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/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-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write/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/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/xregexp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", + "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", + "dependencies": { + "@babel/runtime-corejs3": "^7.16.5" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==", + "dev": true + }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "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/yargs/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/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" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", "semver": "^6.3.0" }, "dependencies": { + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + } + }, + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + } + }, + "@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==", + "dev": true, + "requires": { + "@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" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", + "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-flow-strip-types": "^7.18.6" + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@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" + } + }, + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" + } + }, + "@babel/register": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", + "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", + "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "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 + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@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, + "requires": { + "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" + } + }, + "@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 + }, + "@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "dev": true, + "requires": { + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" + } + }, + "@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "dev": true, + "requires": { + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" + } + }, + "@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "dev": true, + "requires": { + "jest-get-type": "^29.2.0" + } + }, + "@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "dev": true, + "requires": { + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + } + }, + "@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "dev": true, + "requires": { + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" + } + }, + "@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.24.1" + } + }, + "@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "dev": true, + "requires": { + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "dev": true, + "requires": { + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "dev": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" + } + }, + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "dev": true, + "requires": { + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@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 + }, + "@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@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, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@lezer/common": { + "version": "0.15.12", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", + "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==", + "dev": true + }, + "@lezer/lr": { + "version": "0.15.8", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", + "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "dev": true, + "requires": { + "@lezer/common": "^0.15.0" + } + }, + "@lmdb/lmdb-darwin-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", + "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", + "dev": true, + "optional": true + }, + "@lmdb/lmdb-darwin-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", + "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", + "dev": true, + "optional": true + }, + "@lmdb/lmdb-linux-arm": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", + "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", + "dev": true, + "optional": true + }, + "@lmdb/lmdb-linux-arm64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", + "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", + "dev": true, + "optional": true + }, + "@lmdb/lmdb-linux-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", + "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", + "dev": true, + "optional": true + }, + "@lmdb/lmdb-win32-x64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", + "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", + "dev": true, + "optional": true + }, + "@mischnic/json-sourcemap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", + "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "dev": true, + "requires": { + "@lezer/common": "^0.15.7", + "@lezer/lr": "^0.15.4", + "json5": "^2.2.1" + } + }, + "@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", + "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", + "dev": true, + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", + "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", + "dev": true, + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", + "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", + "dev": true, + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", + "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", + "dev": true, + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", + "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", + "dev": true, + "optional": true + }, + "@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", + "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", + "dev": true, + "optional": true + }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@parcel/bundler-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.3.tgz", + "integrity": "sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/graph": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" + } + }, + "@parcel/cache": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.3.tgz", + "integrity": "sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==", + "dev": true, + "requires": { + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/utils": "2.8.3", + "lmdb": "2.5.2" + } + }, + "@parcel/codeframe": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.3.tgz", + "integrity": "sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/compressor-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz", + "integrity": "sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==", + "dev": true, + "requires": { + "@parcel/plugin": "2.8.3" + } + }, + "@parcel/config-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.3.tgz", + "integrity": "sha512-o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw==", + "dev": true, + "requires": { + "@parcel/bundler-default": "2.8.3", + "@parcel/compressor-raw": "2.8.3", + "@parcel/namer-default": "2.8.3", + "@parcel/optimizer-css": "2.8.3", + "@parcel/optimizer-htmlnano": "2.8.3", + "@parcel/optimizer-image": "2.8.3", + "@parcel/optimizer-svgo": "2.8.3", + "@parcel/optimizer-terser": "2.8.3", + "@parcel/packager-css": "2.8.3", + "@parcel/packager-html": "2.8.3", + "@parcel/packager-js": "2.8.3", + "@parcel/packager-raw": "2.8.3", + "@parcel/packager-svg": "2.8.3", + "@parcel/reporter-dev-server": "2.8.3", + "@parcel/resolver-default": "2.8.3", + "@parcel/runtime-browser-hmr": "2.8.3", + "@parcel/runtime-js": "2.8.3", + "@parcel/runtime-react-refresh": "2.8.3", + "@parcel/runtime-service-worker": "2.8.3", + "@parcel/transformer-babel": "2.8.3", + "@parcel/transformer-css": "2.8.3", + "@parcel/transformer-html": "2.8.3", + "@parcel/transformer-image": "2.8.3", + "@parcel/transformer-js": "2.8.3", + "@parcel/transformer-json": "2.8.3", + "@parcel/transformer-postcss": "2.8.3", + "@parcel/transformer-posthtml": "2.8.3", + "@parcel/transformer-raw": "2.8.3", + "@parcel/transformer-react-refresh-wrap": "2.8.3", + "@parcel/transformer-svg": "2.8.3" + } + }, + "@parcel/core": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.3.tgz", + "integrity": "sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==", + "dev": true, + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/graph": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, - "@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", + "@parcel/diagnostic": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.3.tgz", + "integrity": "sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" } }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "@parcel/events": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.3.tgz", + "integrity": "sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==", + "dev": true + }, + "@parcel/fs": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.3.tgz", + "integrity": "sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==", "dev": true, "requires": { - "@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" + "@parcel/fs-search": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.8.3" } }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "@parcel/fs-search": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.3.tgz", + "integrity": "sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "detect-libc": "^1.0.3" } }, - "@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "@parcel/graph": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.3.tgz", + "integrity": "sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==", "dev": true, "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" + "nullthrows": "^1.1.1" + } + }, + "@parcel/hash": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.3.tgz", + "integrity": "sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + } + }, + "@parcel/logger": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.3.tgz", + "integrity": "sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3" + } + }, + "@parcel/markdown-ansi": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz", + "integrity": "sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==", + "dev": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/namer-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.3.tgz", + "integrity": "sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1" + } + }, + "@parcel/node-resolver-core": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz", + "integrity": "sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" }, "dependencies": { - "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, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true + } + } + }, + "@parcel/optimizer-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz", + "integrity": "sha512-JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" + } + }, + "@parcel/optimizer-htmlnano": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz", + "integrity": "sha512-L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg==", + "dev": true, + "requires": { + "@parcel/plugin": "2.8.3", + "htmlnano": "^2.0.0", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "svgo": "^2.4.0" + }, + "dependencies": { + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "optional": true, + "peer": true + }, + "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 + }, + "cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "dev": true, + "requires": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + } + }, + "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, + "optional": true, + "peer": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + } + }, + "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, + "optional": true, + "peer": true, + "requires": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + } + }, + "cssnano": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cssnano-preset-default": "^6.0.1", + "lilconfig": "^2.1.0" + } + }, + "cssnano-preset-default": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^4.0.0", + "postcss-calc": "^9.0.0", + "postcss-colormin": "^6.0.0", + "postcss-convert-values": "^6.0.0", + "postcss-discard-comments": "^6.0.0", + "postcss-discard-duplicates": "^6.0.0", + "postcss-discard-empty": "^6.0.0", + "postcss-discard-overridden": "^6.0.0", + "postcss-merge-longhand": "^6.0.0", + "postcss-merge-rules": "^6.0.1", + "postcss-minify-font-values": "^6.0.0", + "postcss-minify-gradients": "^6.0.0", + "postcss-minify-params": "^6.0.0", + "postcss-minify-selectors": "^6.0.0", + "postcss-normalize-charset": "^6.0.0", + "postcss-normalize-display-values": "^6.0.0", + "postcss-normalize-positions": "^6.0.0", + "postcss-normalize-repeat-style": "^6.0.0", + "postcss-normalize-string": "^6.0.0", + "postcss-normalize-timing-functions": "^6.0.0", + "postcss-normalize-unicode": "^6.0.0", + "postcss-normalize-url": "^6.0.0", + "postcss-normalize-whitespace": "^6.0.0", + "postcss-ordered-values": "^6.0.0", + "postcss-reduce-initial": "^6.0.0", + "postcss-reduce-transforms": "^6.0.0", + "postcss-svgo": "^6.0.0", + "postcss-unique-selectors": "^6.0.0" + } + }, + "cssnano-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", + "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "css-tree": "~2.2.0" + }, + "dependencies": { + "css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + } + }, + "mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "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, + "optional": true, + "peer": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + } + }, + "domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "domelementtype": "^2.3.0" + } + }, + "domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "optional": true, + "peer": true + }, + "htmlnano": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", + "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", + "dev": true, + "requires": { + "cosmiconfig": "^8.0.0", + "posthtml": "^0.16.5", + "timsort": "^0.3.0" + } + }, + "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, + "requires": { + "argparse": "^2.0.1" + } + }, + "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, + "optional": true, + "peer": true + }, + "postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", + "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", + "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", + "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", + "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", + "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", + "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "postcss-merge-longhand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", + "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.0.0" + } + }, + "postcss-merge-rules": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", + "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", + "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", + "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", + "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", + "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-normalize-charset": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", + "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", + "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", + "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", + "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", + "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", + "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", + "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", + "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", + "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", + "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", + "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", + "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-svgo": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", + "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.0.2" + }, + "dependencies": { + "svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", + "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } }, "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, + "optional": true, + "peer": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } + }, + "stylehacks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", + "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + } + }, + "terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "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, + "optional": true, + "peer": true + } + } } } }, - "@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "@parcel/optimizer-image": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz", + "integrity": "sha512-SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ==", "dev": true, "requires": { - "regenerator-runtime": "^0.13.11" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "detect-libc": "^1.0.3" } }, - "@babel/runtime-corejs3": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", - "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "@parcel/optimizer-svgo": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz", + "integrity": "sha512-9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA==", + "dev": true, "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.11" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "svgo": "^2.4.0" } }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "@parcel/optimizer-terser": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz", + "integrity": "sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==", "dev": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "terser": "^5.2.0" + }, + "dependencies": { + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + } } }, - "@babel/traverse": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", - "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "@parcel/package-manager": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.3.tgz", + "integrity": "sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==", "dev": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "semver": "^5.7.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "@parcel/packager-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.3.tgz", + "integrity": "sha512-WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "@parcel/packager-html": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.3.tgz", + "integrity": "sha512-OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw==", "dev": true, "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" } }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "@parcel/packager-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.3.tgz", + "integrity": "sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==", "dev": true, "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" }, "dependencies": { "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -21323,324 +25645,386 @@ } } }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "@parcel/packager-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.3.tgz", + "integrity": "sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" + "@parcel/plugin": "2.8.3" } }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@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==", + "@parcel/packager-svg": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.3.tgz", + "integrity": "sha512-mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw==", "dev": true, "requires": { - "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" + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "posthtml": "^0.16.4" } }, - "@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 + "@parcel/plugin": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.3.tgz", + "integrity": "sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==", + "dev": true, + "requires": { + "@parcel/types": "2.8.3" + } }, - "@jest/console": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "@parcel/reporter-cli": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz", + "integrity": "sha512-3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw==", "dev": true, "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" + "@parcel/plugin": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "chalk": "^4.1.0", + "term-size": "^2.2.1" } }, - "@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "@parcel/reporter-dev-server": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz", + "integrity": "sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==", "dev": true, "requires": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3" } }, - "@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "@parcel/resolver-default": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.3.tgz", + "integrity": "sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==", "dev": true, "requires": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" + "@parcel/node-resolver-core": "2.8.3", + "@parcel/plugin": "2.8.3" } }, - "@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "@parcel/runtime-browser-hmr": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz", + "integrity": "sha512-2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg==", "dev": true, "requires": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3" } }, - "@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "@parcel/runtime-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.3.tgz", + "integrity": "sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==", "dev": true, "requires": { - "jest-get-type": "^29.2.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" } }, - "@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "@parcel/runtime-react-refresh": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz", + "integrity": "sha512-2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA==", "dev": true, "requires": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "react-error-overlay": "6.0.9", + "react-refresh": "^0.9.0" } }, - "@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "@parcel/runtime-service-worker": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz", + "integrity": "sha512-/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw==", "dev": true, "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1" } }, - "@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "@parcel/source-map": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", + "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", "dev": true, "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" + "detect-libc": "^1.0.3" } }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "@parcel/transformer-babel": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz", + "integrity": "sha512-L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ==", "dev": true, "requires": { - "@sinclair/typebox": "^0.24.1" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "json5": "^2.2.0", + "nullthrows": "^1.1.1", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "@parcel/transformer-css": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.3.tgz", + "integrity": "sha512-xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "browserslist": "^4.6.6", + "lightningcss": "^1.16.1", + "nullthrows": "^1.1.1" } }, - "@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "@parcel/transformer-html": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.3.tgz", + "integrity": "sha512-kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g==", "dev": true, "requires": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1", + "srcset": "4" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "@parcel/transformer-image": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.3.tgz", + "integrity": "sha512-cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg==", "dev": true, "requires": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "nullthrows": "^1.1.1" } }, - "@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "@parcel/transformer-js": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.3.tgz", + "integrity": "sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.8.3", + "@parcel/workers": "2.8.3", + "@swc/helpers": "^0.4.12", + "browserslist": "^4.6.6", + "detect-libc": "^1.0.3", + "nullthrows": "^1.1.1", + "regenerator-runtime": "^0.13.7", + "semver": "^5.7.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "@parcel/transformer-json": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.3.tgz", + "integrity": "sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==", "dev": true, "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "@parcel/plugin": "2.8.3", + "json5": "^2.2.0" } }, - "@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "@parcel/transformer-postcss": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz", + "integrity": "sha512-e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg==", "dev": true, "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "clone": "^2.1.1", + "nullthrows": "^1.1.1", + "postcss-value-parser": "^4.2.0", + "semver": "^5.7.1" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "@parcel/transformer-posthtml": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz", + "integrity": "sha512-pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true + "@parcel/transformer-raw": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz", + "integrity": "sha512-G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ==", + "dev": true, + "requires": { + "@parcel/plugin": "2.8.3" + } }, - "@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 + "@parcel/transformer-react-refresh-wrap": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz", + "integrity": "sha512-q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg==", + "dev": true, + "requires": { + "@parcel/plugin": "2.8.3", + "@parcel/utils": "2.8.3", + "react-refresh": "^0.9.0" + } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true + "@parcel/transformer-svg": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz", + "integrity": "sha512-3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ==", + "dev": true, + "requires": { + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/plugin": "2.8.3", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5", + "posthtml-parser": "^0.10.1", + "posthtml-render": "^3.0.0", + "semver": "^5.7.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "@parcel/types": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.3.tgz", + "integrity": "sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@parcel/cache": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.8.3", + "utility-types": "^3.10.0" } }, - "@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==", + "@parcel/utils": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.3.tgz", + "integrity": "sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@parcel/codeframe": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/hash": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/markdown-ansi": "2.8.3", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0" } }, - "@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 + "@parcel/watcher": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.1.0.tgz", + "integrity": "sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw==", + "dev": true, + "requires": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + } }, - "@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==", + "@parcel/workers": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.3.tgz", + "integrity": "sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@parcel/diagnostic": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/types": "2.8.3", + "@parcel/utils": "2.8.3", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" } }, "@polka/url": { @@ -21779,6 +26163,15 @@ "webpack-bundle-analyzer": "^4.4.2" } }, + "@swc/helpers": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", + "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "dev": true, + "requires": { + "tslib": "^2.4.0" + } + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -22019,19 +26412,11 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "@types/libsodium-wrappers": { + "@types/libsodium-wrappers-sumo": { "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" }, - "@types/libsodium-wrappers-sumo": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz", - "integrity": "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==", - "requires": { - "@types/libsodium-wrappers": "*" - } - }, "@types/lodash": { "version": "4.14.191", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", @@ -22329,6 +26714,12 @@ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, + "abortcontroller-polyfill": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", + "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", + "dev": true + }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -22890,6 +27281,15 @@ } } }, + "base-x": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", + "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -22934,6 +27334,17 @@ "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } } }, "blake3": { @@ -23111,12 +27522,12 @@ } }, "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "buffer-from": { @@ -24133,6 +28544,12 @@ "minimalistic-assert": "^1.0.0" } }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -24234,6 +28651,18 @@ "domhandler": "^4.2.0" } }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -25679,6 +30108,12 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, + "get-port": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", + "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "dev": true + }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", @@ -25968,6 +30403,26 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" + }, + "dependencies": { + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + } + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -26294,6 +30749,12 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, + "is-json": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", + "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", + "dev": true + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -28274,28 +32735,101 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + }, + "libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "requires": { + "libsodium-sumo": "^0.7.0" + } + }, + "lightningcss": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.20.0.tgz", + "integrity": "sha512-4bj8aP+Vi+or8Gwq/hknmicr4PmA8D9uL/3qY0N0daX5vYBMYERGI6Y93nzoeRgQMULq+gtrN/FvJYtH0xNN8g==", + "dev": true, + "requires": { + "detect-libc": "^1.0.3", + "lightningcss-darwin-arm64": "1.20.0", + "lightningcss-darwin-x64": "1.20.0", + "lightningcss-linux-arm-gnueabihf": "1.20.0", + "lightningcss-linux-arm64-gnu": "1.20.0", + "lightningcss-linux-arm64-musl": "1.20.0", + "lightningcss-linux-x64-gnu": "1.20.0", + "lightningcss-linux-x64-musl": "1.20.0", + "lightningcss-win32-x64-msvc": "1.20.0" + } + }, + "lightningcss-darwin-arm64": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.20.0.tgz", + "integrity": "sha512-aYEohJTlzwB8URJaNiS57tMbjyLub0mYvxlxKQk8SZv+irXx6MoBWpDNQKKTS9gg1pGf/eAwjpa3BLAoCBsh1A==", + "dev": true, + "optional": true + }, + "lightningcss-darwin-x64": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.20.0.tgz", + "integrity": "sha512-cmMgY8FFWVaGgtift7eKKkHMqlz9O09/yTdlCXEDOeDP9yeo6vHOBTRP7ojb368kjw8Ew3l0L2uT1Gtx56eNkg==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm-gnueabihf": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.20.0.tgz", + "integrity": "sha512-/m+NDO1O6JCv7R9F0XWlXcintQHx4MPNU+kt8jZJO07LLdGwCfvjN31GVcwVPlStnnx/cU8uTTmax6g/Qu/whg==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm64-gnu": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.20.0.tgz", + "integrity": "sha512-gtXoa6v0HvMRLbev6Hsef0+Q5He7NslB+Rs7G49Y5LUSdJeGIATEN+j8JzHC0DnxCsOGbEgGRmvtJzzYDkkluw==", + "dev": true, + "optional": true + }, + "lightningcss-linux-arm64-musl": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.20.0.tgz", + "integrity": "sha512-Po7XpucM1kZnkiyd2BNwTExSDcZ8jm8uB9u+Sq44qjpkf5f75jreQwn3DQm9I1t5C6tB9HGt30HExMju9umJBQ==", + "dev": true, + "optional": true + }, + "lightningcss-linux-x64-gnu": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.20.0.tgz", + "integrity": "sha512-8yR/fGNn/P0I+Lc3PK+VWPET/zdSpBfHFIG0DJ38TywMbItVKvnFvoTBwnIm4LqBz7g2G2dDexnNP95za2Ll8g==", + "dev": true, + "optional": true }, - "libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + "lightningcss-linux-x64-musl": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.20.0.tgz", + "integrity": "sha512-EmpJ+VkPZ8RACiB4m+l8TmapmE1W2UvJKDHE+ML/3Ihr9tRKUs3CibfnQTFZC8aSsrxgXagDAN+PgCDDhIyriA==", + "dev": true, + "optional": true }, - "libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", - "requires": { - "libsodium-sumo": "^0.7.0" - } + "lightningcss-win32-x64-msvc": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.20.0.tgz", + "integrity": "sha512-BRdPvbq7Cc1qxAzp2emqWJHrqsEkf4ggxS29VOnxT7jhkdHKU+a26OVMjvm/OL0NH0ToNOZNAPvHMSexiEgBeA==", + "dev": true, + "optional": true }, "lilconfig": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz", - "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true }, "lines-and-columns": { @@ -28304,6 +32838,33 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "lmdb": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", + "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", + "dev": true, + "requires": { + "@lmdb/lmdb-darwin-arm64": "2.5.2", + "@lmdb/lmdb-darwin-x64": "2.5.2", + "@lmdb/lmdb-linux-arm": "2.5.2", + "@lmdb/lmdb-linux-arm64": "2.5.2", + "@lmdb/lmdb-linux-x64": "2.5.2", + "@lmdb/lmdb-win32-x64": "2.5.2", + "msgpackr": "^1.5.4", + "node-addon-api": "^4.3.0", + "node-gyp-build-optional-packages": "5.0.3", + "ordered-binary": "^1.2.4", + "weak-lru-cache": "^1.2.2" + }, + "dependencies": { + "node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "dev": true + } + } + }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -28835,6 +33396,40 @@ "safe-buffer": "^5.1.2" } }, + "msgpackr": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.1.tgz", + "integrity": "sha512-jJdrNH8tzfCtT0rjPFryBXjRDQE7rqfLkah4/8B4gYa7NNZYFBcGxqWBtfQpGC+oYyBwlkj3fARk4aooKNPHxg==", + "dev": true, + "requires": { + "msgpackr-extract": "^3.0.2" + } + }, + "msgpackr-extract": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", + "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "dev": true, + "optional": true, + "requires": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2", + "node-gyp-build-optional-packages": "5.0.7" + }, + "dependencies": { + "node-gyp-build-optional-packages": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", + "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "dev": true, + "optional": true + } + } + }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -28901,6 +33496,12 @@ "tslib": "^2.0.3" } }, + "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-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -28910,6 +33511,18 @@ "minimatch": "^3.0.2" } }, + "node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "dev": true + }, + "node-gyp-build-optional-packages": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", + "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==", + "dev": true + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -29002,458 +33615,492 @@ } } }, - "node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", - "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" - }, - "dependencies": { - "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, - "optional": true, - "peer": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "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, - "optional": true, - "peer": true - } - } - }, - "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" - }, - "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, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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 - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "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, - "requires": { - "path-key": "^3.0.0" - } - }, - "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, - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "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 - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "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 - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "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, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "optimize-css-assets-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", - "dev": true, - "requires": { - "cssnano": "^5.0.2", - "last-call-webpack-plugin": "^3.0.0", - "postcss": "^8.2.1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "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 - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true - }, - "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, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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, - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "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, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "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 - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } + "node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + }, + "dependencies": { + "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, + "optional": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "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, + "optional": true, + "peer": true + } + } + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "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, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "dev": true + }, + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "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 + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "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 + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "dev": true, + "requires": { + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "ordered-binary": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.0.tgz", + "integrity": "sha512-EHQ/jk4/a9hLupIKxTfUsQRej1Yd/0QLQs3vGvIqg5ZtCYSzNhkzHoZc7Zf4e4kUlDaC3Uw8Q/1opOLNN2OKRQ==", + "dev": true + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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 + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "parcel": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.8.3.tgz", + "integrity": "sha512-5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA==", + "dev": true, + "requires": { + "@parcel/config-default": "2.8.3", + "@parcel/core": "2.8.3", + "@parcel/diagnostic": "2.8.3", + "@parcel/events": "2.8.3", + "@parcel/fs": "2.8.3", + "@parcel/logger": "2.8.3", + "@parcel/package-manager": "2.8.3", + "@parcel/reporter-cli": "2.8.3", + "@parcel/reporter-dev-server": "2.8.3", + "@parcel/utils": "2.8.3", + "chalk": "^4.1.0", + "commander": "^7.0.0", + "get-port": "^4.2.0", + "v8-compile-cache": "^2.0.0" } }, "parent-module": { @@ -29948,6 +34595,45 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "requires": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "dependencies": { + "posthtml-parser": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", + "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "dev": true, + "requires": { + "htmlparser2": "^7.1.1" + } + } + } + }, + "posthtml-parser": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", + "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "dev": true, + "requires": { + "htmlparser2": "^7.1.1" + } + }, + "posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "requires": { + "is-json": "^2.0.1" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -30248,12 +34934,24 @@ "safe-buffer": "^5.1.0" } }, + "react-error-overlay": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", + "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", + "dev": true + }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "react-refresh": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", + "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "dev": true + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -31580,6 +36278,12 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "dev": true + }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", @@ -32035,6 +36739,12 @@ "rimraf": "~2.6.2" } }, + "term-size": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "dev": true + }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -32174,6 +36884,12 @@ "setimmediate": "^1.0.4" } }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", + "dev": true + }, "tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -34775,6 +39491,12 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "utility-types": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", + "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "dev": true + }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -35161,6 +39883,12 @@ "defaults": "^1.0.3" } }, + "weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true + }, "weak-map": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", @@ -35586,6 +40314,12 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, + "xxhash-wasm": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", + "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==", + "dev": true + }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", diff --git a/package.json b/package.json index 9daaff82..40088060 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "name": "signify-ts", "author": "Phil Feairheller", - "module": "dist/signify-ts.js", + "module": "dist/signify-ts.esm.js", "size-limit": [ { "path": "dist/signify-ts.cjs.production.min.js", @@ -56,6 +56,7 @@ "dependencies": { "@types/libsodium-wrappers-sumo": "^0.7.5", "blake3": "^2.1.7", + "buffer": "^6.0.3", "cbor": "^8.0.0", "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", diff --git a/src/index.ts b/src/index.ts index 15cbb7db..1ac37c24 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,16 @@ +import _sodium from 'libsodium-wrappers-sumo'; + +export const ready = (async () => { + await _sodium.ready; +}) export * from './keri/core/salter' export * from './keri/core/matter' -export * from './keri/app/habery' \ No newline at end of file +export * from './keri/app/habery' +export * from './keri/app/signify' + +import { Buffer } from 'buffer'; + +// @ts-ignore +window.Buffer = Buffer; \ No newline at end of file diff --git a/src/keri/app/accountant.ts b/src/keri/app/accountant.ts deleted file mode 100644 index c2c437b8..00000000 --- a/src/keri/app/accountant.ts +++ /dev/null @@ -1,35 +0,0 @@ -import {Manager} from "../core/manager"; - - -export class Accountant { - private readonly _agentKey: string - private readonly _mgr: Manager - private readonly _ready: Promise - - /* - * Accountant is responsible for managing signing keys for the client and agent. The client - * signing key represents the Account for the client on the agent - * - */ - constructor(mgr: Manager, agentKey: string) { - this._mgr = mgr - this._agentKey = agentKey - this._ready = new Promise(()=>{}) - } - - get ready(): Promise { - return this._ready - } - - - sign() { - return this._mgr - - } - - verify() { - return this._agentKey - } - - -} \ No newline at end of file diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts new file mode 100644 index 00000000..350d13cb --- /dev/null +++ b/src/keri/app/controller.ts @@ -0,0 +1,65 @@ +import {SaltyCreator} from "../core/manager"; +import {Salter, Tier} from "../core/salter"; +import {MtrDex} from "../core/matter"; +import {Diger} from "../core/diger"; +import {incept} from "../core/eventing"; +import {Serder} from "../core/serder"; +import {Signer} from "../core/signer"; +import {Verfer} from "../core/verfer"; + + +export class Controller { + /* + * Controller is responsible for managing signing keys for the client and agent. The client + * signing key represents the Account for the client on the agent + * + */ + private bran: string; + private stem: string; + private salter: any; + private signer: any; + private nsigner: any; + private serder: Serder; + + constructor(bran: string, tier: Tier, ridx: number = 0) { + this.bran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed + this.stem = "signify:controller" + + this.salter = new Salter({qb64: this.bran}) + + let creator = new SaltyCreator(this.salter.qb64, tier, this.stem) + + this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx, 0, false).signers.pop() + this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx+1, 0, false).signers.pop() + + let verfers = Array.from(this.signer, (signer: Signer) => signer.verfer) + let digers = Array.from(this.nsigner, (signer: Signer) => new Diger({code: MtrDex.Blake3_256}, signer.verfer.qb64b)) + + let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) + let ndigs = Array.from(digers, (diger: Diger) => diger.qb64) + + this.serder = incept({ + keys: keys, + isith: "1", + nsith: "1", + ndigs: ndigs, + code: MtrDex.Blake3_256, + toad: "0", + wits: []}) + console.log(this.serder.ked) + + } + + get pre(): string { + return this.serder.pre + } + + get event() { + let siger = this.signer.sign(this.serder.raw, 0) + return [this.serder, siger] + } + + get verfers(): [] { + return this.signer.verfer() + } +} \ No newline at end of file diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 6e8a4dfd..fd76eef6 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,12 +1,60 @@ -import {Habery} from "./habery"; -import {Accountant} from "./accountant"; -import {Client} from "./client"; +import {Controller} from "./controller"; +import {Tier} from "../core/salter"; +import {Authenticater} from "../core/authing"; -export class Signify { - private readonly _hby?: Habery - private readonly _act?: Accountant - private readonly _client?: Client - constructor(url:string, name:string, passcode: string) { +export class SignifyClient { + private readonly _ctrl?: Controller + private url: string; + private bran: string; + private pidx: number; + private agent: any; + private authn: any; + private ctrl: any; + + constructor(url:string, bran:string) { + this.url = url; + + if (bran.length != 21) { + throw Error("bran must be 21 characters") + } + this.bran = bran; + + this.pidx = 0; + this._ctrl = new Controller(bran, Tier.low) + + } + + connect() { + let state = this.state() + this.pidx = state.pidx + //Create controller representing local auth AID + this.ctrl.ridx = state.ridx != undefined ? state.ridx : 0 + + // Create agent representing the AID of the cloud agent + // this.agent = Agent(kel=state.kel) + + if (this.agent.anchor != this.ctrl.pre) { + throw Error("commitment to controller AID missing in agent inception event") + } + + this.authn = new Authenticater(this.agent, this.ctrl) + // this.session.auth = new SignifyAuth(this.authn) + + } + + get controller() { + return this._ctrl + } + + get data() { + return [this.url, this.bran, this.pidx, this.authn] + } + + private state() { + return { + pidx: 0, + ridx: 0 + } } } \ No newline at end of file diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 7c45a2c6..ab2c098d 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,4 +1,4 @@ -import {TextEncoder, TextDecoder} from 'util' +// import {TextEncoder, TextDecoder} from 'util' export enum Serials { JSON = "JSON", @@ -151,7 +151,7 @@ export function b64ToInt(s: string): number { } let i = 0 - let rev = [...s].reverse() + let rev = s.split("").reverse() rev.forEach((c: string, e: number) => { i |= B64IdxByChr.get(c)! << (e * 6) }) diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index 69a45b0f..111a7af8 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -1,4 +1,4 @@ -import {createHash} from "blake3" +import {createHash} from "blake3/browser" import {Matter, MatterArgs, MtrDex} from './matter'; diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index c4e67ce6..11e5bf08 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -4,7 +4,7 @@ import {Dict, Ilks} from "./core"; import {sizeify} from "./serder"; import {Verfer} from "./verfer"; -import {createHash} from "blake3" +import {createHash} from "blake3/browser" const Dummy: string = "#" diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts index 6ccfc06f..ee16e7c7 100644 --- a/src/keri/core/saider.ts +++ b/src/keri/core/saider.ts @@ -3,7 +3,7 @@ import {deversify, Dict, Serials} from "./core"; import {EmptyMaterialError} from "./kering"; import {dumps, sizeify} from "./serder"; -import {createHash} from "blake3" +import {createHash} from "blake3/browser" const Dummy = "#" diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts index 8b58e234..28b47673 100644 --- a/src/keri/core/serder.ts +++ b/src/keri/core/serder.ts @@ -27,6 +27,10 @@ export class Serder { this._version = version } + get pre(): string { + return this._ked['i'] + } + get ked(): Dict { return this._ked } diff --git a/src/keri/core/tsconfig.json b/src/keri/core/tsconfig.json index 96466e14..ab5a6e85 100644 --- a/src/keri/core/tsconfig.json +++ b/src/keri/core/tsconfig.json @@ -11,7 +11,7 @@ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ /* Language and Environment */ - "target": "ESNext", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + "target": "ES2022", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ // "jsx": "preserve", /* Specify what JSX code is generated. */ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ diff --git a/test/app/accountant.test.ts b/test/app/accountant.test.ts index 31a606ed..d7229535 100644 --- a/test/app/accountant.test.ts +++ b/test/app/accountant.test.ts @@ -1,4 +1,4 @@ -import {Accountant} from "../../src/keri/app/accountant"; +import {Controller} from "../../src/keri/app/controller"; import {strict as assert} from "assert"; import libsodium from "libsodium-wrappers-sumo"; import {openManager} from "../../src/keri/core/manager"; @@ -21,7 +21,7 @@ describe('Accountant', () => { // New account needed. Send to remote my name and encryption pubk and get back // their pubk and and my encrypted account package // let pkg = {} - let accountant = new Accountant(mgr, agentKey) + let accountant = new Controller(mgr, agentKey) assert.notEqual(accountant, undefined) }) }) \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index fc5cf3f9..0c489ae7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -32,5 +32,6 @@ "forceConsistentCasingInFileNames": true, // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc` "noEmit": true, + "resolveJsonModule": true, } } From 1a1a0207a8d6ac4b439796d0227d7fc95d23876b Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 8 May 2023 13:40:16 -0700 Subject: [PATCH 017/463] Example client starter app in examples/. Created with Vite using React and TS. --- examples/signify-react-ts/.eslintrc.cjs | 14 + examples/signify-react-ts/.gitignore | 24 + examples/signify-react-ts/index.html | 13 + examples/signify-react-ts/package-lock.json | 4635 +++++++++++++++++ examples/signify-react-ts/package.json | 30 + examples/signify-react-ts/public/vite.svg | 1 + examples/signify-react-ts/src/App.css | 42 + examples/signify-react-ts/src/App.tsx | 47 + .../signify-react-ts/src/assets/react.svg | 1 + examples/signify-react-ts/src/index.css | 69 + examples/signify-react-ts/src/main.tsx | 10 + examples/signify-react-ts/src/vite-env.d.ts | 1 + examples/signify-react-ts/tsconfig.json | 24 + examples/signify-react-ts/tsconfig.node.json | 10 + examples/signify-react-ts/vite.config.ts | 8 + examples/signify-react-ts/yarn.lock | 1732 ++++++ 16 files changed, 6661 insertions(+) create mode 100644 examples/signify-react-ts/.eslintrc.cjs create mode 100644 examples/signify-react-ts/.gitignore create mode 100644 examples/signify-react-ts/index.html create mode 100644 examples/signify-react-ts/package-lock.json create mode 100644 examples/signify-react-ts/package.json create mode 100644 examples/signify-react-ts/public/vite.svg create mode 100644 examples/signify-react-ts/src/App.css create mode 100644 examples/signify-react-ts/src/App.tsx create mode 100644 examples/signify-react-ts/src/assets/react.svg create mode 100644 examples/signify-react-ts/src/index.css create mode 100644 examples/signify-react-ts/src/main.tsx create mode 100644 examples/signify-react-ts/src/vite-env.d.ts create mode 100644 examples/signify-react-ts/tsconfig.json create mode 100644 examples/signify-react-ts/tsconfig.node.json create mode 100644 examples/signify-react-ts/vite.config.ts create mode 100644 examples/signify-react-ts/yarn.lock diff --git a/examples/signify-react-ts/.eslintrc.cjs b/examples/signify-react-ts/.eslintrc.cjs new file mode 100644 index 00000000..4020bcbf --- /dev/null +++ b/examples/signify-react-ts/.eslintrc.cjs @@ -0,0 +1,14 @@ +module.exports = { + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:react-hooks/recommended', + ], + parser: '@typescript-eslint/parser', + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + plugins: ['react-refresh'], + rules: { + 'react-refresh/only-export-components': 'warn', + }, +} diff --git a/examples/signify-react-ts/.gitignore b/examples/signify-react-ts/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/examples/signify-react-ts/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples/signify-react-ts/index.html b/examples/signify-react-ts/index.html new file mode 100644 index 00000000..e0d1c840 --- /dev/null +++ b/examples/signify-react-ts/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json new file mode 100644 index 00000000..338d08d2 --- /dev/null +++ b/examples/signify-react-ts/package-lock.json @@ -0,0 +1,4635 @@ +{ + "name": "swagger-ui-signify", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "swagger-ui-signify", + "version": "0.0.0", + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "signify-ts": "file:../signify-ts" + }, + "devDependencies": { + "@types/react": "^18.0.28", + "@types/react-dom": "^18.0.11", + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "typescript": "^5.0.2", + "vite": "^4.3.2", + "vite-plugin-wasm": "^3.2.2" + } + }, + "../signify-ts": { + "version": "0.1.1", + "license": "Apache-2.0", + "dependencies": { + "@types/libsodium-wrappers-sumo": "^0.7.5", + "blake3": "^2.1.7", + "buffer": "^6.0.3", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "structured-headers": "^0.5.0", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", + "@types/urlsafe-base64": "^1.0.28", + "husky": "^7.0.2", + "jest": "^29.3.1", + "parcel": "^2.8.3", + "size-limit": "^5.0.4", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.9.4" + } + }, + "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, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.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-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT" + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/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, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/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, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "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, + "license": "MIT", + "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.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "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/js": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", + "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.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, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "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, + "license": "MIT", + "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/gen-mapping/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, + "license": "MIT" + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz", + "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz", + "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", + "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "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.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "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.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" + }, + "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.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", + "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "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.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", + "dev": true, + "license": "MIT", + "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.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", + "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": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", + "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "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/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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "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/@vitejs/plugin-react": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz", + "integrity": "sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.4", + "@babel/plugin-transform-react-jsx-self": "^7.21.0", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "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, + "license": "MIT", + "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/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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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, + "license": "Python-2.0" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", + "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" + } + ], + "license": "CC-BY-4.0" + }, + "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, + "license": "MIT", + "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/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, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": 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, + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", + "dev": true, + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", + "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "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-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "license": "BSD-2-Clause", + "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-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.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/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "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, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "license": "MIT", + "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-glob/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, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true, + "license": "ISC" + }, + "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, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.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, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "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, + "license": "ISC", + "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": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "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/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "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, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "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, + "license": "ISC", + "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, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "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==", + "license": "MIT" + }, + "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, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "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, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "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, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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, + "license": "MIT" + }, + "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" + } + ], + "license": "MIT", + "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, + "license": "MIT" + }, + "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, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true, + "license": "MIT" + }, + "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, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "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, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "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, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.21.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz", + "integrity": "sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signify-ts": { + "resolved": "../signify-ts", + "link": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "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, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "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, + "license": "MIT" + }, + "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, + "license": "MIT", + "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, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "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, + "license": "0BSD" + }, + "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, + "license": "MIT", + "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/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, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "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" + } + ], + "license": "MIT", + "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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", + "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-wasm": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.2.2.tgz", + "integrity": "sha512-cdbBUNR850AEoMd5nvLmnyeq63CSfoP1ctD/L2vLk/5+wsgAPlAVAzUK5nGKWO/jtehNlrSSHLteN+gFQw7VOA==", + "dev": true, + "peerDependencies": { + "vite": "^2 || ^3 || ^4" + } + }, + "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, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "ISC" + }, + "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, + "license": "ISC" + }, + "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, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@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, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", + "dev": true + }, + "@babel/core": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", + "dev": true, + "requires": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "dependencies": { + "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, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.4" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "requires": { + "@babel/types": "^7.21.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "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 + } + } + }, + "@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@esbuild/darwin-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", + "dev": true, + "optional": true + }, + "@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, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", + "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@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 + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@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, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@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 + } + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@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 + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", + "dev": true + }, + "@types/react": { + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz", + "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==", + "dev": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz", + "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", + "dev": true + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", + "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", + "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", + "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vitejs/plugin-react": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz", + "integrity": "sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==", + "dev": true, + "requires": { + "@babel/core": "^7.21.4", + "@babel/plugin-transform-react-jsx-self": "^7.21.0", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "react-refresh": "^0.14.0" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "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, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.385", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz", + "integrity": "sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg==", + "dev": true + }, + "esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "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 + }, + "eslint": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", + "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "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", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "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.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "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 + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "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, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "reusify": "^1.0.4" + } + }, + "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, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "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 + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "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 + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "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 + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "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, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "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 + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "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, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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 + }, + "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 + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "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, + "requires": { + "p-locate": "^5.0.0" + } + }, + "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 + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "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 + }, + "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 + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "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-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^3.0.2" + } + }, + "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, + "requires": { + "callsites": "^3.0.0" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "dev": true, + "requires": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "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 + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "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 + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "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 + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "3.21.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz", + "integrity": "sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "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, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "signify-ts": { + "version": "file:../signify-ts", + "requires": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", + "@types/urlsafe-base64": "^1.0.28", + "blake3": "^2.1.7", + "buffer": "^6.0.3", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "husky": "^7.0.2", + "jest": "^29.3.1", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "parcel": "^2.8.3", + "size-limit": "^5.0.4", + "structured-headers": "^0.5.0", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.9.4", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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 + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "vite": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", + "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", + "dev": true, + "requires": { + "esbuild": "^0.17.5", + "fsevents": "~2.3.2", + "postcss": "^8.4.23", + "rollup": "^3.21.0" + } + }, + "vite-plugin-wasm": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.2.2.tgz", + "integrity": "sha512-cdbBUNR850AEoMd5nvLmnyeq63CSfoP1ctD/L2vLk/5+wsgAPlAVAzUK5nGKWO/jtehNlrSSHLteN+gFQw7VOA==", + "dev": true, + "requires": {} + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "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 + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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 + } + } +} diff --git a/examples/signify-react-ts/package.json b/examples/signify-react-ts/package.json new file mode 100644 index 00000000..93b1fff1 --- /dev/null +++ b/examples/signify-react-ts/package.json @@ -0,0 +1,30 @@ +{ + "name": "signify-react-ts", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "signify-ts": "file:../../" + }, + "devDependencies": { + "@types/react": "^18.0.28", + "@types/react-dom": "^18.0.11", + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "@vitejs/plugin-react": "^4.0.0", + "eslint": "^8.38.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "typescript": "^5.0.2", + "vite": "^4.3.2", + "vite-plugin-wasm": "^3.2.2" + } +} diff --git a/examples/signify-react-ts/public/vite.svg b/examples/signify-react-ts/public/vite.svg new file mode 100644 index 00000000..e7b8dfb1 --- /dev/null +++ b/examples/signify-react-ts/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/signify-react-ts/src/App.css b/examples/signify-react-ts/src/App.css new file mode 100644 index 00000000..b9d355df --- /dev/null +++ b/examples/signify-react-ts/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx new file mode 100644 index 00000000..d2f1bcea --- /dev/null +++ b/examples/signify-react-ts/src/App.tsx @@ -0,0 +1,47 @@ +import {useState} from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import {SignifyClient, ready} from "signify-ts"; + +function App() { + const [pre, setPre] = useState("") + const [icp, setICP] = useState("") + + let data = "" + ready().then(() => { + const client = new SignifyClient("http://localhost:3902", "0123456789abcdefghijk") + console.log("we have a signify client", client.controller?.pre) + setPre(client.controller?.pre) + data = client.controller?.event + }) + + return ( + <> + +

Vite + React + Signify

+
+ +

+ {icp} +

+
+

+ Click on the Vite and React logos to learn more +

+ + ) +} + +export default App diff --git a/examples/signify-react-ts/src/assets/react.svg b/examples/signify-react-ts/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/examples/signify-react-ts/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/signify-react-ts/src/index.css b/examples/signify-react-ts/src/index.css new file mode 100644 index 00000000..2c3fac68 --- /dev/null +++ b/examples/signify-react-ts/src/index.css @@ -0,0 +1,69 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/examples/signify-react-ts/src/main.tsx b/examples/signify-react-ts/src/main.tsx new file mode 100644 index 00000000..91c03f3f --- /dev/null +++ b/examples/signify-react-ts/src/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.tsx' +import './index.css' + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + , +) diff --git a/examples/signify-react-ts/src/vite-env.d.ts b/examples/signify-react-ts/src/vite-env.d.ts new file mode 100644 index 00000000..11f02fe2 --- /dev/null +++ b/examples/signify-react-ts/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/examples/signify-react-ts/tsconfig.json b/examples/signify-react-ts/tsconfig.json new file mode 100644 index 00000000..c81ef9f3 --- /dev/null +++ b/examples/signify-react-ts/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/examples/signify-react-ts/tsconfig.node.json b/examples/signify-react-ts/tsconfig.node.json new file mode 100644 index 00000000..42872c59 --- /dev/null +++ b/examples/signify-react-ts/tsconfig.node.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/examples/signify-react-ts/vite.config.ts b/examples/signify-react-ts/vite.config.ts new file mode 100644 index 00000000..f35af5b2 --- /dev/null +++ b/examples/signify-react-ts/vite.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import wasm from "vite-plugin-wasm"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react(), wasm()], +}) diff --git a/examples/signify-react-ts/yarn.lock b/examples/signify-react-ts/yarn.lock new file mode 100644 index 00000000..3ab9ea79 --- /dev/null +++ b/examples/signify-react-ts/yarn.lock @@ -0,0 +1,1732 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.21.5": + version "7.21.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz" + integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== + +"@babel/core@^7.21.4": + version "7.21.8" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz" + integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-compilation-targets" "^7.21.5" + "@babel/helper-module-transforms" "^7.21.5" + "@babel/helpers" "^7.21.5" + "@babel/parser" "^7.21.8" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/generator@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz" + integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== + dependencies: + "@babel/types" "^7.21.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz" + integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== + dependencies: + "@babel/compat-data" "^7.21.5" + "@babel/helper-validator-option" "^7.21.0" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-environment-visitor@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz" + integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== + +"@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== + dependencies: + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" + +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-module-imports@^7.21.4": + version "7.21.4" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" + integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== + dependencies: + "@babel/types" "^7.21.4" + +"@babel/helper-module-transforms@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz" + integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== + dependencies: + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-module-imports" "^7.21.4" + "@babel/helper-simple-access" "^7.21.5" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + +"@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" + integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== + +"@babel/helper-simple-access@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" + integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== + dependencies: + "@babel/types" "^7.21.5" + +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== + dependencies: + "@babel/types" "^7.18.6" + +"@babel/helper-string-parser@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz" + integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/helpers@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz" + integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.5" + "@babel/types" "^7.21.5" + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8": + version "7.21.8" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz" + integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== + +"@babel/plugin-transform-react-jsx-self@^7.21.0": + version "7.21.0" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz" + integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA== + dependencies: + "@babel/helper-plugin-utils" "^7.20.2" + +"@babel/plugin-transform-react-jsx-source@^7.19.6": + version "7.19.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz" + integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + +"@babel/runtime-corejs3@^7.16.5": + version "7.21.5" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.21.5.tgz#a6d4e132ab1cb2fae2354f02284ebb6e07b4f7d8" + integrity sha512-FRqFlFKNazWYykft5zvzuEl1YyTDGsIRrjV9rvxvYkUC7W/ueBng1X68Xd6uRMzAaJ0xMKn08/wem5YS1lpX8w== + dependencies: + core-js-pure "^3.25.1" + regenerator-runtime "^0.13.11" + +"@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== + dependencies: + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + +"@babel/traverse@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz" + integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== + dependencies: + "@babel/code-frame" "^7.21.4" + "@babel/generator" "^7.21.5" + "@babel/helper-environment-visitor" "^7.21.5" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.5" + "@babel/types" "^7.21.5" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5": + version "7.21.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz" + integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== + dependencies: + "@babel/helper-string-parser" "^7.21.5" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + +"@esbuild/android-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz#4aa8d8afcffb4458736ca9b32baa97d7cb5861ea" + integrity sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw== + +"@esbuild/android-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.18.tgz#74a7e95af4ee212ebc9db9baa87c06a594f2a427" + integrity sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw== + +"@esbuild/android-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.18.tgz#1dcd13f201997c9fe0b204189d3a0da4eb4eb9b6" + integrity sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg== + +"@esbuild/darwin-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz" + integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ== + +"@esbuild/darwin-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz#a6da308d0ac8a498c54d62e0b2bfb7119b22d315" + integrity sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A== + +"@esbuild/freebsd-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz#b83122bb468889399d0d63475d5aea8d6829c2c2" + integrity sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA== + +"@esbuild/freebsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz#af59e0e03fcf7f221b34d4c5ab14094862c9c864" + integrity sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew== + +"@esbuild/linux-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz#8551d72ba540c5bce4bab274a81c14ed01eafdcf" + integrity sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ== + +"@esbuild/linux-arm@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz#e09e76e526df4f665d4d2720d28ff87d15cdf639" + integrity sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg== + +"@esbuild/linux-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz#47878860ce4fe73a36fd8627f5647bcbbef38ba4" + integrity sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ== + +"@esbuild/linux-loong64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz#3f8fbf5267556fc387d20b2e708ce115de5c967a" + integrity sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ== + +"@esbuild/linux-mips64el@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz#9d896d8f3c75f6c226cbeb840127462e37738226" + integrity sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA== + +"@esbuild/linux-ppc64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz#3d9deb60b2d32c9985bdc3e3be090d30b7472783" + integrity sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ== + +"@esbuild/linux-riscv64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz#8a943cf13fd24ff7ed58aefb940ef178f93386bc" + integrity sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA== + +"@esbuild/linux-s390x@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz#66cb01f4a06423e5496facabdce4f7cae7cb80e5" + integrity sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw== + +"@esbuild/linux-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz#23c26050c6c5d1359c7b774823adc32b3883b6c9" + integrity sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA== + +"@esbuild/netbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz#789a203d3115a52633ff6504f8cbf757f15e703b" + integrity sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg== + +"@esbuild/openbsd-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz#d7b998a30878f8da40617a10af423f56f12a5e90" + integrity sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA== + +"@esbuild/sunos-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz#ecad0736aa7dae07901ba273db9ef3d3e93df31f" + integrity sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg== + +"@esbuild/win32-arm64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz#58dfc177da30acf956252d7c8ae9e54e424887c4" + integrity sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg== + +"@esbuild/win32-ia32@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz#340f6163172b5272b5ae60ec12c312485f69232b" + integrity sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw== + +"@esbuild/win32-x64@0.17.18": + version "0.17.18" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz#3a8e57153905308db357fd02f57c180ee3a0a1fa" + integrity sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.5.2" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.40.0": + version "8.40.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz" + integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@types/json-schema@^7.0.9": + version "7.0.11" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/libsodium-wrappers-sumo@^0.7.5": + version "0.7.5" + resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz#c5191fc28d44edd39583552bd1855f6b7b77ca88" + integrity sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw== + dependencies: + "@types/libsodium-wrappers" "*" + +"@types/libsodium-wrappers@*": + version "0.7.10" + resolved "https://registry.yarnpkg.com/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz#a6ebde70d3b4af960fd802af8d0e3c7cfe281eb2" + integrity sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA== + +"@types/prop-types@*": + version "15.7.5" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" + integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + +"@types/react-dom@^18.0.11": + version "18.2.4" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz" + integrity sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^18.0.28": + version "18.2.6" + resolved "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz" + integrity sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.3" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" + integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + +"@types/semver@^7.3.12": + version "7.3.13" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" + integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== + +"@typescript-eslint/eslint-plugin@^5.57.1": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz" + integrity sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.59.2" + "@typescript-eslint/type-utils" "5.59.2" + "@typescript-eslint/utils" "5.59.2" + debug "^4.3.4" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/parser@^5.57.1": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz" + integrity sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ== + dependencies: + "@typescript-eslint/scope-manager" "5.59.2" + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/typescript-estree" "5.59.2" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz" + integrity sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA== + dependencies: + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/visitor-keys" "5.59.2" + +"@typescript-eslint/type-utils@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz" + integrity sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ== + dependencies: + "@typescript-eslint/typescript-estree" "5.59.2" + "@typescript-eslint/utils" "5.59.2" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz" + integrity sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w== + +"@typescript-eslint/typescript-estree@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz" + integrity sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q== + dependencies: + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/visitor-keys" "5.59.2" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz" + integrity sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.59.2" + "@typescript-eslint/types" "5.59.2" + "@typescript-eslint/typescript-estree" "5.59.2" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.59.2": + version "5.59.2" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz" + integrity sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig== + dependencies: + "@typescript-eslint/types" "5.59.2" + eslint-visitor-keys "^3.3.0" + +"@vitejs/plugin-react@^4.0.0": + version "4.0.0" + resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz" + integrity sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ== + dependencies: + "@babel/core" "^7.21.4" + "@babel/plugin-transform-react-jsx-self" "^7.21.0" + "@babel/plugin-transform-react-jsx-source" "^7.19.6" + react-refresh "^0.14.0" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + 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== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bl@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +blake3@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/blake3/-/blake3-2.1.7.tgz#449a1359448b582a650e854f193880d3861bca7a" + integrity sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.3: + version "4.21.5" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001449: + version "1.0.30001486" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz" + integrity sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg== + +cbor@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +collections@^5.1.12: + version "5.1.13" + resolved "https://registry.yarnpkg.com/collections/-/collections-5.1.13.tgz#eee204a93b67473c8e74e00e934a997cc2817585" + integrity sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg== + dependencies: + weak-map "~1.0.x" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +convert-source-map@^1.7.0: + 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== + +core-js-pure@^3.25.1: + version "3.30.2" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.2.tgz#005a82551f4af3250dcfb46ed360fad32ced114e" + integrity sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg== + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +csstype@^3.0.2: + version "3.1.2" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-is@^0.1.3: + 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== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +electron-to-chromium@^1.4.284: + version "1.4.385" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz" + integrity sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg== + +esbuild@^0.17.5: + version "0.17.18" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz" + integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w== + optionalDependencies: + "@esbuild/android-arm" "0.17.18" + "@esbuild/android-arm64" "0.17.18" + "@esbuild/android-x64" "0.17.18" + "@esbuild/darwin-arm64" "0.17.18" + "@esbuild/darwin-x64" "0.17.18" + "@esbuild/freebsd-arm64" "0.17.18" + "@esbuild/freebsd-x64" "0.17.18" + "@esbuild/linux-arm" "0.17.18" + "@esbuild/linux-arm64" "0.17.18" + "@esbuild/linux-ia32" "0.17.18" + "@esbuild/linux-loong64" "0.17.18" + "@esbuild/linux-mips64el" "0.17.18" + "@esbuild/linux-ppc64" "0.17.18" + "@esbuild/linux-riscv64" "0.17.18" + "@esbuild/linux-s390x" "0.17.18" + "@esbuild/linux-x64" "0.17.18" + "@esbuild/netbsd-x64" "0.17.18" + "@esbuild/openbsd-x64" "0.17.18" + "@esbuild/sunos-x64" "0.17.18" + "@esbuild/win32-arm64" "0.17.18" + "@esbuild/win32-ia32" "0.17.18" + "@esbuild/win32-x64" "0.17.18" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-plugin-react-hooks@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react-refresh@^0.3.4: + version "0.3.5" + resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz" + integrity sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA== + +eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint@^8.38.0: + version "8.40.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz" + integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.40.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + 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.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + 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" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + 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.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +espree@^9.5.2: + version "9.5.2" + resolved "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + 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== + +fast-glob@^3.2.9: + version "3.2.12" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + 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== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +gensync@^1.0.0-beta.2: + 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== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + 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== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-schema-traverse@^0.4.1: + 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== + +json-stable-stringify-without-jsonify@^1.0.1: + 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== + +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libsodium-sumo@^0.7.11: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.11.tgz#ab0389e2424fca5c1dc8c4fd394906190da88a11" + integrity sha512-bY+7ph7xpk51Ez2GbE10lXAQ5sJma6NghcIDaSPbM/G9elfrjLa0COHl/7P6Wb/JizQzl5UQontOOP1z0VwbLA== + +libsodium-wrappers-sumo@^0.7.9: + version "0.7.11" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.11.tgz#d96329ee3c0e7ec7f5fcf4cdde16cc3a1ae91d82" + integrity sha512-DGypHOmJbB1nZn89KIfGOAkDgfv5N6SBGC3Qvmy/On0P0WD1JQvNRS/e3UL3aFF+xC0m+MYz5M+MnRnK2HMrKQ== + dependencies: + libsodium-sumo "^0.7.11" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.1.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +msgpack5@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/msgpack5/-/msgpack5-5.3.2.tgz#679a1f197465f2d446a1d467cf678e3e83bb56dc" + integrity sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A== + dependencies: + bl "^4.0.0" + inherits "^2.0.3" + readable-stream "^3.0.0" + safe-buffer "^5.1.2" + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +natural-compare-lite@^1.4.0: + 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== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== + +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + 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== + dependencies: + p-limit "^3.0.2" + +parent-module@^1.0.0: + 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== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +postcss@^8.4.23: + version "8.4.23" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz" + integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +react-dom@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + dependencies: + loose-envify "^1.1.0" + scheduler "^0.23.0" + +react-refresh@^0.14.0: + version "0.14.0" + resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" + integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== + +react@^18.2.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" + +readable-stream@^3.0.0, readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rollup@^3.21.0: + version "3.21.5" + resolved "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz" + integrity sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg== + optionalDependencies: + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.1.2, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +scheduler@^0.23.0: + version "0.23.0" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" + integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== + dependencies: + loose-envify "^1.1.0" + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.7: + version "7.5.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" + integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== + dependencies: + lru-cache "^6.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +"signify-ts@file:../..": + version "0.1.1" + dependencies: + "@types/libsodium-wrappers-sumo" "^0.7.5" + blake3 "^2.1.7" + buffer "^6.0.3" + cbor "^8.0.0" + collections "^5.1.12" + libsodium-wrappers-sumo "^0.7.9" + lodash "^4.17.21" + msgpack5 "^5.3.2" + structured-headers "^0.5.0" + urlsafe-base64 "^1.0.0" + xregexp "^5.1.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + 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== + +structured-headers@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-0.5.0.tgz#409e1e7a0119819edc82d45547211bd633a2ebf8" + integrity sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag== + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +to-fast-properties@^2.0.0: + 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== + +to-regex-range@^5.0.1: + 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== + dependencies: + is-number "^7.0.0" + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + 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== + +typescript@^5.0.2: + version "5.0.4" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + +update-browserslist-db@^1.0.10: + version "1.0.11" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urlsafe-base64@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz#23f89069a6c62f46cf3a1d3b00169cefb90be0c6" + integrity sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA== + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite-plugin-wasm@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.2.2.tgz" + integrity sha512-cdbBUNR850AEoMd5nvLmnyeq63CSfoP1ctD/L2vLk/5+wsgAPlAVAzUK5nGKWO/jtehNlrSSHLteN+gFQw7VOA== + +vite@^4.3.2: + version "4.3.5" + resolved "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz" + integrity sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA== + dependencies: + esbuild "^0.17.5" + postcss "^8.4.23" + rollup "^3.21.0" + optionalDependencies: + fsevents "~2.3.2" + +weak-map@~1.0.x: + version "1.0.8" + resolved "https://registry.yarnpkg.com/weak-map/-/weak-map-1.0.8.tgz#394c18a9e8262e790544ed8b55c6a4ddad1cb1a3" + integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw== + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xregexp@^5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-5.1.1.tgz#6d3fe18819e3143aaf52f9284d34f49a59583ebb" + integrity sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg== + dependencies: + "@babel/runtime-corejs3" "^7.16.5" + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From da1ab22805a473bf23bcd615c4d1f3da6c07fcdb Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Tue, 9 May 2023 17:11:02 -0700 Subject: [PATCH 018/463] Fix controller to load keys correctly for inception event. --- src/keri/app/controller.ts | 11 ++--------- src/keri/core/core.ts | 2 +- src/keri/core/diger.ts | 2 +- src/keri/core/prefixer.ts | 2 +- src/keri/core/saider.ts | 2 +- test/app/{accountant.test.ts => controller.test.ts} | 12 ++++++++---- 6 files changed, 14 insertions(+), 17 deletions(-) rename test/app/{accountant.test.ts => controller.test.ts} (74%) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 350d13cb..a9987cb9 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -4,8 +4,6 @@ import {MtrDex} from "../core/matter"; import {Diger} from "../core/diger"; import {incept} from "../core/eventing"; import {Serder} from "../core/serder"; -import {Signer} from "../core/signer"; -import {Verfer} from "../core/verfer"; export class Controller { @@ -31,12 +29,8 @@ export class Controller { this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx, 0, false).signers.pop() this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx+1, 0, false).signers.pop() - - let verfers = Array.from(this.signer, (signer: Signer) => signer.verfer) - let digers = Array.from(this.nsigner, (signer: Signer) => new Diger({code: MtrDex.Blake3_256}, signer.verfer.qb64b)) - - let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) - let ndigs = Array.from(digers, (diger: Diger) => diger.qb64) + let keys = [this.signer.verfer.qb64] + let ndigs = [new Diger({code: MtrDex.Blake3_256}, this.nsigner.verfer.qb64b).qb64] this.serder = incept({ keys: keys, @@ -46,7 +40,6 @@ export class Controller { code: MtrDex.Blake3_256, toad: "0", wits: []}) - console.log(this.serder.ked) } diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index ab2c098d..f20c723d 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,4 +1,4 @@ -// import {TextEncoder, TextDecoder} from 'util' + import {TextEncoder, TextDecoder} from 'util' export enum Serials { JSON = "JSON", diff --git a/src/keri/core/diger.ts b/src/keri/core/diger.ts index 111a7af8..69a45b0f 100644 --- a/src/keri/core/diger.ts +++ b/src/keri/core/diger.ts @@ -1,4 +1,4 @@ -import {createHash} from "blake3/browser" +import {createHash} from "blake3" import {Matter, MatterArgs, MtrDex} from './matter'; diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index 11e5bf08..c4e67ce6 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -4,7 +4,7 @@ import {Dict, Ilks} from "./core"; import {sizeify} from "./serder"; import {Verfer} from "./verfer"; -import {createHash} from "blake3/browser" +import {createHash} from "blake3" const Dummy: string = "#" diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts index ee16e7c7..6ccfc06f 100644 --- a/src/keri/core/saider.ts +++ b/src/keri/core/saider.ts @@ -3,7 +3,7 @@ import {deversify, Dict, Serials} from "./core"; import {EmptyMaterialError} from "./kering"; import {dumps, sizeify} from "./serder"; -import {createHash} from "blake3/browser" +import {createHash} from "blake3" const Dummy = "#" diff --git a/test/app/accountant.test.ts b/test/app/controller.test.ts similarity index 74% rename from test/app/accountant.test.ts rename to test/app/controller.test.ts index d7229535..48381d4f 100644 --- a/test/app/accountant.test.ts +++ b/test/app/controller.test.ts @@ -4,8 +4,9 @@ import libsodium from "libsodium-wrappers-sumo"; import {openManager} from "../../src/keri/core/manager"; import {Signer} from "../../src/keri/core/signer"; import {MtrDex} from "../../src/keri/core/matter"; +import {Tier} from "../../src"; -describe('Accountant', () => { +describe('Controller', () => { it('manage account AID signing and agent verification', async () => { await libsodium.ready; let passcode = "0123456789abcdefghijk" @@ -16,12 +17,15 @@ describe('Accountant', () => { 59, 160, 152, 2, 72, 122, 87, 143, 109, 39, 98, 153, 192, 148]) let agentSigner = new Signer({raw: raw, code: MtrDex.Ed25519_Seed, transferable: false}) assert.equal(agentSigner.verfer.qb64, "BHptu91ecGv_mxO8T3b98vNQUCghT8nfYkWRkVqOZark") - let agentKey = agentSigner.verfer.qb64 // New account needed. Send to remote my name and encryption pubk and get back // their pubk and and my encrypted account package // let pkg = {} - let accountant = new Controller(mgr, agentKey) - assert.notEqual(accountant, undefined) + let controller = new Controller(passcode, Tier.low) + assert.equal(controller.pre, "EH47SaIWwMbBh3P39AFP-qe-J87-Z-gcj-ZUJ7uyplHF") + + passcode = "abcdefghijk0123456789" + controller = new Controller(passcode, Tier.low) + assert.equal(controller.pre, "EG0DNL7t6FYCeFHZ6L9iXy2LXhAQAjg1ac9qlrS31-sh") }) }) \ No newline at end of file From 4f697b7c2e09651f26982578bbcfd99c266ed4a2 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 10:03:29 -0500 Subject: [PATCH 019/463] load from cdn and fix text encoding error on browser --- package-lock.json | 31872 +++++++++++++++++----------------------- package.json | 2 + src/index.ts | 3 +- src/keri/core/core.ts | 4 +- 4 files changed, 13597 insertions(+), 18284 deletions(-) diff --git a/package-lock.json b/package-lock.json index ddb070d0..3e79849f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "lodash": "^4.17.21", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" }, @@ -25,10 +26,10 @@ "@size-limit/preset-small-lib": "^5.0.4", "@types/lodash": "^4.14.185", "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "jest": "^29.3.1", - "parcel": "^2.8.3", "size-limit": "^5.0.4", "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", @@ -2379,30 +2380,6 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/source-map/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/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", @@ -2419,191 +2396,6 @@ "@jridgewell/sourcemap-codec": "1.4.14" } }, - "node_modules/@lezer/common": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", - "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==", - "dev": true - }, - "node_modules/@lezer/lr": { - "version": "0.15.8", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", - "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", - "dev": true, - "dependencies": { - "@lezer/common": "^0.15.0" - } - }, - "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", - "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", - "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", - "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", - "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", - "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-win32-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", - "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@mischnic/json-sourcemap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", - "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", - "dev": true, - "dependencies": { - "@lezer/common": "^0.15.7", - "@lezer/lr": "^0.15.4", - "json5": "^2.2.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", - "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", - "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", - "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", - "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", - "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", - "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2639,5372 +2431,4815 @@ "node": ">= 8" } }, - "node_modules/@parcel/bundler-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.3.tgz", - "integrity": "sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==", + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/graph": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">= 10.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } } }, - "node_modules/@parcel/cache": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.3.tgz", - "integrity": "sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==", + "node_modules/@rollup/plugin-commonjs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", + "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", "dev": true, "dependencies": { - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/utils": "2.8.3", - "lmdb": "2.5.2" + "@rollup/pluginutils": "^3.0.8", + "commondir": "^1.0.1", + "estree-walker": "^1.0.1", + "glob": "^7.1.2", + "is-reference": "^1.1.2", + "magic-string": "^0.25.2", + "resolve": "^1.11.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">= 8.0.0" }, "peerDependencies": { - "@parcel/core": "^2.8.3" + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@parcel/codeframe": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.3.tgz", - "integrity": "sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==", + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", "dev": true, "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" + "@rollup/pluginutils": "^3.0.8" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@parcel/compressor-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz", - "integrity": "sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", + "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3" + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.17.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">= 10.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@parcel/config-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.3.tgz", - "integrity": "sha512-o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw==", - "dev": true, - "dependencies": { - "@parcel/bundler-default": "2.8.3", - "@parcel/compressor-raw": "2.8.3", - "@parcel/namer-default": "2.8.3", - "@parcel/optimizer-css": "2.8.3", - "@parcel/optimizer-htmlnano": "2.8.3", - "@parcel/optimizer-image": "2.8.3", - "@parcel/optimizer-svgo": "2.8.3", - "@parcel/optimizer-terser": "2.8.3", - "@parcel/packager-css": "2.8.3", - "@parcel/packager-html": "2.8.3", - "@parcel/packager-js": "2.8.3", - "@parcel/packager-raw": "2.8.3", - "@parcel/packager-svg": "2.8.3", - "@parcel/reporter-dev-server": "2.8.3", - "@parcel/resolver-default": "2.8.3", - "@parcel/runtime-browser-hmr": "2.8.3", - "@parcel/runtime-js": "2.8.3", - "@parcel/runtime-react-refresh": "2.8.3", - "@parcel/runtime-service-worker": "2.8.3", - "@parcel/transformer-babel": "2.8.3", - "@parcel/transformer-css": "2.8.3", - "@parcel/transformer-html": "2.8.3", - "@parcel/transformer-image": "2.8.3", - "@parcel/transformer-js": "2.8.3", - "@parcel/transformer-json": "2.8.3", - "@parcel/transformer-postcss": "2.8.3", - "@parcel/transformer-posthtml": "2.8.3", - "@parcel/transformer-raw": "2.8.3", - "@parcel/transformer-react-refresh-wrap": "2.8.3", - "@parcel/transformer-svg": "2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" }, "peerDependencies": { - "@parcel/core": "^2.8.3" + "rollup": "^1.20.0 || ^2.0.0" } }, - "node_modules/@parcel/core": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.3.tgz", - "integrity": "sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==", - "dev": true, - "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/graph": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.5.4", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" - }, - "engines": { - "node": ">= 12.0.0" + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" } }, - "node_modules/@parcel/core/node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", "dev": true, - "engines": { - "node": ">=0.8" + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/@parcel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/@sinonjs/fake-timers": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", + "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@parcel/diagnostic": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.3.tgz", - "integrity": "sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==", + "node_modules/@size-limit/file": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", + "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", "dev": true, "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" + "semver": "7.3.5" }, "engines": { - "node": ">= 12.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "size-limit": "5.0.5" } }, - "node_modules/@parcel/events": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.3.tgz", - "integrity": "sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==", + "node_modules/@size-limit/preset-small-lib": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", + "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", "dev": true, - "engines": { - "node": ">= 12.0.0" + "dependencies": { + "@size-limit/file": "5.0.5", + "@size-limit/webpack": "5.0.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "size-limit": "5.0.5" } }, - "node_modules/@parcel/fs": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.3.tgz", - "integrity": "sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==", + "node_modules/@size-limit/webpack": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", + "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", "dev": true, "dependencies": { - "@parcel/fs-search": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.8.3" + "css-loader": "^5.2.6", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "mkdirp": "^1.0.4", + "nanoid": "^3.1.28", + "optimize-css-assets-webpack-plugin": "^6.0.1", + "pnp-webpack-plugin": "^1.7.0", + "style-loader": "^2.0.0", + "webpack": "^4.44.1", + "webpack-bundle-analyzer": "^4.4.2" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" }, "peerDependencies": { - "@parcel/core": "^2.8.3" + "size-limit": "5.0.5" } }, - "node_modules/@parcel/fs-search": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.3.tgz", - "integrity": "sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==", + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, - "dependencies": { - "detect-libc": "^1.0.3" - }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=10.13.0" } }, - "node_modules/@parcel/graph": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.3.tgz", - "integrity": "sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==", + "node_modules/@ts-morph/bootstrap": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", + "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", "dev": true, "dependencies": { - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@ts-morph/common": "~0.16.0" } }, - "node_modules/@parcel/hash": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.3.tgz", - "integrity": "sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==", + "node_modules/@ts-morph/common": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", + "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", "dev": true, "dependencies": { - "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "fast-glob": "^3.2.11", + "minimatch": "^5.1.0", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" } }, - "node_modules/@parcel/logger": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.3.tgz", - "integrity": "sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==", + "node_modules/@ts-morph/common/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": { - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "balanced-match": "^1.0.0" } }, - "node_modules/@parcel/markdown-ansi": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz", - "integrity": "sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==", + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", "dev": true, "dependencies": { - "chalk": "^4.1.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=10" } }, - "node_modules/@parcel/namer-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.3.tgz", - "integrity": "sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==", + "node_modules/@types/babel__core": { + "version": "7.1.20", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", + "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@parcel/node-resolver-core": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz", - "integrity": "sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==", + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@babel/types": "^7.0.0" } }, - "node_modules/@parcel/node-resolver-core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@parcel/optimizer-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz", - "integrity": "sha512-JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g==", + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "lightningcss": "^1.16.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@babel/types": "^7.3.0" } }, - "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz", - "integrity": "sha512-L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg==", + "node_modules/@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", + "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "htmlnano": "^2.0.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@types/node": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/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/@parcel/optimizer-htmlnano/node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "node_modules/@types/istanbul-reports": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", + "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" + "@types/istanbul-lib-report": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/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/@types/jest": { + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", + "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", "dev": true, - "optional": true, - "peer": 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" + "jest-diff": "^25.2.1", + "pretty-format": "^25.2.1" } }, - "node_modules/@parcel/optimizer-htmlnano/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==", + "node_modules/@types/jest/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + "node": ">= 8.3" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", - "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", + "node_modules/@types/jest/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "cssnano-preset-default": "^6.0.1", - "lilconfig": "^2.1.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-preset-default": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", - "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", + "node_modules/@types/jest/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^4.0.0", - "postcss-calc": "^9.0.0", - "postcss-colormin": "^6.0.0", - "postcss-convert-values": "^6.0.0", - "postcss-discard-comments": "^6.0.0", - "postcss-discard-duplicates": "^6.0.0", - "postcss-discard-empty": "^6.0.0", - "postcss-discard-overridden": "^6.0.0", - "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.1", - "postcss-minify-font-values": "^6.0.0", - "postcss-minify-gradients": "^6.0.0", - "postcss-minify-params": "^6.0.0", - "postcss-minify-selectors": "^6.0.0", - "postcss-normalize-charset": "^6.0.0", - "postcss-normalize-display-values": "^6.0.0", - "postcss-normalize-positions": "^6.0.0", - "postcss-normalize-repeat-style": "^6.0.0", - "postcss-normalize-string": "^6.0.0", - "postcss-normalize-timing-functions": "^6.0.0", - "postcss-normalize-unicode": "^6.0.0", - "postcss-normalize-url": "^6.0.0", - "postcss-normalize-whitespace": "^6.0.0", - "postcss-ordered-values": "^6.0.0", - "postcss-reduce-initial": "^6.0.0", - "postcss-reduce-transforms": "^6.0.0", - "postcss-svgo": "^6.0.0", - "postcss-unique-selectors": "^6.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@types/yargs-parser": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/cssnano-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", - "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "node_modules/@types/jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18.0" + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=8" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "node_modules/@types/jest/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "css-tree": "~2.2.0" - }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 8.3" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "node_modules/@types/jest/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 8.3" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/@parcel/optimizer-htmlnano/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/@types/jest/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">= 8.3" } }, - "node_modules/@parcel/optimizer-htmlnano/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/@types/jest/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "domelementtype": "^2.3.0" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">= 8.3" } }, - "node_modules/@parcel/optimizer-htmlnano/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/@types/jest/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "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/libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" + }, + "node_modules/@types/lodash": { + "version": "4.14.191", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", + "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "@types/node": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/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, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "dev": true }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/htmlnano": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", - "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", + "node_modules/@types/text-encoding": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/text-encoding/-/text-encoding-0.0.36.tgz", + "integrity": "sha512-LfATA7bH+MtAPlOshYgQ1M3n2r0TSB6Ns5ESvKYlVugkKErQg5oFbR2qO7XrKtNsrtzedDvTeqQfyTjdPJH7jw==", + "dev": true + }, + "node_modules/@types/urlsafe-base64": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", + "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", "dev": true, "dependencies": { - "cosmiconfig": "^8.0.0", - "posthtml": "^0.16.5", - "timsort": "^0.3.0" - }, - "peerDependencies": { - "cssnano": "^6.0.0", - "postcss": "^8.3.11", - "purgecss": "^5.0.0", - "relateurl": "^0.2.7", - "srcset": "4.0.0", - "svgo": "^3.0.2", - "terser": "^5.10.0", - "uncss": "^0.17.3" - }, - "peerDependenciesMeta": { - "cssnano": { - "optional": true - }, - "postcss": { - "optional": true - }, - "purgecss": { - "optional": true - }, - "relateurl": { - "optional": true - }, - "srcset": { - "optional": true - }, - "svgo": { - "optional": true - }, - "terser": { - "optional": true - }, - "uncss": { - "optional": true - } + "@types/node": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/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/@types/yargs": { + "version": "17.0.18", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", + "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "@types/yargs-parser": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/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, - "optional": true, - "peer": true + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", + "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^2.0.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-colormin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", - "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, - "engines": { - "node": "^14 || ^16 || >=18.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "postcss": "^8.2.15" + "eslint": "*" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-convert-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", - "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", + "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^7.3.2", + "tsutils": "^3.17.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-comments": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", - "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "postcss": "^8.2.15" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-duplicates": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", - "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "optional": true, - "peer": true, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-empty": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", - "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "node_modules/@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "dependencies": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-discard-overridden": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", - "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-longhand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", - "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.0.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-merge-rules": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", - "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", + "node_modules/@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.0", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-font-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", - "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-gradients": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", - "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-params": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", - "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@xtuc/long": "4.2.2" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-minify-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", - "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-charset": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", - "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "dependencies": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-display-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", - "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-positions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", - "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-repeat-style": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", - "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", + "node_modules/@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-string": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", - "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-timing-functions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", - "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "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/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-unicode": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", - "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "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/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-url": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", - "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", + "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/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.4.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-normalize-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", - "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", + "node_modules/acorn-globals": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "acorn": "^6.0.1", + "acorn-walk": "^6.0.1" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-ordered-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", - "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", + "node_modules/acorn-globals/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.4.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-initial": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", - "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", + "node_modules/acorn-globals/node_modules/acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.4.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-reduce-transforms": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", - "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", + "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, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, "peerDependencies": { - "postcss": "^8.2.15" + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", - "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", + "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, - "optional": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.0.2" - }, "engines": { - "node": "^14 || ^16 || >= 18" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.4.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-svgo/node_modules/svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "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, - "optional": true, - "peer": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.2.1", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.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": "opencollective", - "url": "https://opencollective.com/svgo" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/postcss-unique-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", - "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", + "node_modules/ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/@parcel/optimizer-htmlnano/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, - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "ajv": ">=5.0.0" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/stylehacks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", - "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", + "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, - "optional": true, - "peer": true, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, "peerDependencies": { - "postcss": "^8.2.15" + "ajv": "^6.9.1" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "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, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/@parcel/optimizer-htmlnano/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, - "optional": true, - "peer": true - }, - "node_modules/@parcel/optimizer-image": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz", - "integrity": "sha512-SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ==", + "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": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "detect-libc": "^1.0.3" + "type-fest": "^0.21.3" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/optimizer-svgo": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz", - "integrity": "sha512-9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA==", + "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, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "svgo": "^2.4.0" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/@parcel/optimizer-terser": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz", - "integrity": "sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==", + "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": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "terser": "^5.2.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@parcel/optimizer-terser/node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "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, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=0.4.0" + "node": ">= 8" } }, - "node_modules/@parcel/optimizer-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==", + "node_modules/aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, - "node_modules/@parcel/optimizer-terser/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/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "sprintf-js": "~1.0.2" } }, - "node_modules/@parcel/optimizer-terser/node_modules/terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "dev": true, "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" }, "engines": { - "node": ">=10" + "node": ">=6.0" } }, - "node_modules/@parcel/package-manager": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.3.tgz", - "integrity": "sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "semver": "^5.7.1" - }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.8.3" - } - }, - "node_modules/@parcel/package-manager/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">=0.10.0" } }, - "node_modules/@parcel/packager-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.3.tgz", - "integrity": "sha512-WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA==", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.10.0" } }, - "node_modules/@parcel/packager-html": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.3.tgz", - "integrity": "sha512-OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw==", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.10.0" } }, - "node_modules/@parcel/packager-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.3.tgz", - "integrity": "sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==", + "node_modules/array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", + "dev": true + }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@parcel/packager-js/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "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, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@parcel/packager-js/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/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/@parcel/packager-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.3.tgz", - "integrity": "sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==", + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@parcel/packager-svg": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.3.tgz", - "integrity": "sha512-mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "posthtml": "^0.16.4" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@parcel/plugin": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.3.tgz", - "integrity": "sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", "dev": true, "dependencies": { - "@parcel/types": "2.8.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" } }, - "node_modules/@parcel/reporter-cli": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz", - "integrity": "sha512-3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw==", + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "chalk": "^4.1.0", - "term-size": "^2.2.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "safer-buffer": "~2.1.0" } }, - "node_modules/@parcel/reporter-dev-server": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz", - "integrity": "sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==", + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/@parcel/resolver-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.3.tgz", - "integrity": "sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==", + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "dev": true, "dependencies": { - "@parcel/node-resolver-core": "2.8.3", - "@parcel/plugin": "2.8.3" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "object-assign": "^4.1.1", + "util": "0.10.3" } }, - "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz", - "integrity": "sha512-2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.8" } }, - "node_modules/@parcel/runtime-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.3.tgz", - "integrity": "sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==", + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "inherits": "2.0.1" } }, - "node_modules/@parcel/runtime-react-refresh": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz", - "integrity": "sha512-2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA==", + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.10.0" } }, - "node_modules/@parcel/runtime-service-worker": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz", - "integrity": "sha512-/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw==", + "node_modules/ast-types": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", + "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=4" } }, - "node_modules/@parcel/source-map": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", - "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", + "dev": true + }, + "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, - "dependencies": { - "detect-libc": "^1.0.3" - }, "engines": { - "node": "^12.18.3 || >=14" + "node": ">=8" } }, - "node_modules/@parcel/transformer-babel": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz", - "integrity": "sha512-L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "json5": "^2.2.0", - "nullthrows": "^1.1.1", - "semver": "^5.7.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } + "node_modules/async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true }, - "node_modules/@parcel/transformer-babel/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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/asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "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, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">= 4.0.0" } }, - "node_modules/@parcel/transformer-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.3.tgz", - "integrity": "sha512-xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg==", + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "lightningcss": "^1.16.1", - "nullthrows": "^1.1.1" + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">= 4.5.0" } }, - "node_modules/@parcel/transformer-html": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.3.tgz", - "integrity": "sha512-kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1", - "srcset": "4" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "*" } }, - "node_modules/@parcel/transformer-html/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "node_modules/axe-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", + "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=4" } }, - "node_modules/@parcel/transformer-image": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.3.tgz", - "integrity": "sha512-cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg==", + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, "peerDependencies": { - "@parcel/core": "^2.8.3" + "@babel/core": "^7.0.0-0" } }, - "node_modules/@parcel/transformer-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.3.tgz", - "integrity": "sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "@swc/helpers": "^0.4.12", - "browserslist": "^4.6.6", - "detect-libc": "^1.0.3", - "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", - "semver": "^5.7.1" + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6" }, "peerDependencies": { - "@parcel/core": "^2.8.3" - } - }, - "node_modules/@parcel/transformer-js/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "eslint": ">= 4.12.1" } }, - "node_modules/@parcel/transformer-json": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.3.tgz", - "integrity": "sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==", + "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "dependencies": { - "@parcel/plugin": "2.8.3", - "json5": "^2.2.0" - }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=4" } }, - "node_modules/@parcel/transformer-postcss": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz", - "integrity": "sha512-e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg==", + "node_modules/babel-jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", + "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "clone": "^2.1.1", - "nullthrows": "^1.1.1", - "postcss-value-parser": "^4.2.0", - "semver": "^5.7.1" + "@jest/transform": "^29.3.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.2.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/@parcel/transformer-postcss/node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "node_modules/babel-plugin-annotate-pure-calls": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", + "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", "dev": true, - "engines": { - "node": ">=0.8" + "peerDependencies": { + "@babel/core": "^6.0.0-0 || 7.x" } }, - "node_modules/@parcel/transformer-postcss/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/babel-plugin-dev-expression": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", + "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", "dev": true, - "bin": { - "semver": "bin/semver" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@parcel/transformer-posthtml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz", - "integrity": "sha512-pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA==", + "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": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1" + "@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": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/transformer-posthtml/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" + "node": ">=8" } }, - "node_modules/@parcel/transformer-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz", - "integrity": "sha512-G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ==", + "node_modules/babel-plugin-jest-hoist": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", + "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz", - "integrity": "sha512-q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg==", + "node_modules/babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", "dev": true, "dependencies": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "react-refresh": "^0.9.0" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" } }, - "node_modules/@parcel/transformer-svg": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz", - "integrity": "sha512-3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ==", + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.8.3" + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@parcel/transformer-svg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" } }, - "node_modules/@parcel/types": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.3.tgz", - "integrity": "sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==", + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "dependencies": { - "@parcel/cache": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.8.3", - "utility-types": "^3.10.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@parcel/utils": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.3.tgz", - "integrity": "sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==", + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "dependencies": { - "@parcel/codeframe": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/markdown-ansi": "2.8.3", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@parcel/watcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.1.0.tgz", - "integrity": "sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw==", + "node_modules/babel-plugin-transform-rename-import": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", + "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "dev": true + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "hasInstallScript": true, "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" - }, - "engines": { - "node": ">= 10.0.0" + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@parcel/workers": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.3.tgz", - "integrity": "sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==", + "node_modules/babel-preset-jest": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", + "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", "dev": true, "dependencies": { - "@parcel/diagnostic": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "chrome-trace-event": "^1.0.2", - "nullthrows": "^1.1.1" + "babel-plugin-jest-hoist": "^29.2.0", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@parcel/core": "^2.8.3" + "@babel/core": "^7.0.0" } }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "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/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@rollup/plugin-commonjs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", - "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.0.8", - "commondir": "^1.0.1", - "estree-walker": "^1.0.1", - "glob": "^7.1.2", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=0.10.0" } }, - "node_modules/@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.0.8" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } + "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==", + "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/@rollup/plugin-node-resolve": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", - "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "tweetnacl": "^0.14.3" } }, - "node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "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, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" + "engines": { + "node": "*" } }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "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, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "node": ">=8" } }, - "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, + "optional": true, "dependencies": { - "type-detect": "4.0.8" + "file-uri-to-path": "1.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { - "@sinonjs/commons": "^1.7.0" + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "node_modules/@size-limit/file": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", - "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", - "dev": true, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { - "semver": "7.3.5" - }, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - }, - "peerDependencies": { - "size-limit": "5.0.5" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/@size-limit/preset-small-lib": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", - "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", + "node_modules/blake3": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", + "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==", + "hasInstallScript": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "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": { - "@size-limit/file": "5.0.5", - "@size-limit/webpack": "5.0.5" - }, - "peerDependencies": { - "size-limit": "5.0.5" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@size-limit/webpack": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", - "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", + "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": { - "css-loader": "^5.2.6", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "mkdirp": "^1.0.4", - "nanoid": "^3.1.28", - "optimize-css-assets-webpack-plugin": "^6.0.1", - "pnp-webpack-plugin": "^1.7.0", - "style-loader": "^2.0.0", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^4.4.2" + "fill-range": "^7.0.1" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - }, - "peerDependencies": { - "size-limit": "5.0.5" + "node": ">=8" } }, - "node_modules/@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "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/browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", "dev": true, "dependencies": { - "tslib": "^2.4.0" + "resolve": "1.1.7" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/browser-resolve/node_modules/resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, - "engines": { - "node": ">=10.13.0" + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@ts-morph/bootstrap": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", - "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "dependencies": { - "@ts-morph/common": "~0.16.0" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, - "node_modules/@ts-morph/common": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", - "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", "dev": true, "dependencies": { - "fast-glob": "^3.2.11", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/@ts-morph/common/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/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" } }, - "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "pako": "~1.0.5" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "node_modules/browserslist": { + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "@babel/types": "^7.0.0" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "dependencies": { - "@babel/types": "^7.3.0" + "node-int64": "^0.4.0" } }, - "node_modules/@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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.2.1" + } + }, + "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/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", "dev": true }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", "dev": true }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "node_modules/bytes-iec": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", + "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" + "engines": { + "node": ">= 0.8" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "node_modules/cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" } }, - "node_modules/@types/jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", + "node_modules/cacache/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": { - "jest-diff": "^25.2.1", - "pretty-format": "^25.2.1" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/@types/jest/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/@types/jest/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "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, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=6" } }, - "node_modules/@types/jest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/@types/jest/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", "dev": true, - "engines": { - "node": ">= 8.3" + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, - "node_modules/@types/jest/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/caniuse-lite": { + "version": "1.0.30001441", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", + "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/capture-exit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", + "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "rsvp": "^4.8.4" }, "engines": { - "node": ">= 8.3" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/@types/jest/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/cbor": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", + "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "dependencies": { + "nofilter": "^3.1.0" + }, "engines": { - "node": ">= 8.3" + "node": ">=12.19" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "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": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "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/@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/libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" - }, - "node_modules/@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", - "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/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", "dev": true }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "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==", + "dev": true, + "engines": { + "node": ">=6.0" + } }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "node_modules/ci-info": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", + "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "node_modules/ci-job-number": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", + "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", "dev": true }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "dependencies": { - "@types/node": "*" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", + "node_modules/cjs-module-lexer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", + "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", "dev": true }, - "node_modules/@types/urlsafe-base64": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", - "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "dependencies": { - "@types/node": "*" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", + "node_modules/class-utils/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", + "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/class-utils/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "@webassemblyjs/wast-printer": "1.9.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true + "node_modules/class-utils/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "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": { - "@webassemblyjs/ast": "1.9.0" + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "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, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "engines": { + "node": ">= 10" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "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": { - "@xtuc/ieee754": "^1.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/cliui/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": { - "@xtuc/long": "4.2.2" + "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/@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "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, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "engines": { + "node": ">=0.8" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "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": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/collect-v8-coverage": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, + "node_modules/collections": { + "version": "5.1.13", + "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", + "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "weak-map": "~1.0.x" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "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": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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==", + "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/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "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/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "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, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.8" } }, - "node_modules/acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "dependencies": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" + "engines": { + "node": ">= 10" } }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "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/acorn-globals/node_modules/acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true }, - "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==", + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "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==", + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=0.4.0" + "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/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/concat-stream/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-stream/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": { - "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" + "safe-buffer": "~5.1.0" } }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "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/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "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/copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, - "peerDependencies": { - "ajv": ">=5.0.0" + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, - "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==", + "node_modules/copy-concurrently/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, - "peerDependencies": { - "ajv": "^6.9.1" + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "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/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.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/core-js-compat": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", + "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "browserslist": "^4.21.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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/core-js-pure": { + "version": "3.27.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", + "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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/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/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" } }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "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==", + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "node_modules/create-jest-runner": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", + "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "chalk": "^2.4.2", + "jest-worker": "^24.0.0", + "throat": "^4.1.0" + }, + "bin": { + "create-jest-runner": "generator/index.js" } }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "node_modules/create-jest-runner/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": ">=0.10.0" + "node": ">=4" } }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "node_modules/create-jest-runner/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": ">=0.10.0" + "node": ">=4" } }, - "node_modules/array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/create-jest-runner/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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "color-name": "1.1.3" } }, - "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/create-jest-runner/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/create-jest-runner/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": ">=8" + "node": ">=0.8.0" } }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "node_modules/create-jest-runner/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": ">=0.10.0" + "node": ">=4" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "node_modules/create-jest-runner/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "node_modules/create-jest-runner/node_modules/jest-worker/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "node_modules/create-jest-runner/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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "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": { - "safer-buffer": "~2.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" } }, - "node_modules/asn1.js/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/css-declaration-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", + "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", "dev": true, - "dependencies": { - "object-assign": "^4.1.1", - "util": "0.10.3" + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, "engines": { - "node": ">=0.8" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" } }, - "node_modules/assert/node_modules/inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "node_modules/assert/node_modules/util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "dependencies": { - "inherits": "2.0.1" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "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": ">=0.10.0" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/ast-types": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", - "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", + "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/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "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==", + "node_modules/cssnano": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", + "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.13", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "node_modules/cssnano-preset-default": { + "version": "5.2.13", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", + "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", "dev": true, - "optional": 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/asyncro": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", - "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", - "dev": true + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.3", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } }, - "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==", + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", "dev": true, "engines": { - "node": ">= 4.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dev": true, - "bin": { - "atob": "bin/atob.js" + "dependencies": { + "css-tree": "^1.1.2" }, "engines": { - "node": ">= 4.5.0" + "node": ">=8.0.0" } }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "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": "*" + "node": ">=8" } }, - "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "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/axe-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", - "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "node_modules/cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", + "dev": true + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/data-urls": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", "dev": true, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "dependencies": { + "abab": "^2.0.0", + "whatwg-mimetype": "^2.2.0", + "whatwg-url": "^7.0.0" } }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "deprecated": "babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.", + "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": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" + "ms": "2.1.2" }, "engines": { - "node": ">=6" + "node": ">=6.0" }, - "peerDependencies": { - "eslint": ">= 4.12.1" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/babel-eslint/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=0.10" } }, - "node_modules/babel-plugin-annotate-pure-calls": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", - "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "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/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true, - "peerDependencies": { - "@babel/core": "^6.0.0-0 || 7.x" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/babel-plugin-dev-expression": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", - "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", + "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, - "peerDependencies": { - "@babel/core": "^7.0.0" + "dependencies": { + "clone": "^1.0.2" + }, + "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/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "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" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "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, - "dependencies": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=8" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "node_modules/diff-sequences": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", + "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, - "node_modules/babel-plugin-transform-rename-import": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", - "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "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": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" + "path-type": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "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": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=6.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/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4", + "npm": ">=1.2" } }, - "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/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/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "node_modules/domexception": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "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": "*" + "webidl-conversions": "^4.0.2" } }, - "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/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, "engines": { - "node": ">=8" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, - "optional": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "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/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/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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/duplexify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "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/blake3": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", - "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==", - "hasInstallScript": true - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "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==", + "node_modules/duplexify/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/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/duplexify/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", - "concat-map": "0.0.1" + "safe-buffer": "~5.1.0" } }, - "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/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, - "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==", + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, - "dependencies": { - "resolve": "1.1.7" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/browser-resolve/node_modules/resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", + "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/browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "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, - "dependencies": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">= 4" } }, - "node_modules/browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "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": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "once": "^1.4.0" } }, - "node_modules/browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "node_modules/enhanced-resolve/node_modules/memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", "dev": true, "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + }, + "engines": { + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/enhanced-resolve/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "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/browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/enhanced-resolve/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/enhanced-resolve/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": { - "pako": "~1.0.5" + "safe-buffer": "~5.1.0" } }, - "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "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": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - }, - "bin": { - "browserslist": "cli.js" + "ansi-colors": "^4.1.1" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=8.6" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "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, "dependencies": { - "node-int64": "^0.4.0" + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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/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": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "is-arrayish": "^0.2.1" } }, - "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/buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "node_modules/es-abstract": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", + "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "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-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "unbox-primitive": "^1.0.2" + }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "node_modules/bytes-iec": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", - "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", "dev": true, - "engines": { - "node": ">= 0.8" + "dependencies": { + "has": "^1.0.3" } }, - "node_modules/cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "dependencies": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "node_modules/cacache/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/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "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": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node": ">= 0.4" }, "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==", + "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/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "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": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "dev": true, "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { - "rsvp": "^4.8.4" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 0.8.0" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "node_modules/cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, "dependencies": { - "nofilter": "^3.1.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=12.19" + "node": ">= 0.8.0" } }, - "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/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "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.8.0" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, "engines": { - "node": ">=10" + "node": ">= 0.8.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/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "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" + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">= 8.10.0" + "node": "^10.12.0 || >=12.0.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "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/eslint-config-prettier": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", + "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", "dev": true, - "engines": { - "node": ">=6.0" + "dependencies": { + "get-stdin": "^6.0.0" + }, + "bin": { + "eslint-config-prettier-check": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=3.14.1" } }, - "node_modules/ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" } }, - "node_modules/ci-job-number": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", - "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", - "dev": true - }, - "node_modules/cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "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": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "ms": "^2.1.1" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "node_modules/eslint-module-utils": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", + "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", "dev": true, "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "debug": "^3.2.7" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "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": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "ms": "^2.1.1" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "lodash": "^4.17.15" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=5.0.0" } }, - "node_modules/class-utils/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/eslint-plugin-import": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", + "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.3", + "has": "^1.0.3", + "is-core-module": "^2.8.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.values": "^1.1.5", + "resolve": "^1.22.0", + "tsconfig-paths": "^3.14.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/class-utils/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/eslint-plugin-import/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": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/class-utils/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "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": { - "is-buffer": "^1.1.5" + "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/class-utils/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/eslint-plugin-import/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/eslint-plugin-jsx-a11y": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", + "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@babel/runtime": "^7.18.9", + "aria-query": "^4.2.2", + "array-includes": "^3.1.5", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.4.3", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.3.2", + "language-tags": "^1.0.5", + "minimatch": "^3.1.2", + "semver": "^6.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/class-utils/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/eslint-plugin-jsx-a11y/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/eslint-plugin-jsx-a11y/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver.js" } }, - "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/eslint-plugin-prettier": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "prettier-linter-helpers": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" + }, + "peerDependencies": { + "eslint": ">=5.0.0", + "prettier": ">=1.13.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "dev": true, - "engines": { - "node": ">=6" + "node_modules/eslint-plugin-react": { + "version": "7.31.11", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", + "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.8" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "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/eslint-plugin-react/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": { + "esutils": "^2.0.2" + }, "engines": { - "node": ">= 10" + "node": ">=0.10.0" } }, - "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/eslint-plugin-react/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, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, "engines": { - "node": ">=12" + "node": ">=4.0" } }, - "node_modules/cliui/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==", + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "resolve": "bin/resolve" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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": ">=0.8" + "node": ">=8.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/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=4" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/collections": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", - "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, "dependencies": { - "weak-map": "~1.0.x" + "@babel/highlight": "^7.10.4" } }, - "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/eslint/node_modules/globals": { + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "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": ">=0.1.90" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "dependencies": { - "delayed-stream": "~1.0.0" + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" }, "engines": { - "node": ">= 0.8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": ">= 10" + "node": ">=4" } }, - "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/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "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/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "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, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "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" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/concat-stream/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/esquery/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/concat-stream/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/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": { - "safe-buffer": "~5.1.0" + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" } }, - "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/console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "node_modules/esrecurse/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/constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true + "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/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==", + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "dev": true }, - "node_modules/copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "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": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/copy-concurrently/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/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=0.8.x" } }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, - "node_modules/core-js-compat": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", - "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "node_modules/exec-sh": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", + "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", + "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": { - "browserslist": "^4.21.4" + "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": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/core-js-pure": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", - "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.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/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/expand-brackets/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": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" + "ms": "2.0.0" } }, - "node_modules/create-ecdh/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", - "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, "dependencies": { - "chalk": "^2.4.2", - "jest-worker": "^24.0.0", - "throat": "^4.1.0" + "kind-of": "^3.0.2" }, - "bin": { - "create-jest-runner": "generator/index.js" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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==", + "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/expand-brackets/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/create-jest-runner/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/expand-brackets/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/expand-brackets/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/expand-brackets/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/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "@jest/expect-utils": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest-runner/node_modules/jest-worker/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "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/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/create-jest-runner/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/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": { - "has-flag": "^3.0.0" + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" }, "engines": { "node": ">=4" } }, - "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==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "is-descriptor": "^1.0.0" }, "engines": { - "node": "*" + "node": ">=0.10.0" } }, - "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14" + "dependencies": { + "is-extendable": "^0.1.0" }, - "peerDependencies": { - "postcss": "^8.0.9" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "node_modules/extglob/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "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-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" + "@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": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" + "node": ">=8.6.0" } }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "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": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "reusify": "^1.0.4" } }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" + "bser": "2.1.1" } }, - "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/figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "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": ">= 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/figures/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, - "bin": { - "cssesc": "bin/cssesc" + "engines": { + "node": ">=0.8.0" + } + }, + "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": ">=4" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.13", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 10.13.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/cssnano" + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "postcss": "^8.2.15" + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true, + "optional": true + }, + "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": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" + "to-regex-range": "^5.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=6" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "node_modules/find-cache-dir/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "dependencies": { - "css-tree": "^1.1.2" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=6" } }, - "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/find-cache-dir/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "dependencies": { - "cssom": "~0.3.6" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "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/cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", - "dev": true - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "node_modules/find-cache-dir/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, "dependencies": { - "assert-plus": "^1.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" + "node": ">=6" } }, - "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/find-cache-dir/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": { - "ms": "2.1.2" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=6" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/find-cache-dir/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "node_modules/find-cache-dir/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, "engines": { - "node": ">=0.10" + "node": ">=4" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "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/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "node_modules/find-cache-dir/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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/find-cache-dir/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "semver": "bin/semver" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "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": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "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==", - "dev": true, - "engines": { - "node": ">=0.4.0" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/flat-cache/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": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, + "glob": "^7.1.3" + }, "bin": { - "detect-libc": "bin/detect-libc.js" + "rimraf": "bin.js" }, - "engines": { - "node": ">=0.10" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true }, - "node_modules/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "node_modules/flow-parser": { + "version": "0.196.3", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", + "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.4.0" } }, - "node_modules/diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, "dependencies": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/diffie-hellman/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "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/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "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/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/flush-write-stream/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/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/flush-write-stream/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": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "safe-buffer": "~5.1.0" } }, - "node_modules/domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, "engines": { - "node": ">=0.4", - "npm": ">=1.2" + "node": ">=0.10.0" } }, - "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": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, - "dependencies": { - "webidl-conversions": "^4.0.2" + "engines": { + "node": "*" } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "dependencies": { - "domelementtype": "^2.2.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">= 0.12" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "map-cache": "^0.2.2" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "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/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, "dependencies": { - "end-of-stream": "^1.0.0", "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "readable-stream": "^2.0.0" } }, - "node_modules/duplexify/node_modules/readable-stream": { + "node_modules/from2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -8019,13 +7254,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/duplexify/node_modules/safe-buffer": { + "node_modules/from2/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/duplexify/node_modules/string_decoder": { + "node_modules/from2/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==", @@ -8034,107 +7269,34 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "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": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "node_modules/elliptic/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "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/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": ">=10" } }, - "node_modules/enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/enhanced-resolve/node_modules/memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, - "node_modules/enhanced-resolve/node_modules/readable-stream": { + "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", @@ -8149,13 +7311,13 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/enhanced-resolve/node_modules/safe-buffer": { + "node_modules/fs-write-stream-atomic/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/enhanced-resolve/node_modules/string_decoder": { + "node_modules/fs-write-stream-atomic/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==", @@ -8164,79 +7326,42 @@ "safe-buffer": "~5.1.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==", + "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.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "dependencies": { - "ansi-colors": "^4.1.1" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8.6" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "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/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", "dev": 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.20.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", - "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "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-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "unbox-primitive": "^1.0.2" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -8245,45 +7370,75 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "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, - "dependencies": { - "has": "^1.0.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/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": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, "engines": { - "node": ">= 0.4" + "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.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "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": ">=6" + "node": ">=8.0.0" } }, - "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/get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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" @@ -8292,6226 +7447,5983 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "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": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=4.0" + "node": ">= 0.4" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dev": true, "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "assert-plus": "^1.0.0" + } + }, + "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": ">= 0.8.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 6" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "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.8.0" + "node": ">=4" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, + "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": { - "prelude-ls": "~1.1.2" + "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": ">= 0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "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": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "get-intrinsic": "^1.1.3" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true, + "optional": true + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, "dependencies": { - "get-stdin": "^6.0.0" + "duplexer": "^0.1.2" }, - "bin": { - "eslint-config-prettier-check": "bin/cli.js" + "engines": { + "node": ">=10" }, - "peerDependencies": { - "eslint": ">=3.14.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "dependencies": { - "debug": "^3.2.7" + "function-bind": "^1.1.1" }, "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "node": ">= 0.4.0" } }, - "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==", + "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, - "dependencies": { - "ms": "^2.1.1" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", - "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "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/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "dependencies": { - "lodash": "^4.17.15" + "get-intrinsic": "^1.1.1" }, + "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": ">=4" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": ">=5.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "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": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-plugin-import/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-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, "dependencies": { - "ms": "2.0.0" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "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==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/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/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-jsx-a11y/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/eslint-plugin-jsx-a11y/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "prettier-linter-helpers": "^1.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=5.0.0", - "prettier": ">=1.13.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "dependencies": { - "esutils": "^2.0.2" + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/eslint-plugin-react/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/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", "dev": true, - "engines": { - "node": ">=4.0" + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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/html-encoding-sniffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "whatwg-encoding": "^1.0.1" } }, - "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/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/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "node_modules/eslint-utils": { + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.27.3", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", + "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "dev": true + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "bin": { + "husky": "lib/bin.js" }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/mysticatea" + "url": "https://github.com/sponsors/typicode" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "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": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "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" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", + "dev": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "engines": { + "node": ">= 4" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "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": { - "type-fest": "^0.20.2" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "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": ">=4" } }, - "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/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.8.19" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true }, - "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/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, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", "dev": true, "dependencies": { - "estraverse": "^5.1.0" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/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": ">=8.0.0" } }, - "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/internal-slot": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", + "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "side-channel": "^1.0.4" }, "engines": { - "node": ">=4.0" + "node": ">= 0.4" } }, - "node_modules/esrecurse/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/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">= 0.10" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "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/is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "dependencies": { + "kind-of": "^6.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "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/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, - "engines": { - "node": ">=0.8.x" + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "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": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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": { - "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" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "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.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "ci-info": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "is-ci": "bin.js" } }, - "node_modules/expand-brackets/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/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", "dev": true, "dependencies": { - "ms": "2.0.0" + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "kind-of": "^6.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "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": { - "is-extendable": "^0.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "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, - "dependencies": { - "is-buffer": "^1.1.5" + "optional": true, + "bin": { + "is-docker": "cli.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "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, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/expand-brackets/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/expand-brackets/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/expand-brackets/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "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/expand-brackets/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/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "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": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=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==", + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "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": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "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.10.0" + "node": ">=0.12.0" } }, - "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/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": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extglob": { + "node_modules/is-plain-object": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "@types/estree": "*" + } + }, + "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.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extglob/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "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": { - "is-extendable": "^0.1.0" + "call-bind": "^1.0.2" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/extglob/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "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": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "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, - "engines": [ - "node >=0.6.0" - ] - }, - "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-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "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": { - "@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" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=8.6.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "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/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": { - "reusify": "^1.0.4" + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "dependencies": { - "bser": "2.1.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "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/is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/figures/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/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/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.8.0" + "node": ">=0.10.0" } }, - "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/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "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, - "dependencies": { - "flat-cache": "^3.0.4" - }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" } }, - "node_modules/file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "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": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.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": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">=8" } }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "optional": true + "bin": { + "semver": "bin/semver.js" + } }, - "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/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "dependencies": { - "to-regex-range": "^5.0.1" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" } }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "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": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/find-cache-dir/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", "dev": true, "dependencies": { - "locate-path": "^3.0.0" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/find-cache-dir/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/jest": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", + "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", "dev": true, "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@jest/core": "^29.3.1", + "@jest/types": "^29.3.1", + "import-local": "^3.0.2", + "jest-cli": "^29.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/find-cache-dir/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/jest-changed-files": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", + "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", "dev": true, "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" + "execa": "^5.0.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-cache-dir/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/jest-circus": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", + "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", "dev": true, "dependencies": { - "p-try": "^2.0.0" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "p-limit": "^3.1.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-cache-dir/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/jest-cli": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", + "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "@jest/core": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "prompts": "^2.0.1", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/find-cache-dir/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "node_modules/jest-config": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", + "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.3.1", + "@jest/types": "^29.3.1", + "babel-jest": "^29.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.3.1", + "jest-environment-node": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/find-cache-dir/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/jest-diff": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", + "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", "dev": true, "dependencies": { - "find-up": "^3.0.0" + "chalk": "^4.0.0", + "diff-sequences": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/find-cache-dir/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/jest-docblock": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", + "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-each": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", + "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", "dev": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@jest/types": "^29.3.1", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "jest-util": "^29.3.1", + "pretty-format": "^29.3.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "node_modules/jest-environment-jsdom": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", + "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "jsdom": "^15.2.1" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">= 8.3" } }, - "node_modules/flat-cache/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/jest-environment-jsdom/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">= 8.3" } }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/flow-parser": { - "version": "0.196.3", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", - "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", + "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">= 8.3" } }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "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" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/flush-write-stream/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==", + "node_modules/jest-environment-jsdom/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", "dev": true }, - "node_modules/flush-write-stream/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/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@types/yargs-parser": "*" } }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "node_modules/jest-environment-jsdom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "node_modules/jest-environment-jsdom/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": "*" + "node": ">=8" } }, - "node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">= 0.12" + "node": ">= 8.3" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "node_modules/jest-environment-jsdom/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "map-cache": "^0.2.2" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jest-environment-jsdom/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "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" + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/from2/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/from2/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/jest-environment-node": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", + "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/jest-get-type": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", + "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", "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": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", + "node_modules/jest-haste-map": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", + "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "@jest/types": "^29.3.1", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/jest-jasmine2": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", + "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", "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" + "@babel/traverse": "^7.1.0", + "@jest/environment": "^25.5.0", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "co": "^4.6.0", + "expect": "^25.5.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^25.5.0", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/fs-write-stream-atomic/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/fs-write-stream-atomic/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/jest-jasmine2/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 8.3" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/jest-jasmine2/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "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": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">= 8.3" } }, - "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "node_modules/jest-jasmine2/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.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": ">= 8.3" } }, - "node_modules/get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", + "node_modules/jest-jasmine2/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, + "dependencies": { + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" + }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, - "engines": { - "node": ">=10" + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.3" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "node_modules/jest-jasmine2/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "@types/yargs-parser": "*" } }, - "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/jest-jasmine2/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "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" + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" }, "engines": { - "node": "*" + "node": ">= 8.3" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "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/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 6" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "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" + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" }, "engines": { - "node": ">=10" + "node": ">= 8.3" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "optional": true - }, - "node_modules/gzip-size": { + "node_modules/jest-jasmine2/node_modules/cliui": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "duplexer": "^0.1.2" - }, + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/jest-jasmine2/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/jest-jasmine2/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8.3" } }, - "node_modules/har-schema": { + "node_modules/jest-jasmine2/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "dev": true, "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/jest-jasmine2/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "dev": true, "dependencies": { - "function-bind": "^1.1.1" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/jest-jasmine2/node_modules/jest-each": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", + "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "jest-util": "^25.5.0", + "pretty-format": "^25.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "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/jest-jasmine2/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "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==", + "node_modules/jest-jasmine2/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } + }, + "node_modules/jest-jasmine2/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">= 0.4" + "node": ">= 8.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/jest-jasmine2/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "node_modules/jest-jasmine2/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/jest-jasmine2/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/jest-jasmine2/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "node_modules/jest-jasmine2/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", "dev": true, "dependencies": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" + }, + "engines": { + "node": ">= 8.3" } }, - "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/html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", + "node_modules/jest-jasmine2/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "dependencies": { - "whatwg-encoding": "^1.0.1" + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.3" } }, - "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": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "node_modules/jest-jasmine2/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, - "engines": { - "node": ">=0.12" + "dependencies": { + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "engines": { + "node": ">= 8.3" } }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", + "node_modules/jest-jasmine2/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" + "node": ">= 8.3" } }, - "node_modules/https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "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/jest-jasmine2/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" + }, "engines": { - "node": ">=10.17.0" + "node": ">= 8.3" } }, - "node_modules/humanize-duration": { - "version": "3.27.3", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", - "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "node_modules/jest-jasmine2/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "node_modules/jest-jasmine2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" + "semver": "bin/semver.js" } }, - "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/jest-jasmine2/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "escape-string-regexp": "^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/jest-jasmine2/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true + }, + "node_modules/jest-jasmine2/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "peerDependencies": { - "postcss": "^8.1.0" + "engines": { + "node": ">=8" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "node_modules/jest-jasmine2/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "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/jest-jasmine2/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "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/jest-jasmine2/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/jest-leak-detector": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", + "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", "dev": true, "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "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/jest-matcher-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", + "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", "dev": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "chalk": "^4.0.0", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "pretty-format": "^29.3.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/jest-message-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", + "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.3.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">=8.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "node_modules/jest-mock": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", + "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-util": "^29.3.1" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, "engines": { - "node": ">= 0.10" + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", + "node_modules/jest-regex-util": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", + "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", "dev": true, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/jest-resolve": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", + "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/jest-resolve-dependencies": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", + "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", "dev": true, "dependencies": { - "has-bigints": "^1.0.1" + "jest-regex-util": "^29.2.0", + "jest-snapshot": "^29.3.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.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-runner": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", + "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", "dev": true, "dependencies": { - "binary-extensions": "^2.0.0" + "@jest/console": "^29.3.1", + "@jest/environment": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.2.0", + "jest-environment-node": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-leak-detector": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-resolve": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-util": "^29.3.1", + "jest-watcher": "^29.3.1", + "jest-worker": "^29.3.1", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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-runtime": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", + "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/environment": "^29.3.1", + "@jest/fake-timers": "^29.3.1", + "@jest/globals": "^29.3.1", + "@jest/source-map": "^29.2.0", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "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/jest-serializer": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", + "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "graceful-fs": "^4.2.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8.3" } }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "node_modules/jest-snapshot": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", + "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", "dev": true, "dependencies": { - "ci-info": "^2.0.0" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/babel__traverse": "^7.0.6", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.3.1", + "jest-get-type": "^29.2.0", + "jest-haste-map": "^29.3.1", + "jest-matcher-utils": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "natural-compare": "^1.4.0", + "pretty-format": "^29.3.1", + "semver": "^7.3.5" }, - "bin": { - "is-ci": "bin.js" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "node_modules/jest-util": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", + "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", "dev": true, "dependencies": { - "has": "^1.0.3" + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/jest-validate": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", + "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", "dev": true, "dependencies": { - "kind-of": "^6.0.0" + "@jest/types": "^29.3.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.2.0", + "leven": "^3.1.0", + "pretty-format": "^29.3.1" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/jest-watch-typeahead": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", + "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-regex-util": "^25.2.1", + "jest-watcher": "^25.2.4", + "slash": "^3.0.0", + "string-length": "^3.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "dev": true, + "dependencies": { + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "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/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, - "optional": true, - "bin": { - "is-docker": "cli.js" + "dependencies": { + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8.3" } }, - "node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/jest-watch-typeahead/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/is-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", - "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", - "dev": true - }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "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/jest-watch-typeahead/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" + }, "engines": { - "node": ">=0.12.0" + "node": ">= 8.3" } }, - "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/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 8.3" } }, - "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/jest-watch-typeahead/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "isobject": "^3.0.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "dependencies": { - "@types/estree": "*" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" + }, + "engines": { + "node": ">= 8.3" } }, - "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/jest-watch-typeahead/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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/jest-watch-typeahead/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, - "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/jest-watcher": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", + "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "@jest/test-result": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.3.1", + "string-length": "^4.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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/jest-worker": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", + "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2" + "@types/node": "*", + "jest-util": "^29.3.1", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", + "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": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "node_modules/jpjs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", + "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", "dev": true }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "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/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "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, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", "dev": true }, - "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==", + "node_modules/jscodeshift": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", + "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", "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" + "@babel/core": "^7.1.6", + "@babel/parser": "^7.1.6", + "@babel/plugin-proposal-class-properties": "^7.1.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/preset-env": "^7.1.6", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-typescript": "^7.1.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "colors": "^1.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.16.1", + "temp": "^0.8.1", + "write-file-atomic": "^2.3.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, "bin": { - "semver": "bin/semver.js" + "jscodeshift": "bin/jscodeshift.js" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "node_modules/jscodeshift/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.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/jscodeshift/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "node_modules/jscodeshift/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "node_modules/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "node_modules/jscodeshift/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "node_modules/jscodeshift/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "kind-of": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "node_modules/jscodeshift/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "node_modules/jscodeshift/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "node_modules/jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", + "node_modules/jsdom": { + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", + "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" + "abab": "^2.0.0", + "acorn": "^7.1.0", + "acorn-globals": "^4.3.2", + "array-equal": "^1.0.0", + "cssom": "^0.4.1", + "cssstyle": "^2.0.0", + "data-urls": "^1.1.0", + "domexception": "^1.0.1", + "escodegen": "^1.11.1", + "html-encoding-sniffer": "^1.0.2", + "nwsapi": "^2.2.0", + "parse5": "5.1.0", + "pn": "^1.1.0", + "request": "^2.88.0", + "request-promise-native": "^1.0.7", + "saxes": "^3.1.9", + "symbol-tree": "^3.2.2", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.1", + "w3c-xmlserializer": "^1.1.2", + "webidl-conversions": "^4.0.2", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^7.0.0", + "ws": "^7.0.0", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "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/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/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "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, - "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "bin": { + "json5": "lib/cli.js" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/json5-writer": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", + "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "jscodeshift": "^0.6.3" } }, - "node_modules/jest-environment-jsdom/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "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": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jest-environment-jsdom/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/jsprim": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" } }, - "node_modules/jest-environment-jsdom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/jsx-ast-utils": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", + "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "array-includes": "^3.1.5", + "object.assign": "^4.1.3" }, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/jest-environment-jsdom/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "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": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", + "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "language-subtag-registry": "^0.3.20" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" } }, - "node_modules/jest-environment-jsdom/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "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": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.8.0" } }, - "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "node_modules/libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" }, - "node_modules/jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", - "dev": true, + "node_modules/libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", "dependencies": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "libsodium-sumo": "^0.7.0" } }, - "node_modules/jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "dependencies": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "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": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=4.3.0 <5.0.0 || >=5.10" } }, - "node_modules/jest-jasmine2/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "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": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 8.3" + "node": ">=8.9.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "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": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "p-locate": "^4.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "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.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "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/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" + "chalk": "^2.4.2" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-jasmine2/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "node_modules/log-symbols/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": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/log-symbols/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": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "node_modules/log-symbols/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": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - }, + "color-name": "1.1.3" + } + }, + "node_modules/log-symbols/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/log-symbols/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": ">= 8.3" + "node": ">=0.8.0" } }, - "node_modules/jest-jasmine2/node_modules/@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "node_modules/log-symbols/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": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/log-symbols/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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "dependencies": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">= 8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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" + "mimic-fn": "^1.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">= 8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/lolex": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", + "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "@sinonjs/commons": "^1.7.0" } }, - "node_modules/jest-jasmine2/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" } }, - "node_modules/jest-jasmine2/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/jest-jasmine2/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", "dev": true, - "engines": { - "node": ">= 8.3" + "dependencies": { + "tslib": "^2.0.3" } }, - "node_modules/jest-jasmine2/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "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, - "engines": { - "node": ">=8" + "dependencies": { + "yallist": "^3.0.2" } }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - }, - "engines": { - "node": ">= 8.3" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/jest-jasmine2/node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "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": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/jest-jasmine2/node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "tmpl": "1.0.5" } }, - "node_modules/jest-jasmine2/node_modules/jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" + "object-visit": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, - "engines": { - "node": ">= 8.3" + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/jest-jasmine2/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - }, - "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "node_modules/memory-fs/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "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/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "node_modules/memory-fs/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/memory-fs/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": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, + "safe-buffer": "~5.1.0" + } + }, + "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.3" + "node": ">= 8" } }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/mico-spinner": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", + "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" + "picocolors": "^0.2.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/mico-spinner/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "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": { - "@jest/types": "^25.5.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">= 8.3" + "node": ">=8.6" } }, - "node_modules/jest-jasmine2/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true, - "engines": { - "node": ">= 8.3" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "engines": { - "node": ">= 8.3" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/jest-jasmine2/node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "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": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">= 0.6" } }, - "node_modules/jest-jasmine2/node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "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": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest-runtime": "bin/jest-runtime.js" + "mime-db": "1.52.0" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.6" } }, - "node_modules/jest-jasmine2/node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "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, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "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/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "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": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 8.3" + "node": "*" } }, - "node_modules/jest-jasmine2/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-jasmine2/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "node_modules/mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=4.0.0" } }, - "node_modules/jest-jasmine2/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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": { - "semver": "bin/semver.js" - } - }, - "node_modules/jest-jasmine2/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-jasmine2/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/jest-jasmine2/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, - "node_modules/jest-jasmine2/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "node_modules/move-concurrently/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": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/jest-jasmine2/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/jest-jasmine2/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "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, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", - "dev": true, + "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/msgpack5": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", + "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "bl": "^4.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.0", + "safe-buffer": "^5.1.2" } }, - "node_modules/jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "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/nan": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "optional": true }, - "node_modules/jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } + "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/jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "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/jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", "dev": true, "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, - "node_modules/jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", "dev": true, "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" + "minimatch": "^3.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.10.5" } }, - "node_modules/jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", "dev": true, "dependencies": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" } }, - "node_modules/jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", + "node_modules/node-libs-browser/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, - "node_modules/jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", + "node_modules/node-libs-browser/node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true + }, + "node_modules/node-libs-browser/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" + "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/jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "node_modules/node-libs-browser/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/node-libs-browser/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": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "node_modules/node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" } }, - "node_modules/jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "node_modules/node-notifier/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, + "optional": true, + "peer": true, "dependencies": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" + "is-docker": "^2.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/node-notifier/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, + "optional": true, + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "node_modules/nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12.19" } }, - "node_modules/jest-watch-typeahead": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", - "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", + "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, "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-regex-util": "^25.2.1", - "jest-watcher": "^25.2.4", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^6.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "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": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/jest-watch-typeahead/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "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": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "node_modules/jest-watch-typeahead/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "node_modules/nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", "dev": true }, - "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "engines": { + "node": "*" } }, - "node_modules/jest-watch-typeahead/node_modules/ansi-regex": { + "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/object-copy/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/object-copy/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "dependencies": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "node_modules/object-copy/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "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, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" + "isobject": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "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": { - "ansi-regex": "^4.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 0.4" } }, - "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/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jpjs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", - "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", - "dev": true - }, - "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" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "node_modules/jscodeshift": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", - "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", "dev": true, "dependencies": { - "@babel/core": "^7.1.6", - "@babel/parser": "^7.1.6", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/preset-env": "^7.1.6", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-typescript": "^7.1.0", - "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", - "colors": "^1.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.16.1", - "temp": "^0.8.1", - "write-file-atomic": "^2.3.0" + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, - "bin": { - "jscodeshift": "bin/jscodeshift.js" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/jscodeshift/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jscodeshift/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "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": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "wrappy": "1" } }, - "node_modules/jscodeshift/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "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": { - "is-extendable": "^0.1.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jscodeshift/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "opener": "bin/opener-bin.js" } }, - "node_modules/jscodeshift/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/jscodeshift/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/jscodeshift/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jscodeshift/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/ora/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", + "node_modules/p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true, - "dependencies": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - }, "engines": { "node": ">=8" }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, "engines": { "node": ">=4" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "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": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "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/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/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "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/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, - "bin": { - "json5": "lib/cli.js" + "dependencies": { + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/json5-writer": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", - "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", - "dev": true, - "dependencies": { - "jscodeshift": "^0.6.3" - } - }, - "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" + "node": ">=10" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", + "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": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=0.6.0" + "node": ">=8" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "node_modules/p-locate/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": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "p-try": "^2.0.0" }, "engines": { - "node": ">=4.0" - } - }, - "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": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "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/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "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/language-tags": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", - "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "node_modules/parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "dependencies": { - "language-subtag-registry": "^0.3.20" + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" } }, - "node_modules/last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" + "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/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/parallel-transform/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/parallel-transform/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": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "safe-buffer": "~5.1.0" + } + }, + "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": ">= 0.8.0" + "node": ">=6" } }, - "node_modules/libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" - }, - "node_modules/libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, "dependencies": { - "libsodium-sumo": "^0.7.0" + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, - "node_modules/lightningcss": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.20.0.tgz", - "integrity": "sha512-4bj8aP+Vi+or8Gwq/hknmicr4PmA8D9uL/3qY0N0daX5vYBMYERGI6Y93nzoeRgQMULq+gtrN/FvJYtH0xNN8g==", + "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": { - "detect-libc": "^1.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "@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" }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.20.0", - "lightningcss-darwin-x64": "1.20.0", - "lightningcss-linux-arm-gnueabihf": "1.20.0", - "lightningcss-linux-arm64-gnu": "1.20.0", - "lightningcss-linux-arm64-musl": "1.20.0", - "lightningcss-linux-x64-gnu": "1.20.0", - "lightningcss-linux-x64-musl": "1.20.0", - "lightningcss-win32-x64-msvc": "1.20.0" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.20.0.tgz", - "integrity": "sha512-aYEohJTlzwB8URJaNiS57tMbjyLub0mYvxlxKQk8SZv+irXx6MoBWpDNQKKTS9gg1pGf/eAwjpa3BLAoCBsh1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 12.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.20.0.tgz", - "integrity": "sha512-cmMgY8FFWVaGgtift7eKKkHMqlz9O09/yTdlCXEDOeDP9yeo6vHOBTRP7ojb368kjw8Ew3l0L2uT1Gtx56eNkg==", - "cpu": [ - "x64" - ], + "node_modules/parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=6" } }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.20.0.tgz", - "integrity": "sha512-/m+NDO1O6JCv7R9F0XWlXcintQHx4MPNU+kt8jZJO07LLdGwCfvjN31GVcwVPlStnnx/cU8uTTmax6g/Qu/whg==", - "cpu": [ - "arm" - ], + "node_modules/parse5": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "dev": true + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.20.0.tgz", - "integrity": "sha512-gtXoa6v0HvMRLbev6Hsef0+Q5He7NslB+Rs7G49Y5LUSdJeGIATEN+j8JzHC0DnxCsOGbEgGRmvtJzzYDkkluw==", - "cpu": [ - "arm64" - ], + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.10.0" } }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.20.0.tgz", - "integrity": "sha512-Po7XpucM1kZnkiyd2BNwTExSDcZ8jm8uB9u+Sq44qjpkf5f75jreQwn3DQm9I1t5C6tB9HGt30HExMju9umJBQ==", - "cpu": [ - "arm64" - ], + "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==", + "dev": true + }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "optional": true + }, + "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, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.20.0.tgz", - "integrity": "sha512-8yR/fGNn/P0I+Lc3PK+VWPET/zdSpBfHFIG0DJ38TywMbItVKvnFvoTBwnIm4LqBz7g2G2dDexnNP95za2Ll8g==", - "cpu": [ - "x64" - ], + "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, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=0.10.0" } }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.20.0.tgz", - "integrity": "sha512-EmpJ+VkPZ8RACiB4m+l8TmapmE1W2UvJKDHE+ML/3Ihr9tRKUs3CibfnQTFZC8aSsrxgXagDAN+PgCDDhIyriA==", - "cpu": [ - "x64" - ], + "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, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.20.0.tgz", - "integrity": "sha512-BRdPvbq7Cc1qxAzp2emqWJHrqsEkf4ggxS29VOnxT7jhkdHKU+a26OVMjvm/OL0NH0ToNOZNAPvHMSexiEgBeA==", - "cpu": [ - "x64" - ], + "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-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, - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": ">=8" } }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, "engines": { - "node": ">=10" + "node": ">=0.12" } }, - "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/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", "dev": true }, - "node_modules/lmdb": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", - "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", + "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, - "hasInstallScript": true, - "dependencies": { - "msgpackr": "^1.5.4", - "node-addon-api": "^4.3.0", - "node-gyp-build-optional-packages": "5.0.3", - "ordered-binary": "^1.2.4", - "weak-lru-cache": "^1.2.2" + "engines": { + "node": ">=8.6" }, - "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "2.5.2", - "@lmdb/lmdb-darwin-x64": "2.5.2", - "@lmdb/lmdb-linux-arm": "2.5.2", - "@lmdb/lmdb-linux-arm64": "2.5.2", - "@lmdb/lmdb-linux-x64": "2.5.2", - "@lmdb/lmdb-win32-x64": "2.5.2" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/lmdb/node_modules/node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "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, "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" + "node": ">=6" } }, - "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/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, "engines": { - "node": ">=8.9.0" + "node": ">= 6" } }, - "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/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": { - "p-locate": "^4.1.0" + "find-up": "^4.0.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==" - }, - "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.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "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.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "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==", + "node_modules/pn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, - "node_modules/log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", "dev": true, "dependencies": { - "chalk": "^2.4.2" + "ts-pnp": "^1.1.6" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/log-symbols/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==", + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/log-symbols/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/postcss": { + "version": "8.4.20", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", + "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14" } }, - "node_modules/log-symbols/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/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", "dev": true, "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/log-symbols/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/log-symbols/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" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/log-symbols/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/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-symbols/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/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", "dev": true, - "dependencies": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", "dev": true, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", "dev": true, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", "dev": true, "dependencies": { - "mimic-fn": "^1.0.0" + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/log-update/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "node_modules/postcss-merge-rules": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", + "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", "dev": true, "dependencies": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" }, "engines": { - "node": ">=4" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", "dev": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", "dev": true, "dependencies": { - "tslib": "^2.0.3" + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", "dev": true, "dependencies": { - "yallist": "^3.0.2" + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "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": { - "sourcemap-codec": "^1.4.8" + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "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==", + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "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/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "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": { - "tmpl": "1.0.5" + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", "dev": true, "dependencies": { - "object-visit": "^1.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", "dev": true, "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", "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" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/memory-fs/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/memory-fs/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/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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, + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 8" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mico-spinner": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", - "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", "dev": true, "dependencies": { - "picocolors": "^0.2.0" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mico-spinner/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - }, - "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/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8.6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", "dev": true, "dependencies": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "postcss-value-parser": "^4.2.0" }, - "bin": { - "miller-rabin": "bin/miller-rabin" + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/miller-rabin/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "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/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-reduce-initial": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", + "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", "dev": true, "dependencies": { - "mime-db": "1.52.0" + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "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/minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "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/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "*" + "node": ">=4" } }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", "dev": true, "dependencies": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "postcss-selector-parser": "^6.0.5" }, "engines": { - "node": ">=4.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "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, - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", "dev": true, "bin": { - "mkdirp": "bin/cmd.js" + "prettier": "bin-prettier.js" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "node_modules/move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", + "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": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/move-concurrently/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/pretty-format": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", + "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "@jest/schemas": "^29.0.0", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/msgpack5": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", - "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", + "node_modules/pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, "dependencies": { - "bl": "^4.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.0", - "safe-buffer": "^5.1.2" + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/msgpackr": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.1.tgz", - "integrity": "sha512-jJdrNH8tzfCtT0rjPFryBXjRDQE7rqfLkah4/8B4gYa7NNZYFBcGxqWBtfQpGC+oYyBwlkj3fARk4aooKNPHxg==", + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" + "engines": { + "node": ">= 0.6" } }, - "node_modules/msgpackr-extract": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", - "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.0.7" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2" + "engines": { + "node": ">= 0.6.0" } }, - "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", - "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", + "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/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "optional": true, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" + "engines": { + "node": ">=0.4.0" } }, - "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/nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", + "node_modules/progress-estimator": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", + "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", "dev": true, - "optional": true + "dependencies": { + "chalk": "^2.4.1", + "cli-spinners": "^1.3.1", + "humanize-duration": "^3.15.3", + "log-update": "^2.3.0" + } }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "node_modules/progress-estimator/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, - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "color-convert": "^1.9.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=4" } }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/progress-estimator/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": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "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/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-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "node_modules/progress-estimator/node_modules/cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "node_modules/progress-estimator/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": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" + "color-name": "1.1.3" } }, - "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/progress-estimator/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/node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "node_modules/progress-estimator/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, - "dependencies": { - "minimatch": "^3.0.2" - }, "engines": { - "node": ">= 0.10.5" + "node": ">=0.8.0" } }, - "node_modules/node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "node_modules/progress-estimator/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, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" + "engines": { + "node": ">=4" } }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", - "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==", + "node_modules/progress-estimator/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, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "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/node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "dependencies": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" } }, - "node_modules/node-libs-browser/node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dev": true, "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" } }, - "node_modules/node-libs-browser/node_modules/path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/node-libs-browser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "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 }, - "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "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" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/node-libs-browser/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==", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", "dev": true }, - "node_modules/node-libs-browser/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/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", - "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/node-notifier/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/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, - "optional": true, - "peer": true, "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/node-notifier/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==", + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "optional": true, - "peer": true, - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=6" } }, - "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true - }, - "node_modules/nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==", + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, "engines": { - "node": ">=12.19" + "node": ">=0.6" } }, - "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==", + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "engines": { + "node": ">=0.4.x" } }, - "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, - "bin": { - "semver": "bin/semver" + "engines": { + "node": ">=0.4.x" } }, - "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/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, - "engines": { - "node": ">=0.10.0" + "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/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.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==", + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "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": { - "path-key": "^3.0.0" + "@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": ">=8" } }, - "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/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": { - "boolbase": "^1.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true - }, - "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "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": "*" + "node": ">=8" } }, - "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==", + "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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "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": { - "is-descriptor": "^0.1.0" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.10.0" } }, - "node_modules/object-copy/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/realpath-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", + "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/object-copy/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/recast": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", + "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "ast-types": "0.11.7", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/object-copy/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "resolve": "^1.1.6" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/object-copy/node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "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/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "regenerate": "^1.4.2" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "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==" }, - "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/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "@babel/runtime": "^7.8.4" } }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "dependencies": { - "isobject": "^3.0.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" }, "engines": { "node": ">=0.10.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==", + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -14520,2355 +13432,2425 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" } }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "node_modules/regexpu-core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", + "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=4" } }, - "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "node_modules/regjsgen": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true + }, + "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": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "jsesc": "~0.5.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "regjsparser": "bin/parser" } }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "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/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10" } }, - "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/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { - "wrappy": "1" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" } }, - "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/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", "dev": true, "dependencies": { - "mimic-fn": "^2.1.0" + "lodash": "^4.17.19" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "bin": { - "opener": "bin/opener-bin.js" + "peerDependencies": { + "request": "^2.34" } }, - "node_modules/optimize-css-assets-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "node_modules/request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", "dev": true, "dependencies": { - "cssnano": "^5.0.2", - "last-call-webpack-plugin": "^3.0.0", - "postcss": "^8.2.1" + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.12.0" }, "peerDependencies": { - "webpack": "^4.0.0" + "request": "^2.34" } }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "node_modules/request-promise-native/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.8" } }, - "node_modules/ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "psl": "^1.1.28", + "punycode": "^2.1.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8" } }, - "node_modules/ora/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ordered-binary": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.0.tgz", - "integrity": "sha512-EHQ/jk4/a9hLupIKxTfUsQRej1Yd/0QLQs3vGvIqg5ZtCYSzNhkzHoZc7Zf4e4kUlDaC3Uw8Q/1opOLNN2OKRQ==", - "dev": true + "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/os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "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==", + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "is-core-module": "^2.9.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/p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "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": ">=4" + "node": ">=8" } }, - "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/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve.exports": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", + "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { "node": ">=10" - }, - "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==", + "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": { - "p-limit": "^2.2.0" + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" }, "engines": { "node": ">=8" } }, - "node_modules/p-locate/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/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.12" } }, - "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/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": ">=6" + "iojs": ">=1.0.0", + "node": ">=0.10.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/parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "dependencies": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "node_modules/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "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" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, - "node_modules/parallel-transform/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/parallel-transform/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/rollup": { + "version": "1.32.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", + "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/parcel": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.8.3.tgz", - "integrity": "sha512-5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA==", - "dev": true, - "dependencies": { - "@parcel/config-default": "2.8.3", - "@parcel/core": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/reporter-cli": "2.8.3", - "@parcel/reporter-dev-server": "2.8.3", - "@parcel/utils": "2.8.3", - "chalk": "^4.1.0", - "commander": "^7.0.0", - "get-port": "^4.2.0", - "v8-compile-cache": "^2.0.0" + "@types/estree": "*", + "@types/node": "*", + "acorn": "^7.1.0" }, "bin": { - "parcel": "lib/bin.js" + "rollup": "dist/bin/rollup" + } + }, + "node_modules/rollup-plugin-sourcemaps": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", + "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.9", + "source-map-resolve": "^0.6.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=10.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "peerDependencies": { + "@types/node": ">=10.0.0", + "rollup": ">=0.31.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": 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/rollup-plugin-terser": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", + "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", "dev": true, "dependencies": { - "callsites": "^3.0.0" + "@babel/code-frame": "^7.5.5", + "jest-worker": "^24.9.0", + "rollup-pluginutils": "^2.8.2", + "serialize-javascript": "^4.0.0", + "terser": "^4.6.2" }, - "engines": { - "node": ">=6" + "peerDependencies": { + "rollup": ">=0.66.0 <3" } }, - "node_modules/parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/rollup-plugin-terser/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": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "engines": { + "node": ">=4" } }, - "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/rollup-plugin-terser/node_modules/jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", "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" + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, - "node_modules/parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { "node": ">=6" } }, - "node_modules/parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "node_modules/rollup-plugin-typescript2": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", + "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", "dev": true, "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "@rollup/pluginutils": "^3.1.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "8.1.0", + "resolve": "1.17.0", + "tslib": "2.0.1" + }, + "peerDependencies": { + "rollup": ">=1.26.3", + "typescript": ">=2.4.0" } }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "node_modules/rollup-plugin-typescript2/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": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "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==", - "dev": true - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "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/rollup-plugin-typescript2/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": ">=8" + "node": ">=6 <7 || >=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/rollup-plugin-typescript2/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "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/rollup-plugin-typescript2/node_modules/resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/rollup-plugin-typescript2/node_modules/tslib": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", + "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", "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/rollup-plugin-typescript2/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/pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", "dev": true, "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" + "estree-walker": "^0.6.1" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "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/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/rsvp": { + "version": "4.8.5", + "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true, "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": "6.* || >= 7.*" } }, - "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/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/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "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, - "engines": { - "node": ">= 6" + "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/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==", + "node_modules/run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", "dev": true, "dependencies": { - "find-up": "^4.0.0" + "aproba": "^1.1.1" + } + }, + "node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" }, "engines": { - "node": ">=8" + "npm": ">=2.0.0" } }, - "node_modules/pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", + "node_modules/rxjs/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/pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", "dev": true, "dependencies": { - "ts-pnp": "^1.1.6" + "mri": "^1.1.0" }, "engines": { "node": ">=6" } }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.4.20", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", - "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", - "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==", "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "dev": true, "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" + "ret": "~0.1.10" } }, - "node_modules/postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "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": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" }, - "peerDependencies": { - "postcss": "^8.2.2" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "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/sane": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", + "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", + "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", "dev": true, "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "@cnakazawa/watch": "^1.0.3", + "anymatch": "^2.0.0", + "capture-exit": "^2.0.0", + "exec-sh": "^0.3.2", + "execa": "^1.0.0", + "fb-watchman": "^2.0.0", + "micromatch": "^3.1.4", + "minimist": "^1.1.1", + "walker": "~1.0.5" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "sane": "src/cli.js" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node_modules/sane/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "node_modules/sane/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "is-extendable": "^0.1.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "node_modules/sane/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=4.8" } }, - "node_modules/postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "node_modules/sane/node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, - "engines": { - "node": "^10 || ^12 || >=14.0" + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=6" } }, - "node_modules/postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "node_modules/sane/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "is-extendable": "^0.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "node_modules/sane/node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "pump": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=6" } }, - "node_modules/postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "node_modules/sane/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "node_modules/sane/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "kind-of": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" + "is-buffer": "^1.1.5" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.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==", + "node_modules/sane/node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.0" } }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "node_modules/sane/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.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==", + "node_modules/sane/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.4" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=0.10.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/sane/node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", "dev": true, "dependencies": { - "icss-utils": "^5.0.0" + "path-key": "^2.0.0" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=4" } }, - "node_modules/postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "node_modules/sane/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", "dev": true, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "node_modules/sane/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "semver": "bin/semver" } }, - "node_modules/postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "node_modules/sane/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "shebang-regex": "^1.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "node_modules/sane/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "node_modules/sane/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "node_modules/sane/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": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "isexe": "^2.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "which": "bin/which" } }, - "node_modules/postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "node_modules/saxes": { + "version": "3.1.11", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "xmlchars": "^2.1.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">= 10.13.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "lru-cache": "^6.0.0" }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "bin": { + "semver": "bin/semver.js" }, - "peerDependencies": { - "postcss": "^8.2.15" + "engines": { + "node": ">=10" } }, - "node_modules/postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "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": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10" } }, - "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "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/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "randombytes": "^2.1.0" } }, - "node_modules/postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "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-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "node_modules/set-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "sha.js": "bin.js" } }, - "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/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "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": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" + "kind-of": "^6.0.2" }, "engines": { - "node": ">=12.0.0" + "node": ">=8" } }, - "node_modules/posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "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": { - "htmlparser2": "^7.1.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/posthtml-render": { + "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "dependencies": { - "is-json": "^2.0.1" - }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/posthtml/node_modules/posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", "dev": true, "dependencies": { - "htmlparser2": "^7.1.1" + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" }, "engines": { - "node": ">=12" + "node": ">=4" } }, - "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==", + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "optional": true }, - "node_modules/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "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, - "bin": { - "prettier": "bin-prettier.js" + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, "dependencies": { - "fast-diff": "^1.1.2" + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 10" } }, - "node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/size-limit": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", + "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "bytes-iec": "^3.1.1", + "chokidar": "^3.5.2", + "ci-job-number": "^1.2.2", + "globby": "^11.0.4", + "lilconfig": "^2.0.3", + "mico-spinner": "^1.3.0", + "picocolors": "^0.1.0" + }, + "bin": { + "size-limit": "bin.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/size-limit/node_modules/picocolors": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", + "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", + "dev": true + }, + "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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "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, "dependencies": { - "parse-ms": "^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/sponsors/sindresorhus" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, "engines": { - "node": ">= 0.6.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/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", - "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "dependencies": { - "chalk": "^2.4.1", - "cli-spinners": "^1.3.1", - "humanize-duration": "^3.15.3", - "log-update": "^2.3.0" + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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==", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/snapdragon/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": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "ms": "2.0.0" } }, - "node_modules/progress-estimator/node_modules/cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "color-name": "1.1.3" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/progress-estimator/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/snapdragon/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/progress-estimator/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/snapdragon/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "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 - }, - "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/snapdragon/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "node_modules/snapdragon/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/public-encrypt/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "node_modules/snapdragon/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/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "node_modules/snapdragon/node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, "dependencies": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, - "node_modules/pumpify/node_modules/pump": { + "node_modules/source-list-map": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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": ">=6" + "node": ">=0.10.0" } }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "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.6" + "node": ">=0.10.0" } }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, - "engines": { - "node": ">=0.4.x" + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" } }, - "node_modules/querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, - "engines": { - "node": ">=0.4.x" + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "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/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "dependencies": { - "safe-buffer": "^5.1.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "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": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", - "dev": true - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", "dev": true }, - "node_modules/react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "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==", + "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/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "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" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/ssri": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", + "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", "dev": true, "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "figgy-pudding": "^3.5.1" } }, - "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==", + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, "dependencies": { - "picomatch": "^2.2.1" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8.10.0" + "node": ">=0.10.0" } }, - "node_modules/realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", + "node_modules/static-extend/node_modules/is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", "dev": true, + "dependencies": { + "kind-of": "^3.0.2" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/recast": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", - "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", + "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "ast-types": "0.11.7", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "node_modules/static-extend/node_modules/is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", "dev": true, "dependencies": { - "resolve": "^1.1.6" + "kind-of": "^3.0.2" }, "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "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.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", + "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "regenerate": "^1.4.2" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=4" + "node": ">=0.10.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==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "dependencies": { - "@babel/runtime": "^7.8.4" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/static-extend/node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, - "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" + "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/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "node_modules/stream-browserify/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/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/stream-browserify/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": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" + "safe-buffer": "~5.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/stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "node_modules/stream-http/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, - "engines": { - "node": ">=0.10" + "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/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "node_modules/stream-http/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/stream-http/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": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" + "safe-buffer": "~5.1.0" } }, - "node_modules/request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "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==", "dependencies": { - "lodash": "^4.17.19" - }, - "engines": { - "node": ">=0.10.0" - }, - "peerDependencies": { - "request": "^2.34" + "safe-buffer": "~5.2.0" } }, - "node_modules/request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "dependencies": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.12.0" - }, - "peerDependencies": { - "request": "^2.34" + "node": ">=10" } }, - "node_modules/request-promise-native/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "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": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=0.8" + "node": ">=8" } }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", "dev": true, "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" }, - "engines": { - "node": ">=0.8" - } - }, - "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" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "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": { - "resolve-from": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "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/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, "engines": { "node": ">=8" } }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "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": ">=10" + "node": ">=6" } }, - "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/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, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "node_modules/structured-headers": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", + "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" + }, + "node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, "engines": { - "node": ">=0.12" + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "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/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "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": { - "glob": "^7.1.3" + "has-flag": "^4.0.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=8" } }, - "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", + "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/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", "dev": true, "dependencies": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" }, "bin": { - "rollup": "dist/bin/rollup" + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" } }, - "node_modules/rollup-plugin-sourcemaps": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", - "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", + "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/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": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" + "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" - }, - "peerDependencies": { - "@types/node": ">=10.0.0", - "rollup": ">=0.31.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } } }, - "node_modules/rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "node_modules/table/node_modules/ajv": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", + "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "peerDependencies": { - "rollup": ">=0.66.0 <3" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/rollup-plugin-terser/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/table/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/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", "dev": true, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" + "rimraf": "~2.6.2" }, "engines": { - "node": ">= 6" + "node": ">=6.0.0" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" }, "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rollup-plugin-typescript2": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", - "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", + "node_modules/terser": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", + "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.17.0", - "tslib": "2.0.1" + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" }, - "peerDependencies": { - "rollup": ">=1.26.3", - "typescript": ">=2.4.0" + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/rollup-plugin-typescript2/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==", + "node_modules/terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" }, "engines": { - "node": ">=8" + "node": ">= 6.9.0" }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "peerDependencies": { + "webpack": "^4.0.0" } }, - "node_modules/rollup-plugin-typescript2/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/terser-webpack-plugin/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, "engines": { - "node": ">=6 <7 || >=8" + "node": ">= 4" } }, - "node_modules/rollup-plugin-typescript2/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/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/rollup-plugin-typescript2/node_modules/resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "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": { - "path-parse": "^1.0.6" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/rollup-plugin-typescript2/node_modules/tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", + "node_modules/text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==", + "deprecated": "no longer maintained" + }, + "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/rollup-plugin-typescript2/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==", + "node_modules/throat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", + "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", + "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/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "node_modules/through2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, "dependencies": { - "estree-walker": "^0.6.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/rollup-pluginutils/node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "node_modules/through2/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/rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", + "node_modules/through2/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, - "engines": { - "node": "6.* || >= 7.*" + "dependencies": { + "safe-buffer": "~5.1.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/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, - "engines": { - "node": ">=0.12.0" + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.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==", + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", "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" + "globalyzer": "0.1.0", + "globrex": "^0.1.2" } }, - "node_modules/run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", + "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": { - "aproba": "^1.1.1" + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", + "dev": true + }, + "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-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "kind-of": "^3.0.2" }, "engines": { - "npm": ">=2.0.0" + "node": ">=0.10.0" } }, - "node_modules/rxjs/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/to-object-path/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "dependencies": { - "mri": "^1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "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==", - "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/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/safe-regex": { + "node_modules/totalist": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", "dev": true, - "dependencies": { - "ret": "~0.1.10" + "engines": { + "node": ">=6" } }, - "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/tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=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/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } }, - "node_modules/sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "deprecated": "some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added", + "node_modules/ts-migrate": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", + "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", "dev": true, "dependencies": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" + "create-jest-runner": "^0.5.3", + "json5": "^2.1.1", + "json5-writer": "^0.1.8", + "ts-migrate-plugins": "^0.1.35", + "ts-migrate-server": "^0.1.33", + "updatable-log": "^0.2.0", + "yargs": "^15.0.2" }, "bin": { - "sane": "src/cli.js" + "ts-migrate": "build/cli.js", + "ts-migrate-full": "bin/ts-migrate-full.sh" }, - "engines": { - "node": "6.* || 8.* || >= 10.*" + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/sane/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "node_modules/ts-migrate-plugins": { + "version": "0.1.35", + "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", + "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", "dev": true, "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "eslint": "^7.14.0", + "jscodeshift": "^0.13.0", + "json-schema": "^0.4.0", + "ts-migrate-server": "^0.1.33" + }, + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/sane/node_modules/braces": { + "node_modules/ts-migrate-plugins/node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ts-migrate-plugins/node_modules/braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", @@ -16889,7 +15871,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/braces/node_modules/extend-shallow": { + "node_modules/ts-migrate-plugins/node_modules/braces/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -16901,41 +15883,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/sane/node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sane/node_modules/fill-range": { + "node_modules/ts-migrate-plugins/node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", @@ -16950,7 +15898,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/fill-range/node_modules/extend-shallow": { + "node_modules/ts-migrate-plugins/node_modules/fill-range/node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", @@ -16962,19 +15910,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/sane/node_modules/is-extendable": { + "node_modules/ts-migrate-plugins/node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", @@ -16983,7 +15919,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-number": { + "node_modules/ts-migrate-plugins/node_modules/is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", @@ -16995,7 +15931,7 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-number/node_modules/kind-of": { + "node_modules/ts-migrate-plugins/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", @@ -17007,16 +15943,40 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "node_modules/ts-migrate-plugins/node_modules/jscodeshift": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", + "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@babel/core": "^7.13.16", + "@babel/parser": "^7.13.16", + "@babel/plugin-proposal-class-properties": "^7.13.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", + "@babel/plugin-proposal-optional-chaining": "^7.13.12", + "@babel/plugin-transform-modules-commonjs": "^7.13.8", + "@babel/preset-flow": "^7.13.13", + "@babel/preset-typescript": "^7.13.0", + "@babel/register": "^7.13.16", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^3.1.10", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.20.4", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" + }, + "bin": { + "jscodeshift": "bin/jscodeshift.js" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" } }, - "node_modules/sane/node_modules/micromatch": { + "node_modules/ts-migrate-plugins/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", @@ -17040,2025 +16000,2169 @@ "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "node_modules/ts-migrate-plugins/node_modules/recast": { + "version": "0.20.5", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", + "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", "dev": true, "dependencies": { - "remove-trailing-separator": "^1.0.1" + "ast-types": "0.14.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/sane/node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "node_modules/ts-migrate-plugins/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "path-key": "^2.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=4" - } - }, - "node_modules/sane/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/sane/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/ts-migrate-plugins/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, - "bin": { - "semver": "bin/semver" + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, - "node_modules/sane/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/ts-migrate-server": { + "version": "0.1.33", + "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", + "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", "dev": true, "dependencies": { - "shebang-regex": "^1.0.0" + "@ts-morph/bootstrap": "^0.16.0", + "pretty-ms": "^7.0.1", + "updatable-log": "^0.2.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "typescript": ">4.0" } }, - "node_modules/sane/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/ts-migrate/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/sane/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/ts-migrate/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/sane/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/ts-migrate/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8" } }, - "node_modules/saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", + "node_modules/ts-migrate/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { - "xmlchars": "^2.1.1" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, "engines": { - "node": ">= 10.13.0" + "node": ">=6" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "node_modules/tsconfig-paths": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" } }, - "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/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": { - "yallist": "^4.0.0" + "minimist": "^1.2.0" }, - "engines": { - "node": ">=10" + "bin": { + "json5": "lib/cli.js" } }, - "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/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/tsconfig-paths/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, - "dependencies": { - "randombytes": "^2.1.0" + "engines": { + "node": ">=4" } }, - "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-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "node_modules/tsdx": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", + "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "@babel/core": "^7.4.4", + "@babel/helper-module-imports": "^7.0.0", + "@babel/parser": "^7.11.5", + "@babel/plugin-proposal-class-properties": "^7.4.4", + "@babel/preset-env": "^7.11.0", + "@babel/traverse": "^7.11.5", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-commonjs": "^11.0.0", + "@rollup/plugin-json": "^4.0.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "@rollup/plugin-replace": "^2.2.1", + "@types/jest": "^25.2.1", + "@typescript-eslint/eslint-plugin": "^2.12.0", + "@typescript-eslint/parser": "^2.12.0", + "ansi-escapes": "^4.2.1", + "asyncro": "^3.0.0", + "babel-eslint": "^10.0.3", + "babel-plugin-annotate-pure-calls": "^0.4.0", + "babel-plugin-dev-expression": "^0.2.1", + "babel-plugin-macros": "^2.6.1", + "babel-plugin-polyfill-regenerator": "^0.0.4", + "babel-plugin-transform-rename-import": "^2.3.0", + "camelcase": "^6.0.0", + "chalk": "^4.0.0", + "enquirer": "^2.3.4", + "eslint": "^6.1.0", + "eslint-config-prettier": "^6.0.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-prettier": "^3.1.0", + "eslint-plugin-react": "^7.14.3", + "eslint-plugin-react-hooks": "^2.2.0", + "execa": "^4.0.3", + "fs-extra": "^9.0.0", + "jest": "^25.3.0", + "jest-watch-typeahead": "^0.5.0", + "jpjs": "^1.2.1", + "lodash.merge": "^4.6.2", + "ora": "^4.0.3", + "pascal-case": "^3.1.1", + "prettier": "^1.19.1", + "progress-estimator": "^0.2.2", + "regenerator-runtime": "^0.13.7", + "rollup": "^1.32.1", + "rollup-plugin-sourcemaps": "^0.6.2", + "rollup-plugin-terser": "^5.1.2", + "rollup-plugin-typescript2": "^0.27.3", + "sade": "^1.4.2", + "semver": "^7.1.1", + "shelljs": "^0.8.3", + "tiny-glob": "^0.2.6", + "ts-jest": "^25.3.1", + "tslib": "^1.9.3", + "typescript": "^3.7.3" + }, + "bin": { + "tsdx": "dist/index.js" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/set-value/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", + "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "@babel/helper-compilation-targets": "^7.10.4", + "@babel/helper-module-imports": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/traverse": "^7.11.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "@babel/core": "^7.4.0-0" } }, - "node_modules/set-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "node_modules/tsdx/node_modules/@jest/console": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", + "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", "dev": true, "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "jest-message-util": "^25.5.0", + "jest-util": "^25.5.0", + "slash": "^3.0.0" }, - "bin": { - "sha.js": "bin.js" + "engines": { + "node": ">= 8.3" } }, - "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/tsdx/node_modules/@jest/console/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "kind-of": "^6.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "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/tsdx/node_modules/@jest/core": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", + "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", "dev": true, "dependencies": { - "shebang-regex": "^3.0.0" + "@jest/console": "^25.5.0", + "@jest/reporters": "^25.5.1", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-changed-files": "^25.5.0", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-resolve-dependencies": "^25.5.4", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "jest-watcher": "^25.5.0", + "micromatch": "^4.0.2", + "p-each-series": "^2.1.0", + "realpath-native": "^2.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/shebang-regex": { + "node_modules/tsdx/node_modules/@jest/core/node_modules/chalk": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=8" } }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "node_modules/tsdx/node_modules/@jest/core/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.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" + "glob": "^7.1.3" }, "bin": { - "shjs": "bin/shjs" + "rimraf": "bin.js" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "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/tsdx/node_modules/@jest/core/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": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "ansi-regex": "^5.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "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/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "node_modules/tsdx/node_modules/@jest/environment": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", + "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", "dev": true, "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0" }, "engines": { - "node": ">= 10" + "node": ">= 8.3" } }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/size-limit": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", - "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", + "node_modules/tsdx/node_modules/@jest/fake-timers": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", + "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", "dev": true, "dependencies": { - "bytes-iec": "^3.1.1", - "chokidar": "^3.5.2", - "ci-job-number": "^1.2.2", - "globby": "^11.0.4", - "lilconfig": "^2.0.3", - "mico-spinner": "^1.3.0", - "picocolors": "^0.1.0" - }, - "bin": { - "size-limit": "bin.js" + "@jest/types": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "lolex": "^5.0.0" }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">= 8.3" } }, - "node_modules/size-limit/node_modules/picocolors": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", - "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/tsdx/node_modules/@jest/globals": { + "version": "25.5.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", + "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", "dev": true, + "dependencies": { + "@jest/environment": "^25.5.0", + "@jest/types": "^25.5.0", + "expect": "^25.5.0" + }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "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==", + "node_modules/tsdx/node_modules/@jest/reporters": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", + "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.4", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^4.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.0.2", + "jest-haste-map": "^25.5.1", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^3.1.0", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^4.1.3" }, "engines": { - "node": ">=10" + "node": ">= 8.3" }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "optionalDependencies": { + "node-notifier": "^6.0.0" } }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "node_modules/tsdx/node_modules/@jest/reporters/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "node_modules/tsdx/node_modules/@jest/source-map": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", + "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", "dev": true, "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "callsites": "^3.0.0", + "graceful-fs": "^4.2.4", + "source-map": "^0.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "node_modules/tsdx/node_modules/@jest/test-result": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", + "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", "dev": true, "dependencies": { - "is-descriptor": "^1.0.0" + "@jest/console": "^25.5.0", + "@jest/types": "^25.5.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/tsdx/node_modules/@jest/test-sequencer": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", + "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", "dev": true, "dependencies": { - "kind-of": "^3.2.0" + "@jest/test-result": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-runner": "^25.5.4", + "jest-runtime": "^25.5.4" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/@jest/transform": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", + "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@babel/core": "^7.1.0", + "@jest/types": "^25.5.0", + "babel-plugin-istanbul": "^6.0.0", + "chalk": "^3.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-haste-map": "^25.5.1", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.5.0", + "micromatch": "^4.0.2", + "pirates": "^4.0.1", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/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": ">= 8.3" } }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/tsdx/node_modules/@jest/transform/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "is-descriptor": "^0.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/@jest/types": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", + "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^1.1.1", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "node_modules/tsdx/node_modules/@jest/types/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/snapdragon/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/@types/istanbul-reports": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", + "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "@types/istanbul-lib-coverage": "*", + "@types/istanbul-lib-report": "*" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "node_modules/tsdx/node_modules/@types/prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", + "dev": true + }, + "node_modules/tsdx/node_modules/@types/stack-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", + "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", + "dev": true + }, + "node_modules/tsdx/node_modules/@types/yargs": { + "version": "15.0.14", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", + "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "@types/yargs-parser": "*" } }, - "node_modules/snapdragon/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", + "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@typescript-eslint/experimental-utils": "2.34.0", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" }, "engines": { - "node": ">=0.10.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^2.0.0", + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/tsdx/node_modules/@typescript-eslint/parser": { + "version": "2.34.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", + "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", "dev": true, "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.34.0", + "@typescript-eslint/typescript-estree": "2.34.0", + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=0.10.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/snapdragon/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tsdx/node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/snapdragon/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/tsdx/node_modules/babel-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", + "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", "dev": true, + "dependencies": { + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/babel__core": "^7.1.7", + "babel-plugin-istanbul": "^6.0.0", + "babel-preset-jest": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "slash": "^3.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/snapdragon/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/tsdx/node_modules/babel-jest/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/snapdragon/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "node_modules/tsdx/node_modules/babel-plugin-jest-hoist": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", + "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__traverse": "^7.0.6" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/snapdragon/node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/tsdx/node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", + "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", "dev": true, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "@babel/helper-define-polyfill-provider": "^0.0.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true + "node_modules/tsdx/node_modules/babel-preset-current-node-syntax": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", + "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } }, - "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/tsdx/node_modules/babel-preset-jest": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", + "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^25.5.0", + "babel-preset-current-node-syntax": "^0.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.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/tsdx/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "node_modules/tsdx/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/tsdx/node_modules/cliui/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": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/tsdx/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": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "color-name": "1.1.3" } }, - "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/tsdx/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/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.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "node_modules/tsdx/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/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/tsdx/node_modules/diff-sequences": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true, - "dependencies": { - "extend-shallow": "^3.0.0" - }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.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==", + "node_modules/tsdx/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "node_modules/srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "node_modules/tsdx/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "node_modules/tsdx/node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", "dev": true, "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" }, "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=0.10.0" + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", + "node_modules/tsdx/node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", "dev": true, "dependencies": { - "figgy-pudding": "^3.5.1" + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true + "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", + "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "dev": true, + "engines": { + "node": ">=7" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + } }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/tsdx/node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", "dev": true, "dependencies": { - "escape-string-regexp": "^2.0.0" + "eslint-visitor-keys": "^1.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/tsdx/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "node_modules/tsdx/node_modules/eslint/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": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "node_modules/tsdx/node_modules/eslint/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": { - "is-descriptor": "^0.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/static-extend/node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" }, "engines": { - "node": ">=0.10.0" + "node": ">=4.8" } }, - "node_modules/static-extend/node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" + "bin": { + "semver": "bin/semver" } }, - "node_modules/static-extend/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "node_modules/tsdx/node_modules/eslint/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.10.0" + "node": ">=0.8.0" } }, - "node_modules/stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", + "node_modules/tsdx/node_modules/eslint/node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6.5.0" } }, - "node_modules/stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/tsdx/node_modules/eslint/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/tsdx/node_modules/eslint/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": { - "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" + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/stream-browserify/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/stream-browserify/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/tsdx/node_modules/eslint/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": { - "safe-buffer": "~5.1.0" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/tsdx/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", "dev": true, "dependencies": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/tsdx/node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, "dependencies": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/tsdx/node_modules/expect": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", + "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", "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" + "@jest/types": "^25.5.0", + "ansi-styles": "^4.0.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-regex-util": "^25.2.6" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/stream-http/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/stream-http/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/tsdx/node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/tsdx/node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", "dev": true, "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" }, "engines": { - "node": ">=10" + "node": ">=4" } }, - "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/tsdx/node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/tsdx/node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "pump": "^3.0.0" }, "engines": { "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "node_modules/tsdx/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "type-fest": "^0.8.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "engines": { + "node": ">=8" }, "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/tsdx/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": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "node_modules/tsdx/node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=8.12.0" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "node_modules/tsdx/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 4" } }, - "node_modules/strip-final-newline": { + "node_modules/tsdx/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, "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/tsdx/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, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/structured-headers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", - "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" - }, - "node_modules/style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/tsdx/node_modules/istanbul-lib-instrument": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", + "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", "dev": true, "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "@babel/core": "^7.7.5", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.0.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "node": ">=8" } }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "node_modules/tsdx/node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "semver": "bin/semver.js" } }, - "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/tsdx/node_modules/jest": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", + "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "@jest/core": "^25.5.4", + "import-local": "^3.0.2", + "jest-cli": "^25.5.4" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "node_modules/tsdx/node_modules/jest-changed-files": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", + "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", "dev": true, "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "@jest/types": "^25.5.0", + "execa": "^3.2.0", + "throat": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">= 8.3" } }, - "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==", + "node_modules/tsdx/node_modules/jest-changed-files/node_modules/execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "node_modules/tsdx/node_modules/jest-cli": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", + "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", "dev": true, "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" + "@jest/core": "^25.5.4", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "import-local": "^3.0.2", + "is-ci": "^2.0.0", + "jest-config": "^25.5.4", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "prompts": "^2.0.1", + "realpath-native": "^2.0.0", + "yargs": "^15.3.1" }, "bin": { - "svgo": "bin/svgo" + "jest": "bin/jest.js" }, "engines": { - "node": ">=10.13.0" + "node": ">= 8.3" } }, - "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/table": { - "version": "6.8.1", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", - "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "node_modules/tsdx/node_modules/jest-cli/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=8" } }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "node_modules/tsdx/node_modules/jest-config": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", + "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", "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" + "@babel/core": "^7.1.0", + "@jest/test-sequencer": "^25.5.4", + "@jest/types": "^25.5.0", + "babel-jest": "^25.5.1", + "chalk": "^3.0.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.4", + "jest-environment-jsdom": "^25.5.0", + "jest-environment-node": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.5.4", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "micromatch": "^4.0.2", + "pretty-format": "^25.5.0", + "realpath-native": "^2.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/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/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "node_modules/tsdx/node_modules/jest-config/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "rimraf": "~2.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" } }, - "node_modules/term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", + "node_modules/tsdx/node_modules/jest-diff": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", + "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "chalk": "^3.0.0", + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8.3" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "node_modules/tsdx/node_modules/jest-diff/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", + "node_modules/tsdx/node_modules/jest-docblock": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", + "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", "dev": true, "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" + "detect-newline": "^3.0.0" }, "engines": { - "node": ">=6.0.0" + "node": ">= 8.3" } }, - "node_modules/terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "node_modules/tsdx/node_modules/jest-environment-node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", + "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", "dev": true, "dependencies": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" + "@jest/environment": "^25.5.0", + "@jest/fake-timers": "^25.5.0", + "@jest/types": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-util": "^25.5.0", + "semver": "^6.3.0" }, "engines": { - "node": ">= 6.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" + "node": ">= 8.3" } }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "node_modules/tsdx/node_modules/jest-environment-node/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" + "bin": { + "semver": "bin/semver.js" } }, - "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/tsdx/node_modules/jest-get-type": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "dev": true, + "engines": { + "node": ">= 8.3" + } }, - "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==", + "node_modules/tsdx/node_modules/jest-haste-map": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", + "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", "dev": true, "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "@jest/types": "^25.5.0", + "@types/graceful-fs": "^4.1.2", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.4", + "jest-serializer": "^25.5.0", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" }, "engines": { - "node": ">=8" + "node": ">= 8.3" + }, + "optionalDependencies": { + "fsevents": "^2.1.2" } }, - "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/throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", - "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/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/tsdx/node_modules/jest-leak-detector": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", + "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", "dev": true, "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/tsdx/node_modules/jest-matcher-utils": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", + "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", "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" + "chalk": "^3.0.0", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.5.0" + }, + "engines": { + "node": ">= 8.3" } }, - "node_modules/through2/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/through2/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/tsdx/node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "safe-buffer": "~5.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "node_modules/tsdx/node_modules/jest-message-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", + "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", "dev": true, "dependencies": { - "setimmediate": "^1.0.4" + "@babel/code-frame": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/stack-utils": "^1.0.1", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.2", + "slash": "^3.0.0", + "stack-utils": "^1.0.1" }, "engines": { - "node": ">=0.6.0" + "node": ">= 8.3" } }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", - "dev": true - }, - "node_modules/tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "node_modules/tsdx/node_modules/jest-message-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/tsdx/node_modules/jest-mock": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", + "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", "dev": true, "dependencies": { - "os-tmpdir": "~1.0.2" + "@jest/types": "^25.5.0" }, "engines": { - "node": ">=0.6.0" + "node": ">= 8.3" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true - }, - "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==", + "node_modules/tsdx/node_modules/jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "node_modules/tsdx/node_modules/jest-resolve": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", + "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "@jest/types": "^25.5.0", + "browser-resolve": "^1.11.3", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "jest-pnp-resolver": "^1.2.1", + "read-pkg-up": "^7.0.1", + "realpath-native": "^2.0.0", + "resolve": "^1.17.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/jest-resolve-dependencies": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", + "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "@jest/types": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.5.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/tsdx/node_modules/jest-resolve/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "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==", + "node_modules/tsdx/node_modules/jest-runner": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", + "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", "dev": true, "dependencies": { - "is-number": "^7.0.0" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-docblock": "^25.3.0", + "jest-haste-map": "^25.5.1", + "jest-jasmine2": "^25.5.4", + "jest-leak-detector": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "jest-runtime": "^25.5.4", + "jest-util": "^25.5.0", + "jest-worker": "^25.5.0", + "source-map-support": "^0.5.6", + "throat": "^5.0.0" }, "engines": { - "node": ">=8.0" + "node": ">= 8.3" } }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "node_modules/tsdx/node_modules/jest-runner/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "node_modules/tsdx/node_modules/jest-runtime": { + "version": "25.5.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", + "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", "dev": true, "dependencies": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" + "@jest/console": "^25.5.0", + "@jest/environment": "^25.5.0", + "@jest/globals": "^25.5.2", + "@jest/source-map": "^25.5.0", + "@jest/test-result": "^25.5.0", + "@jest/transform": "^25.5.1", + "@jest/types": "^25.5.0", + "@types/yargs": "^15.0.0", + "chalk": "^3.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.4", + "jest-config": "^25.5.4", + "jest-haste-map": "^25.5.1", + "jest-message-util": "^25.5.0", + "jest-mock": "^25.5.0", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.5.1", + "jest-snapshot": "^25.5.1", + "jest-util": "^25.5.0", + "jest-validate": "^25.5.0", + "realpath-native": "^2.0.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "jest-runtime": "bin/jest-runtime.js" }, "engines": { - "node": ">=6" + "node": ">= 8.3" } }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "node_modules/tsdx/node_modules/jest-runtime/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ts-migrate": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", - "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/jest-snapshot": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", + "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", "dev": true, "dependencies": { - "create-jest-runner": "^0.5.3", - "json5": "^2.1.1", - "json5-writer": "^0.1.8", - "ts-migrate-plugins": "^0.1.35", - "ts-migrate-server": "^0.1.33", - "updatable-log": "^0.2.0", - "yargs": "^15.0.2" - }, - "bin": { - "ts-migrate": "build/cli.js", - "ts-migrate-full": "bin/ts-migrate-full.sh" + "@babel/types": "^7.0.0", + "@jest/types": "^25.5.0", + "@types/prettier": "^1.19.0", + "chalk": "^3.0.0", + "expect": "^25.5.0", + "graceful-fs": "^4.2.4", + "jest-diff": "^25.5.0", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.5.0", + "jest-message-util": "^25.5.0", + "jest-resolve": "^25.5.1", + "make-dir": "^3.0.0", + "natural-compare": "^1.4.0", + "pretty-format": "^25.5.0", + "semver": "^6.3.0" }, - "peerDependencies": { - "typescript": ">4.0" + "engines": { + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", - "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "eslint": "^7.14.0", - "jscodeshift": "^0.13.0", - "json-schema": "^0.4.0", - "ts-migrate-server": "^0.1.33" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "peerDependencies": { - "typescript": ">4.0" + "engines": { + "node": ">=8" } }, - "node_modules/ts-migrate-plugins/node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "node_modules/tsdx/node_modules/jest-snapshot/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/jest-util": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", + "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", "dev": true, "dependencies": { - "tslib": "^2.0.1" + "@jest/types": "^25.5.0", + "chalk": "^3.0.0", + "graceful-fs": "^4.2.4", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "node_modules/tsdx/node_modules/jest-util/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ts-migrate-plugins/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-validate": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", + "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "@jest/types": "^25.5.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "jest-get-type": "^25.2.6", + "leven": "^3.1.0", + "pretty-format": "^25.5.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "node_modules/tsdx/node_modules/jest-validate/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/tsdx/node_modules/jest-validate/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ts-migrate-plugins/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "node_modules/tsdx/node_modules/jest-watcher": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", + "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", "dev": true, "dependencies": { - "is-extendable": "^0.1.0" + "@jest/test-result": "^25.5.0", + "@jest/types": "^25.5.0", + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "jest-util": "^25.5.0", + "string-length": "^3.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "node_modules/tsdx/node_modules/jest-watcher/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/ts-migrate-plugins/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "node_modules/tsdx/node_modules/jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", "dev": true, "dependencies": { - "kind-of": "^3.0.2" + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "node_modules/tsdx/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "dev": true, "dependencies": { - "is-buffer": "^1.1.5" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/ts-migrate-plugins/node_modules/jscodeshift": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", - "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", + "node_modules/tsdx/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": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.4", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" + "minimist": "^1.2.6" }, "bin": { - "jscodeshift": "bin/jscodeshift.js" + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/tsdx/node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" }, - "peerDependencies": { - "@babel/preset-env": "^7.1.6" + "bin": { + "which": "bin/which" } }, - "node_modules/ts-migrate-plugins/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/tsdx/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "dev": true, "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/ts-migrate-plugins/node_modules/recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", + "node_modules/tsdx/node_modules/p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsdx/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsdx/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/tsdx/node_modules/pretty-format": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", + "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", "dev": true, "dependencies": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "@jest/types": "^25.5.0", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^16.12.0" }, "engines": { - "node": ">= 4" + "node": ">= 8.3" } }, - "node_modules/ts-migrate-plugins/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "node_modules/tsdx/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/tsdx/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "shebang-regex": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ts-migrate-plugins/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/tsdx/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/ts-migrate-server": { - "version": "0.1.33", - "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", - "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", + "node_modules/tsdx/node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", "dev": true, "dependencies": { - "@ts-morph/bootstrap": "^0.16.0", - "pretty-ms": "^7.0.1", - "updatable-log": "^0.2.0" + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" }, - "peerDependencies": { - "typescript": ">4.0" + "engines": { + "node": ">=6" } }, - "node_modules/ts-migrate/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "node_modules/tsdx/node_modules/slice-ansi/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": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "node_modules/ts-migrate/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/tsdx/node_modules/stack-utils": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", + "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "escape-string-regexp": "^2.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/ts-migrate/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "node_modules/tsdx/node_modules/string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" }, "engines": { "node": ">=8" } }, - "node_modules/ts-migrate/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "node_modules/tsdx/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "ansi-regex": "^4.1.0" }, "engines": { "node": ">=6" } }, - "node_modules/ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "node_modules/tsdx/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } } }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "node_modules/tsdx/node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", "dev": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.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==", + "node_modules/tsdx/node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { - "minimist": "^1.2.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, - "bin": { - "json5": "lib/cli.js" + "engines": { + "node": ">=6" } }, - "node_modules/tsconfig-paths/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/tsdx/node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "dev": true }, - "node_modules/tsdx": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", - "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", + "node_modules/tsdx/node_modules/ts-jest": { + "version": "25.5.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", + "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", "dev": true, "dependencies": { - "@babel/core": "^7.4.4", - "@babel/helper-module-imports": "^7.0.0", - "@babel/parser": "^7.11.5", - "@babel/plugin-proposal-class-properties": "^7.4.4", - "@babel/preset-env": "^7.11.0", - "@babel/traverse": "^7.11.5", - "@rollup/plugin-babel": "^5.1.0", - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-node-resolve": "^9.0.0", - "@rollup/plugin-replace": "^2.2.1", - "@types/jest": "^25.2.1", - "@typescript-eslint/eslint-plugin": "^2.12.0", - "@typescript-eslint/parser": "^2.12.0", - "ansi-escapes": "^4.2.1", - "asyncro": "^3.0.0", - "babel-eslint": "^10.0.3", - "babel-plugin-annotate-pure-calls": "^0.4.0", - "babel-plugin-dev-expression": "^0.2.1", - "babel-plugin-macros": "^2.6.1", - "babel-plugin-polyfill-regenerator": "^0.0.4", - "babel-plugin-transform-rename-import": "^2.3.0", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "enquirer": "^2.3.4", - "eslint": "^6.1.0", - "eslint-config-prettier": "^6.0.0", - "eslint-config-react-app": "^5.2.1", - "eslint-plugin-flowtype": "^3.13.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-jsx-a11y": "^6.2.3", - "eslint-plugin-prettier": "^3.1.0", - "eslint-plugin-react": "^7.14.3", - "eslint-plugin-react-hooks": "^2.2.0", - "execa": "^4.0.3", - "fs-extra": "^9.0.0", - "jest": "^25.3.0", - "jest-watch-typeahead": "^0.5.0", - "jpjs": "^1.2.1", - "lodash.merge": "^4.6.2", - "ora": "^4.0.3", - "pascal-case": "^3.1.1", - "prettier": "^1.19.1", - "progress-estimator": "^0.2.2", - "regenerator-runtime": "^0.13.7", - "rollup": "^1.32.1", - "rollup-plugin-sourcemaps": "^0.6.2", - "rollup-plugin-terser": "^5.1.2", - "rollup-plugin-typescript2": "^0.27.3", - "sade": "^1.4.2", - "semver": "^7.1.1", - "shelljs": "^0.8.3", - "tiny-glob": "^0.2.6", - "ts-jest": "^25.3.1", - "tslib": "^1.9.3", - "typescript": "^3.7.3" + "bs-logger": "0.x", + "buffer-from": "1.x", + "fast-json-stable-stringify": "2.x", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "micromatch": "4.x", + "mkdirp": "0.x", + "semver": "6.x", + "yargs-parser": "18.x" }, "bin": { - "tsdx": "dist/index.js" + "ts-jest": "cli.js" }, "engines": { - "node": ">=10" - } - }, - "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", - "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/traverse": "^7.11.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "node": ">= 8" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "jest": ">=25 <26", + "typescript": ">=3.4 <4.0" } }, - "node_modules/tsdx/node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", @@ -19067,103 +18171,84 @@ "semver": "bin/semver.js" } }, - "node_modules/tsdx/node_modules/@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", + "node_modules/tsdx/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/tsdx/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" + "prelude-ls": "~1.1.2" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.8.0" } }, - "node_modules/tsdx/node_modules/@jest/console/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/tsdx/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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", + "node_modules/tsdx/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", "dev": true, - "dependencies": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 8.3" + "node": ">=4.2.0" } }, - "node_modules/tsdx/node_modules/@jest/core/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/tsdx/node_modules/v8-to-istanbul": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", + "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" }, "engines": { - "node": ">=8" + "node": "8.x.x || >=10.10.0" } }, - "node_modules/tsdx/node_modules/@jest/core/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/tsdx/node_modules/v8-to-istanbul/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/tsdx/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/core/node_modules/strip-ansi": { + "node_modules/tsdx/node_modules/wrap-ansi/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==", @@ -19175,596 +18260,369 @@ "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", + "node_modules/tsdx/node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "dependencies": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "node_modules/tsdx/node_modules/@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", + "node_modules/tsdx/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, "engines": { - "node": ">= 8.3" + "node": ">=8" } }, - "node_modules/tsdx/node_modules/@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", + "node_modules/tsdx/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dev": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", + "node_modules/tsdx/node_modules/yargs-parser/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, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.5.1", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" - }, "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "node-notifier": "^6.0.0" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/@jest/reporters/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/tslib": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", + "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "dev": true + }, + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "tslib": "^1.8.1" }, "engines": { - "node": ">=8" + "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/tsdx/node_modules/@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", + "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/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" + "safe-buffer": "^5.0.1" }, "engines": { - "node": ">= 8.3" + "node": "*" } }, - "node_modules/tsdx/node_modules/@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "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": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 0.8.0" } }, - "node_modules/tsdx/node_modules/@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "dependencies": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - }, "engines": { - "node": ">= 8.3" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", + "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, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsdx/node_modules/@jest/transform/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "is-typedarray": "^1.0.0" } }, - "node_modules/tsdx/node_modules/@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", + "node_modules/typescript": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", + "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 8.3" + "node": ">=4.2.0" } }, - "node_modules/tsdx/node_modules/@jest/types/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/node_modules/@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", + "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, - "dependencies": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" + "engines": { + "node": ">=4" } }, - "node_modules/tsdx/node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "node_modules/tsdx/node_modules/@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "node_modules/tsdx/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/tsdx/node_modules/@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", + "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": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^2.0.0", - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4" } }, - "node_modules/tsdx/node_modules/@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", + "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, - "dependencies": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - }, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node": ">=4" } }, - "node_modules/tsdx/node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "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/tsdx/node_modules/babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "dependencies": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" }, "engines": { - "node": ">= 8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-jest/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/union-value/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "dev": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 8.3" + "unique-slug": "^2.0.0" } }, - "node_modules/tsdx/node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", - "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.0.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "imurmurhash": "^0.1.4" } }, - "node_modules/tsdx/node_modules/babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": ">= 10.0.0" } }, - "node_modules/tsdx/node_modules/babel-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - }, - "engines": { - "node": ">= 8.3" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/tsdx/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tsdx/node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/cliui/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/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, "dependencies": { - "ansi-regex": "^5.0.1" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/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/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/tsdx/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/tsdx/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/tsdx/node_modules/diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true, + "isarray": "1.0.0" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "node_modules/tsdx/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "optional": true, "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=4", + "yarn": "*" } }, - "node_modules/tsdx/node_modules/eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "node_modules/updatable-log": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", + "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", "dev": true, "dependencies": { - "confusing-browser-globals": "^1.0.9" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-plugin-flowtype": "3.x || 4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "1.x || 2.x" + "chalk": "^2.4.2", + "figures": "^3.0.0", + "log-update": "^3.3.0" } }, - "node_modules/tsdx/node_modules/eslint-plugin-react-hooks": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", - "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", + "node_modules/updatable-log/node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true, "engines": { - "node": ">=7" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "node_modules/updatable-log/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, "engines": { "node": ">=6" } }, - "node_modules/tsdx/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/tsdx/node_modules/eslint/node_modules/ansi-styles": { + "node_modules/updatable-log/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==", @@ -19776,7 +18634,7 @@ "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/chalk": { + "node_modules/updatable-log/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==", @@ -19790,32 +18648,40 @@ "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "node_modules/updatable-log/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", "dev": true, "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "restore-cursor": "^2.0.0" }, "engines": { - "node": ">=4.8" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/cross-spawn/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "node_modules/updatable-log/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, - "bin": { - "semver": "bin/semver" + "dependencies": { + "color-name": "1.1.3" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/escape-string-regexp": { + "node_modules/updatable-log/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/updatable-log/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/updatable-log/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==", @@ -19824,5721 +18690,2541 @@ "node": ">=0.8.0" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "node_modules/updatable-log/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": ">=6.5.0" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/updatable-log/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": { + "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/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/updatable-log/node_modules/log-update": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/updatable-log/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, "engines": { "node": ">=4" } }, - "node_modules/tsdx/node_modules/eslint/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/updatable-log/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", "dev": true, "dependencies": { - "isexe": "^2.0.0" + "mimic-fn": "^1.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=4" } }, - "node_modules/tsdx/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "node_modules/updatable-log/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", "dev": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/updatable-log/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", + "node_modules/updatable-log/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" + "ansi-regex": "^4.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "node_modules/updatable-log/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": { - "flat-cache": "^2.0.1" + "has-flag": "^3.0.0" }, "engines": { "node": ">=4" } }, - "node_modules/tsdx/node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "node_modules/updatable-log/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/tsdx/node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "node_modules/tsdx/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], "dependencies": { - "pump": "^3.0.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "browserslist-lint": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/tsdx/node_modules/globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "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": { - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "punycode": "^2.1.0" } }, - "node_modules/tsdx/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/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" } }, - "node_modules/tsdx/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "dev": true + }, + "node_modules/urlsafe-base64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", + "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, "engines": { - "node": ">=8.12.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "dev": true, - "engines": { - "node": ">= 4" + "dependencies": { + "inherits": "2.0.3" } }, - "node_modules/tsdx/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "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==" + }, + "node_modules/util/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/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, - "engines": { - "node": ">=4" + "bin": { + "uuid": "bin/uuid" } }, - "node_modules/tsdx/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/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/v8-to-istanbul": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", + "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", "dev": true, - "optional": true, "dependencies": { - "is-docker": "^2.0.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0" }, "engines": { - "node": ">=8" + "node": ">=10.12.0" } }, - "node_modules/tsdx/node_modules/istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/v8-to-istanbul/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/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": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/tsdx/node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/tsdx/node_modules/jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "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": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": ">= 8.3" + "browser-process-hrtime": "^1.0.0" } }, - "node_modules/tsdx/node_modules/jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", + "node_modules/w3c-xmlserializer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" + "domexception": "^1.0.1", + "webidl-conversions": "^4.0.2", + "xml-name-validator": "^3.0.0" } }, - "node_modules/tsdx/node_modules/jest-changed-files/node_modules/execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" + "makeerror": "1.0.12" } }, - "node_modules/tsdx/node_modules/jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", + "node_modules/watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "jest": "bin/jest.js" + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" }, - "engines": { - "node": ">= 8.3" + "optionalDependencies": { + "chokidar": "^3.4.1", + "watchpack-chokidar2": "^2.0.1" } }, - "node_modules/tsdx/node_modules/jest-cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "chokidar": "^2.1.8" } }, - "node_modules/tsdx/node_modules/jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", + "node_modules/watchpack-chokidar2/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, + "optional": true, "dependencies": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - }, - "engines": { - "node": ">= 8.3" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/tsdx/node_modules/jest-config/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "remove-trailing-separator": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", + "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, - "dependencies": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, + "optional": true, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-diff/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/watchpack-chokidar2/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", + "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "optional": true, "dependencies": { - "detect-newline": "^3.0.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", + "node_modules/watchpack-chokidar2/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", "dev": true, + "optional": true, "dependencies": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" }, - "engines": { - "node": ">= 8.3" + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "node_modules/tsdx/node_modules/jest-environment-node/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/tsdx/node_modules/jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", + "node_modules/watchpack-chokidar2/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", + "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "optional": true, "dependencies": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">= 8.3" - }, - "optionalDependencies": { - "fsevents": "^2.1.2" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", + "node_modules/watchpack-chokidar2/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "dependencies": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" + "bindings": "^1.5.0", + "nan": "^2.12.1" }, "engines": { - "node": ">= 8.3" + "node": ">= 4.0" } }, - "node_modules/tsdx/node_modules/jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", + "node_modules/watchpack-chokidar2/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", "dev": true, + "optional": true, "dependencies": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" } }, - "node_modules/tsdx/node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", + "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, + "optional": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-message-util/node_modules/chalk": { + "node_modules/watchpack-chokidar2/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack-chokidar2/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", + "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "optional": true, "dependencies": { - "@jest/types": "^25.5.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "node_modules/watchpack-chokidar2/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", + "node_modules/watchpack-chokidar2/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", "dev": true, + "optional": true, "dependencies": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" + "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/tsdx/node_modules/jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", + "node_modules/watchpack-chokidar2/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "optional": true, "dependencies": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10" } }, - "node_modules/tsdx/node_modules/jest-resolve/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/watchpack-chokidar2/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, + "optional": true + }, + "node_modules/watchpack-chokidar2/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, + "optional": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/tsdx/node_modules/jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", + "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "optional": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-runner/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "defaults": "^1.0.3" } }, - "node_modules/tsdx/node_modules/jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", + "node_modules/weak-map": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", + "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "dependencies": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.5.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.7.4", + "webpack-sources": "^1.4.1" }, "bin": { - "jest-runtime": "bin/jest-runtime.js" + "webpack": "bin/webpack.js" }, "engines": { - "node": ">= 8.3" + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + }, + "webpack-command": { + "optional": true + } } }, - "node_modules/tsdx/node_modules/jest-runtime/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/webpack-bundle-analyzer": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", + "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" } }, - "node_modules/tsdx/node_modules/jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", "dev": true, - "dependencies": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">= 8.3" + "node": ">=0.4.0" } }, - "node_modules/tsdx/node_modules/jest-snapshot/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, - "node_modules/tsdx/node_modules/jest-snapshot/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/webpack/node_modules/acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true, "bin": { - "semver": "bin/semver.js" + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/tsdx/node_modules/jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", + "node_modules/webpack/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-util/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", + "node_modules/webpack/node_modules/eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", "dev": true, "dependencies": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">= 8.3" + "node": ">=4.0.0" } }, - "node_modules/tsdx/node_modules/jest-validate/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/webpack/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-validate/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-extendable": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", + "node_modules/webpack/node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, - "dependencies": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-watcher/node_modules/chalk": { + "node_modules/webpack/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, "dependencies": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">= 8.3" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/webpack/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": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "minimist": "^1.2.0" }, - "engines": { - "node": ">= 0.8.0" + "bin": { + "json5": "lib/cli.js" } }, - "node_modules/tsdx/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/webpack/node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "dependencies": { - "minimist": "^1.2.6" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=4.0.0" } }, - "node_modules/tsdx/node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "node_modules/webpack/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, - "optional": true, "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/webpack/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, - "optional": true, + "dependencies": { + "minimist": "^1.2.6" + }, "bin": { - "semver": "bin/semver.js" + "mkdirp": "bin/cmd.js" } }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, - "optional": true, "dependencies": { - "isexe": "^2.0.0" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">= 4" } }, - "node_modules/tsdx/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "node_modules/webpack/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "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, - "engines": { - "node": ">=8" + "dependencies": { + "iconv-lite": "0.4.24" } }, - "node_modules/tsdx/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "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": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, - "engines": { - "node": ">=4" + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, - "node_modules/tsdx/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "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": ">= 0.8.0" + "node": ">= 8" } }, - "node_modules/tsdx/node_modules/pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", + "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": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" + "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" }, - "engines": { - "node": ">= 8.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsdx/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, - "node_modules/tsdx/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "dependencies": { - "shebang-regex": "^1.0.0" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/tsdx/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "node_modules/worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "dev": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "errno": "~0.1.7" } }, - "node_modules/tsdx/node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/slice-ansi/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==", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, "engines": { "node": ">=4" } }, - "node_modules/tsdx/node_modules/stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "dependencies": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "ansi-regex": "^3.0.0" }, "engines": { - "node": ">=6" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true, - "engines": { - "node": ">=6" - } + "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/tsdx/node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", "dev": true, "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "mkdirp": "^0.5.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=4" } }, - "node_modules/tsdx/node_modules/table/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/tsdx/node_modules/throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "node_modules/tsdx/node_modules/ts-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", - "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", + "node_modules/write/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": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "micromatch": "4.x", - "mkdirp": "0.x", - "semver": "6.x", - "yargs-parser": "18.x" + "minimist": "^1.2.6" }, "bin": { - "ts-jest": "cli.js" - }, + "mkdirp": "bin/cmd.js" + } + }, + "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" + "node": ">=8.3.0" }, "peerDependencies": { - "jest": ">=25 <26", - "typescript": ">=3.4 <4.0" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/tsdx/node_modules/ts-jest/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } + "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/tsdx/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/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/tsdx/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, + "node_modules/xregexp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", + "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" + "@babel/runtime-corejs3": "^7.16.5" } }, - "node_modules/tsdx/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==", + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, "engines": { - "node": ">=8" + "node": ">=0.4" } }, - "node_modules/tsdx/node_modules/typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true + }, + "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/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, "engines": { - "node": ">=4.2.0" + "node": ">= 6" } }, - "node_modules/tsdx/node_modules/v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "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": "8.x.x || >=10.10.0" + "node": ">=12" } }, - "node_modules/tsdx/node_modules/v8-to-istanbul/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/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": ">= 8" + "node": ">=12" } }, - "node_modules/tsdx/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/yargs/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, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/tsdx/node_modules/wrap-ansi/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/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, - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/tsdx/node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "requires": { + "@babel/highlight": "^7.18.6" } }, - "node_modules/tsdx/node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "@babel/compat-data": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", + "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "dev": true + }, + "@babel/core": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", + "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.7", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" }, - "engines": { - "node": ">=8" + "dependencies": { + "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 + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/tsdx/node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "@babel/generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", + "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "requires": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" }, - "engines": { - "node": ">=6" + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } } }, - "node_modules/tsdx/node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "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" + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" } }, - "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/tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", "dev": true, - "dependencies": { - "safe-buffer": "^5.0.1" + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" }, - "engines": { - "node": "*" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "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==", + "@babel/helper-create-class-features-plugin": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", + "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", + "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.2.1" } }, - "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==", + "@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, - "engines": { - "node": ">=10" + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" + "requires": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, - "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==", + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "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" + "requires": { + "@babel/types": "^7.18.6" } }, - "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==", + "@babel/helper-member-expression-to-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", + "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/types": "^7.20.7" } }, - "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==", + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/types": "^7.18.6" } }, - "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==", + "@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" } }, - "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==", + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" } }, - "node_modules/union-value/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "@babel/helper-replace-supers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", + "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" + "requires": { + "@babel/types": "^7.20.2" } }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" + "requires": { + "@babel/types": "^7.20.0" } }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "engines": { - "node": ">= 10.0.0" + "requires": { + "@babel/types": "^7.18.6" } }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "@babel/helpers": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", + "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", "dev": true, - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.7", + "@babel/types": "^7.20.7" } }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, - "dependencies": { - "isarray": "1.0.0" + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" }, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "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, + "requires": { + "color-convert": "^1.9.0" + } + }, + "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, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "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, + "requires": { + "color-name": "1.1.3" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "has-flag": "^3.0.0" + } + } } }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", "dev": true, - "optional": true, - "engines": { - "node": ">=4", - "yarn": "*" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" } }, - "node_modules/updatable-log": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", - "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", + "@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==", "dev": true, - "dependencies": { - "chalk": "^2.4.2", - "figures": "^3.0.0", - "log-update": "^3.3.0" + "requires": { + "@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" } }, - "node_modules/updatable-log/node_modules/ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/updatable-log/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "@babel/plugin-proposal-class-static-block": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", + "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", "dev": true, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, - "node_modules/updatable-log/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==", + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, - "node_modules/updatable-log/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==", + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, - "node_modules/updatable-log/node_modules/cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, - "dependencies": { - "restore-cursor": "^2.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" } }, - "node_modules/updatable-log/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==", + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", "dev": true, - "dependencies": { - "color-name": "1.1.3" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, - "node_modules/updatable-log/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 + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } }, - "node_modules/updatable-log/node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } }, - "node_modules/updatable-log/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==", + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", "dev": true, - "engines": { - "node": ">=0.8.0" + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" } }, - "node_modules/updatable-log/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==", + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, - "node_modules/updatable-log/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", + "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, - "node_modules/updatable-log/node_modules/log-update": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", - "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, - "dependencies": { - "ansi-escapes": "^3.2.0", - "cli-cursor": "^2.1.0", - "wrap-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/updatable-log/node_modules/mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", + "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", "dev": true, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, - "node_modules/updatable-log/node_modules/onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "@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==", "dev": true, - "dependencies": { - "mimic-fn": "^1.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/updatable-log/node_modules/restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "@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": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/updatable-log/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/updatable-log/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "@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": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" } }, - "node_modules/updatable-log/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==", + "@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": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/updatable-log/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "@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": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "@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, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "@babel/plugin-syntax-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", "dev": true, - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" } }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true - }, - "node_modules/urlsafe-base64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", - "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "@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, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "@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": { - "inherits": "2.0.3" + "requires": { + "@babel/helper-plugin-utils": "^7.8.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==" - }, - "node_modules/util/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/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", + "@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "dev": true, - "engines": { - "node": ">= 4" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "@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, - "bin": { - "uuid": "bin/uuid" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "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/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "@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": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "engines": { - "node": ">=10.12.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/v8-to-istanbul/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/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==", + "@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": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "@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, - "engines": [ - "node >=0.6.0" - ], - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/verror/node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - }, - "node_modules/vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "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.", + "@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": { - "browser-process-hrtime": "^1.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", + "@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": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "@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": { - "makeerror": "1.0.12" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "@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": { - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "optionalDependencies": { - "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.1" + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" } }, - "node_modules/watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "@babel/plugin-syntax-typescript": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", + "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", "dev": true, - "optional": true, - "dependencies": { - "chokidar": "^2.1.8" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "@babel/plugin-transform-arrow-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", + "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", "dev": true, - "optional": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", "dev": true, - "optional": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" } }, - "node_modules/watchpack-chokidar2/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "@babel/plugin-transform-block-scoping": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", + "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", "dev": true, - "optional": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/watchpack-chokidar2/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "@babel/plugin-transform-classes": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", + "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" } }, - "node_modules/watchpack-chokidar2/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", + "@babel/plugin-transform-computed-properties": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", + "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", "dev": true, - "optional": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/template": "^7.20.7" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "@babel/plugin-transform-destructuring": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", + "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", "dev": true, - "optional": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" } }, - "node_modules/watchpack-chokidar2/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", "dev": true, - "optional": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", "dev": true, - "optional": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", + "@babel/plugin-transform-flow-strip-types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", + "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", "dev": true, - "optional": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-flow": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", "dev": true, - "optional": true, - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", "dev": true, - "optional": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" } }, - "node_modules/watchpack-chokidar2/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", "dev": true, - "optional": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" } }, - "node_modules/watchpack-chokidar2/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": 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/watchpack-chokidar2/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/watchpack-chokidar2/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, - "optional": true - }, - "node_modules/watchpack-chokidar2/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, - "optional": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/watchpack-chokidar2/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "optional": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.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/weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true - }, - "node_modules/weak-map": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", - "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", - "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", - "dev": true, - "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/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" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/webpack/node_modules/loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack/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/webpack/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.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": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "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/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-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "dependencies": { - "errno": "~0.1.7" - } - }, - "node_modules/wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", - "dev": true, - "dependencies": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "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/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/write/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/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/xregexp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", - "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", - "dependencies": { - "@babel/runtime-corejs3": "^7.16.5" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xxhash-wasm": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", - "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==", - "dev": true - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "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/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "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/yargs/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/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" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true - }, - "@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", - "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" - } - }, - "@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==", - "dev": true, - "requires": { - "@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" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", - "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", - "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", - "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@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==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.20.0", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@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" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "dependencies": { - "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, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/runtime-corejs3": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", - "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", - "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", - "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "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 - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@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, - "requires": { - "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" - } - }, - "@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 - }, - "@jest/console": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" - } - }, - "@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", - "dev": true, - "requires": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" - } - }, - "@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0" - } - }, - "@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" - } - }, - "@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", - "dev": true, - "requires": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - } - }, - "@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" } }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@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 - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", + "@babel/plugin-transform-modules-commonjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", + "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", "dev": true, "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@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, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-simple-access": "^7.20.2" } }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" } }, - "@lezer/common": { - "version": "0.15.12", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", - "integrity": "sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==", - "dev": true - }, - "@lezer/lr": { - "version": "0.15.8", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-0.15.8.tgz", - "integrity": "sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==", + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, "requires": { - "@lezer/common": "^0.15.0" + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@lmdb/lmdb-darwin-arm64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz", - "integrity": "sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-darwin-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz", - "integrity": "sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz", - "integrity": "sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz", - "integrity": "sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz", - "integrity": "sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-win32-x64": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz", - "integrity": "sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA==", - "dev": true, - "optional": true - }, - "@mischnic/json-sourcemap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz", - "integrity": "sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==", + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", "dev": true, "requires": { - "@lezer/common": "^0.15.7", - "@lezer/lr": "^0.15.4", - "json5": "^2.2.1" + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" } }, - "@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz", - "integrity": "sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz", - "integrity": "sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz", - "integrity": "sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz", - "integrity": "sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz", - "integrity": "sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz", - "integrity": "sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==", - "dev": true, - "optional": true - }, - "@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==", + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@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 - }, - "@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==", + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" } }, - "@parcel/bundler-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.3.tgz", - "integrity": "sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==", + "@babel/plugin-transform-parameters": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", + "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/graph": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" + "@babel/helper-plugin-utils": "^7.20.2" } }, - "@parcel/cache": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.3.tgz", - "integrity": "sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==", + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", "dev": true, "requires": { - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/utils": "2.8.3", - "lmdb": "2.5.2" + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@parcel/codeframe": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.3.tgz", - "integrity": "sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==", + "@babel/plugin-transform-regenerator": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", + "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", "dev": true, "requires": { - "chalk": "^4.1.0" + "@babel/helper-plugin-utils": "^7.20.2", + "regenerator-transform": "^0.15.1" } }, - "@parcel/compressor-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz", - "integrity": "sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==", + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3" - } - }, - "@parcel/config-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.3.tgz", - "integrity": "sha512-o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw==", - "dev": true, - "requires": { - "@parcel/bundler-default": "2.8.3", - "@parcel/compressor-raw": "2.8.3", - "@parcel/namer-default": "2.8.3", - "@parcel/optimizer-css": "2.8.3", - "@parcel/optimizer-htmlnano": "2.8.3", - "@parcel/optimizer-image": "2.8.3", - "@parcel/optimizer-svgo": "2.8.3", - "@parcel/optimizer-terser": "2.8.3", - "@parcel/packager-css": "2.8.3", - "@parcel/packager-html": "2.8.3", - "@parcel/packager-js": "2.8.3", - "@parcel/packager-raw": "2.8.3", - "@parcel/packager-svg": "2.8.3", - "@parcel/reporter-dev-server": "2.8.3", - "@parcel/resolver-default": "2.8.3", - "@parcel/runtime-browser-hmr": "2.8.3", - "@parcel/runtime-js": "2.8.3", - "@parcel/runtime-react-refresh": "2.8.3", - "@parcel/runtime-service-worker": "2.8.3", - "@parcel/transformer-babel": "2.8.3", - "@parcel/transformer-css": "2.8.3", - "@parcel/transformer-html": "2.8.3", - "@parcel/transformer-image": "2.8.3", - "@parcel/transformer-js": "2.8.3", - "@parcel/transformer-json": "2.8.3", - "@parcel/transformer-postcss": "2.8.3", - "@parcel/transformer-posthtml": "2.8.3", - "@parcel/transformer-raw": "2.8.3", - "@parcel/transformer-react-refresh-wrap": "2.8.3", - "@parcel/transformer-svg": "2.8.3" - } - }, - "@parcel/core": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.3.tgz", - "integrity": "sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==", - "dev": true, - "requires": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/graph": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.5.4", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@parcel/diagnostic": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.3.tgz", - "integrity": "sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==", + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, "requires": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@parcel/events": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.3.tgz", - "integrity": "sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==", - "dev": true - }, - "@parcel/fs": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.3.tgz", - "integrity": "sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==", + "@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, "requires": { - "@parcel/fs-search": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.8.3" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" } }, - "@parcel/fs-search": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.3.tgz", - "integrity": "sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==", + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, "requires": { - "detect-libc": "^1.0.3" + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@parcel/graph": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.3.tgz", - "integrity": "sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==", + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", "dev": true, "requires": { - "nullthrows": "^1.1.1" + "@babel/helper-plugin-utils": "^7.18.9" } }, - "@parcel/hash": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.3.tgz", - "integrity": "sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==", + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, "requires": { - "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.2" + "@babel/helper-plugin-utils": "^7.18.9" } }, - "@parcel/logger": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.3.tgz", - "integrity": "sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==", + "@babel/plugin-transform-typescript": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", + "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3" + "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-typescript": "^7.20.0" } }, - "@parcel/markdown-ansi": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz", - "integrity": "sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==", + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "requires": { - "chalk": "^4.1.0" + "@babel/helper-plugin-utils": "^7.18.9" } }, - "@parcel/namer-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.3.tgz", - "integrity": "sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==", + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" } }, - "@parcel/node-resolver-core": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz", - "integrity": "sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==", + "@babel/preset-env": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", + "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" + "@babel/compat-data": "^7.20.1", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@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.20.0", + "@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-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.20.2", + "@babel/plugin-transform-classes": "^7.20.2", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.19.6", + "@babel/plugin-transform-modules-commonjs": "^7.19.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true } } }, - "@parcel/optimizer-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz", - "integrity": "sha512-JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g==", - "dev": true, - "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "lightningcss": "^1.16.1", - "nullthrows": "^1.1.1" - } - }, - "@parcel/optimizer-htmlnano": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz", - "integrity": "sha512-L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg==", + "@babel/preset-flow": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", + "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "htmlnano": "^2.0.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" - }, - "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "optional": true, - "peer": true - }, - "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 - }, - "cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", - "dev": true, - "requires": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - } - }, - "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, - "optional": true, - "peer": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "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, - "optional": true, - "peer": true, - "requires": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - } - }, - "cssnano": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", - "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "cssnano-preset-default": "^6.0.1", - "lilconfig": "^2.1.0" - } - }, - "cssnano-preset-default": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", - "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^4.0.0", - "postcss-calc": "^9.0.0", - "postcss-colormin": "^6.0.0", - "postcss-convert-values": "^6.0.0", - "postcss-discard-comments": "^6.0.0", - "postcss-discard-duplicates": "^6.0.0", - "postcss-discard-empty": "^6.0.0", - "postcss-discard-overridden": "^6.0.0", - "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.1", - "postcss-minify-font-values": "^6.0.0", - "postcss-minify-gradients": "^6.0.0", - "postcss-minify-params": "^6.0.0", - "postcss-minify-selectors": "^6.0.0", - "postcss-normalize-charset": "^6.0.0", - "postcss-normalize-display-values": "^6.0.0", - "postcss-normalize-positions": "^6.0.0", - "postcss-normalize-repeat-style": "^6.0.0", - "postcss-normalize-string": "^6.0.0", - "postcss-normalize-timing-functions": "^6.0.0", - "postcss-normalize-unicode": "^6.0.0", - "postcss-normalize-url": "^6.0.0", - "postcss-normalize-whitespace": "^6.0.0", - "postcss-ordered-values": "^6.0.0", - "postcss-reduce-initial": "^6.0.0", - "postcss-reduce-transforms": "^6.0.0", - "postcss-svgo": "^6.0.0", - "postcss-unique-selectors": "^6.0.0" - } - }, - "cssnano-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", - "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "css-tree": "~2.2.0" - }, - "dependencies": { - "css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - } - }, - "mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "dev": true, - "optional": true, - "peer": true - } - } - }, - "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, - "optional": true, - "peer": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "optional": true, - "peer": true - }, - "htmlnano": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.0.4.tgz", - "integrity": "sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==", - "dev": true, - "requires": { - "cosmiconfig": "^8.0.0", - "posthtml": "^0.16.5", - "timsort": "^0.3.0" - } - }, - "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, - "requires": { - "argparse": "^2.0.1" - } - }, - "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, - "optional": true, - "peer": true - }, - "postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", - "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", - "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-discard-comments": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", - "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", - "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", - "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", - "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", - "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.0.0" - } - }, - "postcss-merge-rules": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", - "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", - "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", - "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", - "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", - "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-normalize-charset": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", - "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", - "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", - "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", - "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", - "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", - "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", - "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", - "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", - "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", - "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", - "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", - "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-svgo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", - "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.0.2" - }, - "dependencies": { - "svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.2.1", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - } - } - } - }, - "postcss-unique-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", - "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "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, - "optional": true, - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "stylehacks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", - "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "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, - "optional": true, - "peer": true - } - } - } + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-flow-strip-types": "^7.18.6" } }, - "@parcel/optimizer-image": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz", - "integrity": "sha512-SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ==", + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "detect-libc": "^1.0.3" + "@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" } }, - "@parcel/optimizer-svgo": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz", - "integrity": "sha512-9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA==", + "@babel/preset-typescript": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "svgo": "^2.4.0" + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-transform-typescript": "^7.18.6" } }, - "@parcel/optimizer-terser": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz", - "integrity": "sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==", + "@babel/register": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", + "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "terser": "^5.2.0" + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.5", + "source-map-support": "^0.5.16" }, "dependencies": { - "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true + "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, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } }, - "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==", + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "source-map-support": { @@ -25550,93 +21236,115 @@ "buffer-from": "^1.0.0", "source-map": "^0.6.0" } - }, - "terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - } } } }, - "@parcel/package-manager": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.3.tgz", - "integrity": "sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==", + "@babel/runtime": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", + "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/runtime-corejs3": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", + "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "requires": { + "core-js-pure": "^3.25.1", + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "semver": "^5.7.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" } }, - "@parcel/packager-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.3.tgz", - "integrity": "sha512-WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA==", + "@babel/traverse": { + "version": "7.20.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", + "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" } }, - "@parcel/packager-html": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.3.tgz", - "integrity": "sha512-OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw==", + "@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" } }, - "@parcel/packager-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.3.tgz", - "integrity": "sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==", + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "@cnakazawa/watch": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", + "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", + "dev": true, + "requires": { + "exec-sh": "^0.3.2", + "minimist": "^1.2.0" + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" }, "dependencies": { "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.19.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", + "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", "dev": true, "requires": { "type-fest": "^0.20.2" } }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -25645,386 +21353,324 @@ } } }, - "@parcel/packager-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.3.tgz", - "integrity": "sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==", + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3" + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" } }, - "@parcel/packager-svg": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.3.tgz", - "integrity": "sha512-mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw==", - "dev": true, - "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "posthtml": "^0.16.4" - } + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true }, - "@parcel/plugin": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.3.tgz", - "integrity": "sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==", + "@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, "requires": { - "@parcel/types": "2.8.3" + "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" } }, - "@parcel/reporter-cli": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz", - "integrity": "sha512-3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw==", - "dev": true, - "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "chalk": "^4.1.0", - "term-size": "^2.2.1" - } + "@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 }, - "@parcel/reporter-dev-server": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz", - "integrity": "sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==", + "@jest/console": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", + "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3" + "@jest/types": "^29.3.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "slash": "^3.0.0" } }, - "@parcel/resolver-default": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.3.tgz", - "integrity": "sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==", + "@jest/core": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", + "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", "dev": true, "requires": { - "@parcel/node-resolver-core": "2.8.3", - "@parcel/plugin": "2.8.3" + "@jest/console": "^29.3.1", + "@jest/reporters": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.2.0", + "jest-config": "^29.3.1", + "jest-haste-map": "^29.3.1", + "jest-message-util": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-resolve": "^29.3.1", + "jest-resolve-dependencies": "^29.3.1", + "jest-runner": "^29.3.1", + "jest-runtime": "^29.3.1", + "jest-snapshot": "^29.3.1", + "jest-util": "^29.3.1", + "jest-validate": "^29.3.1", + "jest-watcher": "^29.3.1", + "micromatch": "^4.0.4", + "pretty-format": "^29.3.1", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" } }, - "@parcel/runtime-browser-hmr": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz", - "integrity": "sha512-2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg==", + "@jest/environment": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", + "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3" + "@jest/fake-timers": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/node": "*", + "jest-mock": "^29.3.1" } }, - "@parcel/runtime-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.3.tgz", - "integrity": "sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==", + "@jest/expect": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", + "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" + "expect": "^29.3.1", + "jest-snapshot": "^29.3.1" } }, - "@parcel/runtime-react-refresh": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz", - "integrity": "sha512-2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA==", + "@jest/expect-utils": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", + "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" + "jest-get-type": "^29.2.0" } }, - "@parcel/runtime-service-worker": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz", - "integrity": "sha512-/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw==", + "@jest/fake-timers": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", + "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1" + "@jest/types": "^29.3.1", + "@sinonjs/fake-timers": "^9.1.2", + "@types/node": "*", + "jest-message-util": "^29.3.1", + "jest-mock": "^29.3.1", + "jest-util": "^29.3.1" } }, - "@parcel/source-map": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", - "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", + "@jest/globals": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", + "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", "dev": true, "requires": { - "detect-libc": "^1.0.3" + "@jest/environment": "^29.3.1", + "@jest/expect": "^29.3.1", + "@jest/types": "^29.3.1", + "jest-mock": "^29.3.1" } }, - "@parcel/transformer-babel": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz", - "integrity": "sha512-L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ==", + "@jest/reporters": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", + "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "json5": "^2.2.0", - "nullthrows": "^1.1.1", - "semver": "^5.7.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.3.1", + "@jest/test-result": "^29.3.1", + "@jest/transform": "^29.3.1", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.3.1", + "jest-util": "^29.3.1", + "jest-worker": "^29.3.1", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" } }, - "@parcel/transformer-css": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.3.tgz", - "integrity": "sha512-xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg==", + "@jest/schemas": { + "version": "29.0.0", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", + "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "browserslist": "^4.6.6", - "lightningcss": "^1.16.1", - "nullthrows": "^1.1.1" + "@sinclair/typebox": "^0.24.1" } }, - "@parcel/transformer-html": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.3.tgz", - "integrity": "sha512-kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g==", + "@jest/source-map": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", + "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1", - "srcset": "4" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@jridgewell/trace-mapping": "^0.3.15", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" } }, - "@parcel/transformer-image": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.3.tgz", - "integrity": "sha512-cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg==", + "@jest/test-result": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", + "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "nullthrows": "^1.1.1" - } - }, - "@parcel/transformer-js": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.3.tgz", - "integrity": "sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==", - "dev": true, - "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.8.3", - "@parcel/workers": "2.8.3", - "@swc/helpers": "^0.4.12", - "browserslist": "^4.6.6", - "detect-libc": "^1.0.3", - "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", - "semver": "^5.7.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@jest/console": "^29.3.1", + "@jest/types": "^29.3.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" } }, - "@parcel/transformer-json": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.3.tgz", - "integrity": "sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==", + "@jest/test-sequencer": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", + "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "json5": "^2.2.0" + "@jest/test-result": "^29.3.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "slash": "^3.0.0" } }, - "@parcel/transformer-postcss": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz", - "integrity": "sha512-e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg==", + "@jest/transform": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", + "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", "dev": true, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "clone": "^2.1.1", - "nullthrows": "^1.1.1", - "postcss-value-parser": "^4.2.0", - "semver": "^5.7.1" - }, - "dependencies": { - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@babel/core": "^7.11.6", + "@jest/types": "^29.3.1", + "@jridgewell/trace-mapping": "^0.3.15", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.3.1", + "jest-regex-util": "^29.2.0", + "jest-util": "^29.3.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.1" } }, - "@parcel/transformer-posthtml": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz", - "integrity": "sha512-pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA==", + "@jest/types": { + "version": "29.3.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", + "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@jest/schemas": "^29.0.0", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" } }, - "@parcel/transformer-raw": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz", - "integrity": "sha512-G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ==", + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "requires": { - "@parcel/plugin": "2.8.3" + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@parcel/transformer-react-refresh-wrap": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz", - "integrity": "sha512-q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg==", - "dev": true, - "requires": { - "@parcel/plugin": "2.8.3", - "@parcel/utils": "2.8.3", - "react-refresh": "^0.9.0" - } + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true }, - "@parcel/transformer-svg": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz", - "integrity": "sha512-3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ==", - "dev": true, - "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/plugin": "2.8.3", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", - "posthtml-render": "^3.0.0", - "semver": "^5.7.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } + "@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 }, - "@parcel/types": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.3.tgz", - "integrity": "sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==", - "dev": true, - "requires": { - "@parcel/cache": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.8.3", - "utility-types": "^3.10.0" - } + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, - "@parcel/utils": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.3.tgz", - "integrity": "sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==", + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "requires": { - "@parcel/codeframe": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/hash": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/markdown-ansi": "2.8.3", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "@parcel/watcher": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.1.0.tgz", - "integrity": "sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw==", + "@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, "requires": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "@parcel/workers": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.3.tgz", - "integrity": "sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==", + "@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 + }, + "@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, "requires": { - "@parcel/diagnostic": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/types": "2.8.3", - "@parcel/utils": "2.8.3", - "chrome-trace-event": "^1.0.2", - "nullthrows": "^1.1.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" } }, "@polka/url": { @@ -26163,15 +21809,6 @@ "webpack-bundle-analyzer": "^4.4.2" } }, - "@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -26462,6 +22099,12 @@ "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", "dev": true }, + "@types/text-encoding": { + "version": "0.0.36", + "resolved": "https://registry.npmjs.org/@types/text-encoding/-/text-encoding-0.0.36.tgz", + "integrity": "sha512-LfATA7bH+MtAPlOshYgQ1M3n2r0TSB6Ns5ESvKYlVugkKErQg5oFbR2qO7XrKtNsrtzedDvTeqQfyTjdPJH7jw==", + "dev": true + }, "@types/urlsafe-base64": { "version": "1.0.28", "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", @@ -26714,12 +22357,6 @@ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", "dev": true }, - "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -27281,15 +22918,6 @@ } } }, - "base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, "base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", @@ -28544,12 +24172,6 @@ "minimalistic-assert": "^1.0.0" } }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true - }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -28651,18 +24273,6 @@ "domhandler": "^4.2.0" } }, - "dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -30108,12 +25718,6 @@ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, - "get-port": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", - "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", - "dev": true - }, "get-stdin": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", @@ -30403,26 +26007,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - }, - "dependencies": { - "entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true - } - } - }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -30749,12 +26333,6 @@ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", "dev": true }, - "is-json": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", - "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", - "dev": true - }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -32730,101 +28308,28 @@ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, - "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, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" - }, - "libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", - "requires": { - "libsodium-sumo": "^0.7.0" - } - }, - "lightningcss": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.20.0.tgz", - "integrity": "sha512-4bj8aP+Vi+or8Gwq/hknmicr4PmA8D9uL/3qY0N0daX5vYBMYERGI6Y93nzoeRgQMULq+gtrN/FvJYtH0xNN8g==", - "dev": true, - "requires": { - "detect-libc": "^1.0.3", - "lightningcss-darwin-arm64": "1.20.0", - "lightningcss-darwin-x64": "1.20.0", - "lightningcss-linux-arm-gnueabihf": "1.20.0", - "lightningcss-linux-arm64-gnu": "1.20.0", - "lightningcss-linux-arm64-musl": "1.20.0", - "lightningcss-linux-x64-gnu": "1.20.0", - "lightningcss-linux-x64-musl": "1.20.0", - "lightningcss-win32-x64-msvc": "1.20.0" - } - }, - "lightningcss-darwin-arm64": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.20.0.tgz", - "integrity": "sha512-aYEohJTlzwB8URJaNiS57tMbjyLub0mYvxlxKQk8SZv+irXx6MoBWpDNQKKTS9gg1pGf/eAwjpa3BLAoCBsh1A==", - "dev": true, - "optional": true - }, - "lightningcss-darwin-x64": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.20.0.tgz", - "integrity": "sha512-cmMgY8FFWVaGgtift7eKKkHMqlz9O09/yTdlCXEDOeDP9yeo6vHOBTRP7ojb368kjw8Ew3l0L2uT1Gtx56eNkg==", - "dev": true, - "optional": true - }, - "lightningcss-linux-arm-gnueabihf": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.20.0.tgz", - "integrity": "sha512-/m+NDO1O6JCv7R9F0XWlXcintQHx4MPNU+kt8jZJO07LLdGwCfvjN31GVcwVPlStnnx/cU8uTTmax6g/Qu/whg==", - "dev": true, - "optional": true - }, - "lightningcss-linux-arm64-gnu": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.20.0.tgz", - "integrity": "sha512-gtXoa6v0HvMRLbev6Hsef0+Q5He7NslB+Rs7G49Y5LUSdJeGIATEN+j8JzHC0DnxCsOGbEgGRmvtJzzYDkkluw==", - "dev": true, - "optional": true - }, - "lightningcss-linux-arm64-musl": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.20.0.tgz", - "integrity": "sha512-Po7XpucM1kZnkiyd2BNwTExSDcZ8jm8uB9u+Sq44qjpkf5f75jreQwn3DQm9I1t5C6tB9HGt30HExMju9umJBQ==", - "dev": true, - "optional": true - }, - "lightningcss-linux-x64-gnu": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.20.0.tgz", - "integrity": "sha512-8yR/fGNn/P0I+Lc3PK+VWPET/zdSpBfHFIG0DJ38TywMbItVKvnFvoTBwnIm4LqBz7g2G2dDexnNP95za2Ll8g==", - "dev": true, - "optional": true - }, - "lightningcss-linux-x64-musl": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.20.0.tgz", - "integrity": "sha512-EmpJ+VkPZ8RACiB4m+l8TmapmE1W2UvJKDHE+ML/3Ihr9tRKUs3CibfnQTFZC8aSsrxgXagDAN+PgCDDhIyriA==", + "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, - "optional": true + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } }, - "lightningcss-win32-x64-msvc": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.20.0.tgz", - "integrity": "sha512-BRdPvbq7Cc1qxAzp2emqWJHrqsEkf4ggxS29VOnxT7jhkdHKU+a26OVMjvm/OL0NH0ToNOZNAPvHMSexiEgBeA==", - "dev": true, - "optional": true + "libsodium-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", + "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + }, + "libsodium-wrappers-sumo": { + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "requires": { + "libsodium-sumo": "^0.7.0" + } }, "lilconfig": { "version": "2.1.0", @@ -32838,33 +28343,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, - "lmdb": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", - "integrity": "sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA==", - "dev": true, - "requires": { - "@lmdb/lmdb-darwin-arm64": "2.5.2", - "@lmdb/lmdb-darwin-x64": "2.5.2", - "@lmdb/lmdb-linux-arm": "2.5.2", - "@lmdb/lmdb-linux-arm64": "2.5.2", - "@lmdb/lmdb-linux-x64": "2.5.2", - "@lmdb/lmdb-win32-x64": "2.5.2", - "msgpackr": "^1.5.4", - "node-addon-api": "^4.3.0", - "node-gyp-build-optional-packages": "5.0.3", - "ordered-binary": "^1.2.4", - "weak-lru-cache": "^1.2.2" - }, - "dependencies": { - "node-addon-api": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", - "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", - "dev": true - } - } - }, "loader-runner": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", @@ -33396,40 +28874,6 @@ "safe-buffer": "^5.1.2" } }, - "msgpackr": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.9.1.tgz", - "integrity": "sha512-jJdrNH8tzfCtT0rjPFryBXjRDQE7rqfLkah4/8B4gYa7NNZYFBcGxqWBtfQpGC+oYyBwlkj3fARk4aooKNPHxg==", - "dev": true, - "requires": { - "msgpackr-extract": "^3.0.2" - } - }, - "msgpackr-extract": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz", - "integrity": "sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==", - "dev": true, - "optional": true, - "requires": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.2", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.2", - "node-gyp-build-optional-packages": "5.0.7" - }, - "dependencies": { - "node-gyp-build-optional-packages": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz", - "integrity": "sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==", - "dev": true, - "optional": true - } - } - }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -33496,12 +28940,6 @@ "tslib": "^2.0.3" } }, - "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-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -33511,18 +28949,6 @@ "minimatch": "^3.0.2" } }, - "node-gyp-build": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", - "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", - "dev": true - }, - "node-gyp-build-optional-packages": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz", - "integrity": "sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA==", - "dev": true - }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -33615,492 +29041,458 @@ } } }, - "node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", - "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" - }, - "dependencies": { - "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, - "optional": true, - "peer": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "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, - "optional": true, - "peer": true - } - } - }, - "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" - }, - "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, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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 - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "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, - "requires": { - "path-key": "^3.0.0" - } - }, - "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, - "requires": { - "boolbase": "^1.0.0" - } - }, - "nullthrows": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", - "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "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 - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "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 - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "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, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "optimize-css-assets-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", - "dev": true, - "requires": { - "cssnano": "^5.0.2", - "last-call-webpack-plugin": "^3.0.0", - "postcss": "^8.2.1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "ordered-binary": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.4.0.tgz", - "integrity": "sha512-EHQ/jk4/a9hLupIKxTfUsQRej1Yd/0QLQs3vGvIqg5ZtCYSzNhkzHoZc7Zf4e4kUlDaC3Uw8Q/1opOLNN2OKRQ==", - "dev": true - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "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 - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true - }, - "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, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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, - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "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, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "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 - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "parcel": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.8.3.tgz", - "integrity": "sha512-5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA==", - "dev": true, - "requires": { - "@parcel/config-default": "2.8.3", - "@parcel/core": "2.8.3", - "@parcel/diagnostic": "2.8.3", - "@parcel/events": "2.8.3", - "@parcel/fs": "2.8.3", - "@parcel/logger": "2.8.3", - "@parcel/package-manager": "2.8.3", - "@parcel/reporter-cli": "2.8.3", - "@parcel/reporter-dev-server": "2.8.3", - "@parcel/utils": "2.8.3", - "chalk": "^4.1.0", - "commander": "^7.0.0", - "get-port": "^4.2.0", - "v8-compile-cache": "^2.0.0" + "node-notifier": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", + "shellwords": "^0.1.1", + "uuid": "^8.3.2", + "which": "^2.0.2" + }, + "dependencies": { + "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, + "optional": true, + "peer": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "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, + "optional": true, + "peer": true + } + } + }, + "node-releases": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", + "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "dev": true + }, + "nofilter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", + "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" + }, + "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, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + } + } + }, + "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 + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "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, + "requires": { + "path-key": "^3.0.0" + } + }, + "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, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", + "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "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 + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "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 + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "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, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "requires": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "optimize-css-assets-webpack-plugin": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", + "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", + "dev": true, + "requires": { + "cssnano": "^5.0.2", + "last-call-webpack-plugin": "^3.0.0", + "postcss": "^8.2.1" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", + "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.2.0", + "is-interactive": "^1.0.0", + "log-symbols": "^3.0.0", + "mute-stream": "0.0.8", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", + "dev": true + }, + "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 + }, + "p-each-series": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", + "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true + }, + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + }, + "dependencies": { + "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, + "requires": { + "p-try": "^2.0.0" + } + } + } + }, + "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 + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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 + }, + "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, + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "parent-module": { @@ -34595,45 +29987,6 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, - "posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", - "dev": true, - "requires": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" - }, - "dependencies": { - "posthtml-parser": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", - "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", - "dev": true, - "requires": { - "htmlparser2": "^7.1.1" - } - } - } - }, - "posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", - "dev": true, - "requires": { - "htmlparser2": "^7.1.1" - } - }, - "posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", - "dev": true, - "requires": { - "is-json": "^2.0.1" - } - }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -34934,24 +30287,12 @@ "safe-buffer": "^5.1.0" } }, - "react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", - "dev": true - }, "react-is": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, - "react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", - "dev": true - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -36278,12 +31619,6 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, - "srcset": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", - "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", - "dev": true - }, "sshpk": { "version": "1.17.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", @@ -36739,12 +32074,6 @@ "rimraf": "~2.6.2" } }, - "term-size": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", - "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", - "dev": true - }, "terminal-link": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", @@ -36815,6 +32144,11 @@ "minimatch": "^3.0.4" } }, + "text-encoding": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", + "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==" + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -36884,12 +32218,6 @@ "setimmediate": "^1.0.4" } }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", - "dev": true - }, "tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -39491,12 +34819,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, - "utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "dev": true - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -39883,12 +35205,6 @@ "defaults": "^1.0.3" } }, - "weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true - }, "weak-map": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", @@ -40314,12 +35630,6 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true }, - "xxhash-wasm": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", - "integrity": "sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==", - "dev": true - }, "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", diff --git a/package.json b/package.json index 40088060..80de0aaf 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "@size-limit/preset-small-lib": "^5.0.4", "@types/lodash": "^4.14.185", "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", "@types/urlsafe-base64": "^1.0.28", "husky": "^7.0.2", "jest": "^29.3.1", @@ -63,6 +64,7 @@ "lodash": "^4.17.21", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" } diff --git a/src/index.ts b/src/index.ts index 1ac37c24..425b1a33 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,8 @@ import _sodium from 'libsodium-wrappers-sumo'; - +import load from 'blake3/browser-async' export const ready = (async () => { + await load('https://cdn.jsdelivr.net/npm/blake3@2.1.7/dist/wasm/web/blake3_js_bg.wasm') await _sodium.ready; }) diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index f20c723d..62db7ad6 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -1,5 +1,5 @@ - import {TextEncoder, TextDecoder} from 'util' - +// import {TextEncoder, TextDecoder} from 'util' +import { TextEncoder, TextDecoder } from 'text-encoding'; export enum Serials { JSON = "JSON", } From 02d8e94ac06f074d00c2f7d9ad96bdb590eecfc2 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 10:17:35 -0500 Subject: [PATCH 020/463] refactor example app --- examples/signify-react-ts/src/App.css | 15 +++++ examples/signify-react-ts/src/App.tsx | 43 ++++++------ examples/signify-react-ts/src/Signify.tsx | 80 +++++++++++++++++++++++ 3 files changed, 117 insertions(+), 21 deletions(-) create mode 100644 examples/signify-react-ts/src/Signify.tsx diff --git a/examples/signify-react-ts/src/App.css b/examples/signify-react-ts/src/App.css index b9d355df..b8f30383 100644 --- a/examples/signify-react-ts/src/App.css +++ b/examples/signify-react-ts/src/App.css @@ -40,3 +40,18 @@ .read-the-docs { color: #888; } + +button, input { + background-color: #61dafb; + color: black; + border: none; + padding: 0.5em 1em; + margin: 1em; + font-size: 1.2em; + cursor: pointer; + border-radius: 5px; + box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2); +} +.input { + width: 250px; +} \ No newline at end of file diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx index d2f1bcea..e67eda0a 100644 --- a/examples/signify-react-ts/src/App.tsx +++ b/examples/signify-react-ts/src/App.tsx @@ -1,42 +1,43 @@ -import {useState} from 'react' +import {useState, useEffect, useRef} from 'react' import reactLogo from './assets/react.svg' import viteLogo from '/vite.svg' import './App.css' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import {SignifyClient, ready} from "signify-ts"; +import { Signify } from './Signify'; +function generateRandomKey() { + const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + const length = 21; + let result = ""; + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * characters.length)); + } + return result; +} function App() { - const [pre, setPre] = useState("") - const [icp, setICP] = useState("") - let data = "" - ready().then(() => { - const client = new SignifyClient("http://localhost:3902", "0123456789abcdefghijk") - console.log("we have a signify client", client.controller?.pre) - setPre(client.controller?.pre) - data = client.controller?.event - }) + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( <>

Vite + React + Signify

-
- -

- {icp} -

-
+

Click on the Vite and React logos to learn more

diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx new file mode 100644 index 00000000..4ca584bd --- /dev/null +++ b/examples/signify-react-ts/src/Signify.tsx @@ -0,0 +1,80 @@ +import { useState, useEffect, useRef } from 'react' +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready } from "signify-ts"; + +function generateRandomKey() { + const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + const length = 21; + let result = ""; + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * characters.length)); + } + return result; +} + +export function Signify() { + const [pre, setPre] = useState("") + const [icp, setICP] = useState("") + const [key, setKey] = useState(generateRandomKey()) + + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + const handleComputePre = () => { + if (!key) { + alert("Please enter a valid key.") + return + } + //check len of key is 21 + if (key.length !== 21) { + alert("Invalid key lenght " + key.length) + return + } + const client = new SignifyClient("http://localhost:3902", key) + setPre(client.controller?.pre) + } + + const handleButtonClick = () => { + if (!pre) { + alert("Please compute pre first.") + return + } + setICP(JSON.stringify(client.controller?.event[0])) + } + + const inputRef = useRef(null) + + useEffect(() => { + if (inputRef.current) { + inputRef.current.style.width = "auto" + inputRef.current.style.width = `${inputRef.current.scrollWidth}px` + } + }, [key]) + + return ( + <> +
+
+ + setKey(e.target.value)} ref={inputRef} className="button" /> + +
+ +

+ {icp} +

+
+ + ) +} + + From 2911c46051467c4d20e5529c5338a09897da0c7c Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 12:39:24 -0500 Subject: [PATCH 021/463] update workflows --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e20f19da..cc520a42 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,6 +5,9 @@ on: - 'main' - 'development' pull_request: + branches: + - 'main' + - 'development' workflow_dispatch: jobs: build: From 893ca1b78fa38b1ef57cd96e603e071e5db1ebe4 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 12:43:45 -0500 Subject: [PATCH 022/463] fix --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc520a42..73764923 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, windows-latest, macOS-latest] + os: [ubuntu-latest, macOS-latest] steps: - name: Checkout repo @@ -30,5 +30,6 @@ jobs: - name: build run: | npm ci + npm i tsdx npm test npm run build From 2390192acbb54073ff39df825893bacc0074e908 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:10:45 -0500 Subject: [PATCH 023/463] add coverage? --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 73764923..ebe0375b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,5 +31,5 @@ jobs: run: | npm ci npm i tsdx - npm test + npm test -- --coverage=true npm run build From 6a051e62134485f355d1476c9e74301a542e893f Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:11:56 -0500 Subject: [PATCH 024/463] add coverage to test report --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5d839572..02637b61 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ dist # IntelliJ Project Files .idea +coverage/* \ No newline at end of file From 3f27dd28e16236429ab8be46e5ee69812892c131 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:12:59 -0500 Subject: [PATCH 025/463] no need --- .github/workflows/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ebe0375b..f40ce908 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -30,6 +30,5 @@ jobs: - name: build run: | npm ci - npm i tsdx npm test -- --coverage=true npm run build From f853059976680935c2fd49c8c1855e41d040c5c0 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:13:51 -0500 Subject: [PATCH 026/463] try i --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f40ce908..5d52e466 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,6 +29,6 @@ jobs: - name: build run: | - npm ci + npm i npm test -- --coverage=true npm run build From 6e40e1c12762618479474633421960cc6e621359 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:18:01 -0500 Subject: [PATCH 027/463] clean cache --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5d52e466..d309c7d6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,6 +29,7 @@ jobs: - name: build run: | + npm cache clean --force npm i npm test -- --coverage=true npm run build From bdfc1a17f7b539c12c6c43482791a626ae2c68d5 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:20:12 -0500 Subject: [PATCH 028/463] try this --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d309c7d6..c5540a2b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,7 @@ jobs: - name: build run: | - npm cache clean --force + npm cache clean npm i npm test -- --coverage=true npm run build From 73718cfb01c07723a3dd84854e367d5cfd5bcf80 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:25:24 -0500 Subject: [PATCH 029/463] try this --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c5540a2b..b9812071 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -29,7 +29,8 @@ jobs: - name: build run: | - npm cache clean + npm cache clean --force + npm set registry https://registry.npmjs.org/ npm i npm test -- --coverage=true npm run build From e0eb3f6cff6d0049ded0d338a1d61ef844fcc53f Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:26:38 -0500 Subject: [PATCH 030/463] Update package-lock.json --- package-lock.json | 18196 ++++---------------------------------------- 1 file changed, 1455 insertions(+), 16741 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e79849f..ebc60ac4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,7 +1,7 @@ { "name": "signify-ts", "version": "0.1.1", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -38,12 +38,12 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "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.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { @@ -51,9 +51,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" @@ -63,34 +63,34 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz", + "integrity": "sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helpers": "^7.21.5", + "@babel/parser": "^7.21.8", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", + "json5": "^2.2.2", "semver": "^6.3.0" }, "engines": { @@ -117,33 +117,20 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.21.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/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "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/@babel/helper-annotate-as-pure": { "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", @@ -157,26 +144,25 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", + "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", "dev": true, "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" @@ -198,18 +184,20 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", - "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz", + "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.5", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6" + "@babel/helper-replace-supers": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -218,14 +206,24 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz", + "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" }, "engines": { "node": ">=6.9.0" @@ -234,6 +232,15 @@ "@babel/core": "^7.0.0" } }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/@babel/helper-define-polyfill-provider": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", @@ -261,34 +268,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", "dev": true, "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -307,43 +302,43 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz", + "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.21.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -362,9 +357,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", "dev": true, "engines": { "node": ">=6.9.0" @@ -389,29 +384,29 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz", + "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-member-expression-to-functions": "^7.21.5", "@babel/helper-optimise-call-expression": "^7.18.6", "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", "dev": true, "dependencies": { - "@babel/types": "^7.20.2" + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -442,9 +437,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", "dev": true, "engines": { "node": ">=6.9.0" @@ -460,9 +455,9 @@ } }, "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -484,14 +479,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", "dev": true, "dependencies": { "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -583,9 +578,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -661,12 +656,12 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", - "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, @@ -809,9 +804,9 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", - "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", @@ -842,13 +837,13 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", - "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", + "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, @@ -951,12 +946,12 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz", + "integrity": "sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1005,12 +1000,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz", + "integrity": "sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1122,12 +1117,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -1137,12 +1132,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", + "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1184,9 +1179,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -1199,15 +1194,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-compilation-targets": "^7.20.7", "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-optimise-call-expression": "^7.18.6", "@babel/helper-plugin-utils": "^7.20.2", "@babel/helper-replace-supers": "^7.20.7", @@ -1222,12 +1217,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", + "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-plugin-utils": "^7.21.5", "@babel/template": "^7.20.7" }, "engines": { @@ -1238,9 +1233,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -1300,12 +1295,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz", + "integrity": "sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-flow": "^7.18.6" }, "engines": { @@ -1316,12 +1311,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", + "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1394,14 +1389,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1492,9 +1487,9 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2" @@ -1522,12 +1517,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", + "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-plugin-utils": "^7.21.5", "regenerator-transform": "^0.15.1" }, "engines": { @@ -1629,12 +1624,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz", + "integrity": "sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.7", + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", "@babel/helper-plugin-utils": "^7.20.2", "@babel/plugin-syntax-typescript": "^7.20.0" }, @@ -1646,12 +1642,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", + "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.21.5" }, "engines": { "node": ">=6.9.0" @@ -1677,31 +1673,31 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.5.tgz", + "integrity": "sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", + "@babel/compat-data": "^7.21.5", + "@babel/helper-compilation-targets": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", + "@babel/plugin-proposal-async-generator-functions": "^7.20.7", "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.21.0", "@babel/plugin-proposal-dynamic-import": "^7.18.6", "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", + "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.21.0", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", @@ -1709,6 +1705,7 @@ "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@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", @@ -1718,40 +1715,40 @@ "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.21.5", + "@babel/plugin-transform-async-to-generator": "^7.20.7", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", + "@babel/plugin-transform-block-scoping": "^7.21.0", + "@babel/plugin-transform-classes": "^7.21.0", + "@babel/plugin-transform-computed-properties": "^7.21.5", + "@babel/plugin-transform-destructuring": "^7.21.3", "@babel/plugin-transform-dotall-regex": "^7.18.6", "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-for-of": "^7.21.5", "@babel/plugin-transform-function-name": "^7.18.9", "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", + "@babel/plugin-transform-modules-amd": "^7.20.11", + "@babel/plugin-transform-modules-commonjs": "^7.21.5", + "@babel/plugin-transform-modules-systemjs": "^7.20.11", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", + "@babel/plugin-transform-parameters": "^7.21.3", "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.21.5", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", + "@babel/plugin-transform-spread": "^7.20.7", "@babel/plugin-transform-sticky-regex": "^7.18.6", "@babel/plugin-transform-template-literals": "^7.18.9", "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-escapes": "^7.21.5", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", + "@babel/types": "^7.21.5", "babel-plugin-polyfill-corejs2": "^0.3.3", "babel-plugin-polyfill-corejs3": "^0.6.0", "babel-plugin-polyfill-regenerator": "^0.4.1", @@ -1775,14 +1772,14 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.21.4.tgz", + "integrity": "sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-transform-flow-strip-types": "^7.21.0" }, "engines": { "node": ">=6.9.0" @@ -1808,14 +1805,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.21.5.tgz", + "integrity": "sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-syntax-jsx": "^7.21.4", + "@babel/plugin-transform-modules-commonjs": "^7.21.5", + "@babel/plugin-transform-typescript": "^7.21.3" }, "engines": { "node": ">=6.9.0" @@ -1825,9 +1824,9 @@ } }, "node_modules/@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.21.0.tgz", + "integrity": "sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -1875,10 +1874,16 @@ "source-map": "^0.6.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.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", + "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" @@ -1888,9 +1893,9 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", - "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.21.5.tgz", + "integrity": "sha512-FRqFlFKNazWYykft5zvzuEl1YyTDGsIRrjV9rvxvYkUC7W/ueBng1X68Xd6uRMzAaJ0xMKn08/wem5YS1lpX8w==", "dependencies": { "core-js-pure": "^3.25.1", "regenerator-runtime": "^0.13.11" @@ -1914,19 +1919,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", - "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1935,12 +1940,12 @@ } }, "node_modules/@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-string-parser": "^7.21.5", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" }, @@ -1970,6 +1975,15 @@ "node": ">=0.1.95" } }, + "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/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -1991,9 +2005,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2072,16 +2086,16 @@ } }, "node_modules/@jest/console": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.5.0.tgz", + "integrity": "sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", "slash": "^3.0.0" }, "engines": { @@ -2089,37 +2103,37 @@ } }, "node_modules/@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.5.0.tgz", + "integrity": "sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==", "dev": true, "dependencies": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/console": "^29.5.0", + "@jest/reporters": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "ci-info": "^3.2.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", + "jest-changed-files": "^29.5.0", + "jest-config": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-resolve-dependencies": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", + "jest-watcher": "^29.5.0", "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", + "pretty-format": "^29.5.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -2136,88 +2150,88 @@ } }, "node_modules/@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.5.0.tgz", + "integrity": "sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", - "jest-mock": "^29.3.1" + "jest-mock": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==", "dev": true, "dependencies": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" + "expect": "^29.5.0", + "jest-snapshot": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.5.0.tgz", + "integrity": "sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==", "dev": true, "dependencies": { - "jest-get-type": "^29.2.0" + "jest-get-type": "^29.4.3" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.5.0.tgz", + "integrity": "sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", + "@jest/types": "^29.5.0", + "@sinonjs/fake-timers": "^10.0.2", "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.5.0.tgz", + "integrity": "sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/types": "^29.5.0", + "jest-mock": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.5.0.tgz", + "integrity": "sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/console": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -2230,9 +2244,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -2251,21 +2265,21 @@ } }, "node_modules/@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.4.3.tgz", + "integrity": "sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.24.1" + "@sinclair/typebox": "^0.25.16" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.4.3.tgz", + "integrity": "sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.15", @@ -2277,13 +2291,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.5.0.tgz", + "integrity": "sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==", "dev": true, "dependencies": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/console": "^29.5.0", + "@jest/types": "^29.5.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -2292,14 +2306,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.5.0.tgz", + "integrity": "sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==", "dev": true, "dependencies": { - "@jest/test-result": "^29.3.1", + "@jest/test-result": "^29.5.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", + "jest-haste-map": "^29.5.0", "slash": "^3.0.0" }, "engines": { @@ -2307,38 +2321,38 @@ } }, "node_modules/@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.5.0.tgz", + "integrity": "sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^2.0.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", + "jest-haste-map": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" + "write-file-atomic": "^4.0.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", + "integrity": "sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^29.4.3", "@types/istanbul-lib-coverage": "^2.0.0", "@types/istanbul-reports": "^3.0.0", "@types/node": "*", @@ -2350,13 +2364,14 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "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.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" @@ -2381,21 +2396,27 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "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.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "3.1.0", "@jridgewell/sourcemap-codec": "1.4.14" } }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "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", @@ -2544,27 +2565,27 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "version": "0.25.24", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", + "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", "dev": true }, "node_modules/@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, "dependencies": { "type-detect": "4.0.8" } }, "node_modules/@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", "dev": true, "dependencies": { - "@sinonjs/commons": "^1.7.0" + "@sinonjs/commons": "^2.0.0" } }, "node_modules/@size-limit/file": { @@ -2659,9 +2680,9 @@ } }, "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", + "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" @@ -2671,13 +2692,13 @@ } }, "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" @@ -2703,9 +2724,9 @@ } }, "node_modules/@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "version": "7.18.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.5.tgz", + "integrity": "sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==", "dev": true, "dependencies": { "@babel/types": "^7.3.0" @@ -2724,9 +2745,9 @@ "dev": true }, "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "dependencies": { "@types/node": "*" @@ -2792,9 +2813,9 @@ } }, "node_modules/@types/jest/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -2879,21 +2900,29 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", "dev": true }, - "node_modules/@types/libsodium-wrappers-sumo": { + "node_modules/@types/libsodium-wrappers": { "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers/-/libsodium-wrappers-0.7.10.tgz", "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" }, + "node_modules/@types/libsodium-wrappers-sumo": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.5.tgz", + "integrity": "sha512-CL7rmLxw28H/FpFUnMu5BzzRsE+ICxHBpRoaY8ks+3HMsCJdA/Vp809sj+qNhw64Ht0OEnfoN3BC1sHwagoVaw==", + "dependencies": { + "@types/libsodium-wrappers": "*" + } + }, "node_modules/@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "version": "4.14.194", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz", + "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==", "dev": true }, "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "version": "18.16.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.7.tgz", + "integrity": "sha512-MFg7ua/bRtnA1hYE3pVyWxGd/r7aMqjNOdHvlSsXV3n8iaeGKkOaPzpJh6/ovf4bEXWcojkeMJpTsq3mzXW4IQ==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -2945,9 +2974,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -3382,16 +3411,12 @@ } }, "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", "dev": true, "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" + "deep-equal": "^2.0.5" } }, "node_modules/arr-diff": { @@ -3421,6 +3446,19 @@ "node": ">=0.10.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==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", @@ -3608,10 +3646,16 @@ } }, "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "optional": true }, "node_modules/asynckit": { @@ -3647,6 +3691,18 @@ "node": ">= 4.5.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/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -3657,25 +3713,28 @@ } }, "node_modules/aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", "dev": true }, "node_modules/axe-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", - "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", "dev": true, "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } }, "node_modules/babel-core": { "version": "7.0.0-bridge.0", @@ -3717,15 +3776,15 @@ } }, "node_modules/babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.5.0.tgz", + "integrity": "sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==", "dev": true, "dependencies": { - "@jest/transform": "^29.3.1", + "@jest/transform": "^29.5.0", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", + "babel-preset-jest": "^29.5.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" @@ -3772,9 +3831,9 @@ } }, "node_modules/babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.5.0.tgz", + "integrity": "sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==", "dev": true, "dependencies": { "@babel/template": "^7.3.3", @@ -3875,12 +3934,12 @@ } }, "node_modules/babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.5.0.tgz", + "integrity": "sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==", "dev": true, "dependencies": { - "babel-plugin-jest-hoist": "^29.2.0", + "babel-plugin-jest-hoist": "^29.5.0", "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { @@ -4162,9 +4221,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, "funding": [ { @@ -4177,10 +4236,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" }, "bin": { "browserslist": "cli.js" @@ -4371,9 +4430,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", "dev": true, "funding": [ { @@ -4383,6 +4442,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ] }, @@ -4489,10 +4552,16 @@ } }, "node_modules/ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { "node": ">=8" } @@ -4630,9 +4699,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", "dev": true, "engines": { "node": ">=6" @@ -4828,10 +4897,16 @@ "typedarray": "^0.0.6" } }, + "node_modules/concat-stream/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/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -4918,12 +4993,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", - "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, "dependencies": { - "browserslist": "^4.21.4" + "browserslist": "^4.21.5" }, "funding": { "type": "opencollective", @@ -4931,9 +5006,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", - "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==", + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.30.2.tgz", + "integrity": "sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5152,9 +5227,9 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz", + "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==", "dev": true, "engines": { "node": "^10 || ^12 || >=14" @@ -5245,12 +5320,12 @@ } }, "node_modules/cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^5.2.13", + "cssnano-preset-default": "^5.2.14", "lilconfig": "^2.0.3", "yaml": "^1.10.2" }, @@ -5266,22 +5341,22 @@ } }, "node_modules/cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", "dev": true, "dependencies": { "css-declaration-sorter": "^6.3.1", "cssnano-utils": "^3.1.0", "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", + "postcss-colormin": "^5.3.1", "postcss-convert-values": "^5.1.3", "postcss-discard-comments": "^5.1.2", "postcss-discard-duplicates": "^5.1.0", "postcss-discard-empty": "^5.1.1", "postcss-discard-overridden": "^5.1.0", "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", + "postcss-merge-rules": "^5.1.4", "postcss-minify-font-values": "^5.1.0", "postcss-minify-gradients": "^5.1.1", "postcss-minify-params": "^5.1.4", @@ -5296,7 +5371,7 @@ "postcss-normalize-url": "^5.1.0", "postcss-normalize-whitespace": "^5.1.1", "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", + "postcss-reduce-initial": "^5.1.2", "postcss-reduce-transforms": "^5.1.0", "postcss-svgo": "^5.1.0", "postcss-unique-selectors": "^5.1.1" @@ -5432,6 +5507,35 @@ "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", "dev": true }, + "node_modules/deep-equal": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz", + "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -5439,9 +5543,9 @@ "dev": true }, "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "engines": { "node": ">=0.10.0" @@ -5460,9 +5564,9 @@ } }, "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, "dependencies": { "has-property-descriptors": "^1.0.0", @@ -5517,9 +5621,9 @@ } }, "node_modules/diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", + "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5658,10 +5762,16 @@ "stream-shift": "^1.0.0" } }, + "node_modules/duplexify/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/duplexify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -5699,9 +5809,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", + "version": "1.4.390", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.390.tgz", + "integrity": "sha512-9h6KDGTynRfpM16U40uLSCxRO3diIKcXXI0mPChKls7sfkxOlCH1sgSJ14Rb00BFomQNHY/p67gaZSu5Mu8j6w==", "dev": true }, "node_modules/elliptic": { @@ -5775,6 +5885,12 @@ "node": ">=6.9.0" } }, + "node_modules/enhanced-resolve/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/enhanced-resolve/node_modules/memory-fs": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", @@ -5789,9 +5905,9 @@ } }, "node_modules/enhanced-resolve/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -5861,36 +5977,45 @@ } }, "node_modules/es-abstract": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", - "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", + "version": "1.21.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", + "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", "dev": true, "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "get-intrinsic": "^1.2.0", "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", "gopd": "^1.0.1", "has": "^1.0.3", "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.12.3", "object-keys": "^1.1.1", "object.assign": "^4.1.4", "regexp.prototype.flags": "^1.4.3", "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", "string.prototype.trimend": "^1.0.6", "string.prototype.trimstart": "^1.0.6", - "unbox-primitive": "^1.0.2" + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.9" }, "engines": { "node": ">= 0.4" @@ -5899,16 +6024,50 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "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==", @@ -6092,13 +6251,14 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", + "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", "dev": true, "dependencies": { "debug": "^3.2.7", - "resolve": "^1.20.0" + "is-core-module": "^2.11.0", + "resolve": "^1.22.1" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -6111,9 +6271,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "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": { "debug": "^3.2.7" @@ -6152,23 +6312,25 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "version": "2.27.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", + "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", "dev": true, "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", + "array-includes": "^3.1.6", + "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.6", - "eslint-module-utils": "^2.7.3", + "eslint-import-resolver-node": "^0.3.7", + "eslint-module-utils": "^2.7.4", "has": "^1.0.3", - "is-core-module": "^2.8.1", + "is-core-module": "^2.11.0", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", + "object.values": "^1.1.6", + "resolve": "^1.22.1", + "semver": "^6.3.0", "tsconfig-paths": "^3.14.1" }, "engines": { @@ -6179,12 +6341,12 @@ } }, "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { @@ -6199,30 +6361,36 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-import/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/eslint-plugin-import/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz", + "integrity": "sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==", "dev": true, "dependencies": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", + "@babel/runtime": "^7.20.7", + "aria-query": "^5.1.3", + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", + "axe-core": "^4.6.2", + "axobject-query": "^3.1.1", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", + "jsx-ast-utils": "^3.3.3", + "language-tags": "=1.0.5", "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", "semver": "^6.3.0" }, "engines": { @@ -6269,9 +6437,9 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", + "version": "7.32.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz", + "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==", "dev": true, "dependencies": { "array-includes": "^3.1.6", @@ -6286,7 +6454,7 @@ "object.hasown": "^1.1.2", "object.values": "^1.1.6", "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", + "resolve": "^2.0.0-next.4", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.8" }, @@ -6400,9 +6568,9 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -6472,9 +6640,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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" @@ -6732,16 +6900,16 @@ "dev": true }, "node_modules/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.5.0.tgz", + "integrity": "sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" + "@jest/expect-utils": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7137,9 +7305,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.196.3", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", - "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", + "version": "0.205.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.205.1.tgz", + "integrity": "sha512-+RF/e1Et6ZX2I/UG7SGAz3Z8+ulj9xKYLu5AD7Wi8H2llzncU8ZpdKfLR50pPvj4g2a/FbZWkXYL7qHc+zXJNA==", "dev": true, "engines": { "node": ">=0.4.0" @@ -7155,10 +7323,16 @@ "readable-stream": "^2.3.6" } }, + "node_modules/flush-write-stream/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/flush-write-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -7185,6 +7359,15 @@ "safe-buffer": "~5.1.0" } }, + "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/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -7239,10 +7422,16 @@ "readable-stream": "^2.0.0" } }, + "node_modules/from2/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/from2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -7296,10 +7485,16 @@ "readable-stream": "1 || 2" } }, + "node_modules/fs-write-stream-atomic/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/fs-write-stream-atomic/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -7404,9 +7599,9 @@ } }, "node_modules/get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, "dependencies": { "function-bind": "^1.1.1", @@ -7522,6 +7717,21 @@ "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/globalyzer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", @@ -7567,9 +7777,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "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/growly": { @@ -7659,6 +7869,18 @@ "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", @@ -7836,9 +8058,9 @@ } }, "node_modules/humanize-duration": { - "version": "3.27.3", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", - "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", + "version": "3.28.0", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.28.0.tgz", + "integrity": "sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A==", "dev": true }, "node_modules/husky": { @@ -8013,12 +8235,12 @@ } }, "node_modules/internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", + "get-intrinsic": "^1.2.0", "has": "^1.0.3", "side-channel": "^1.0.4" }, @@ -8056,6 +8278,36 @@ "node": ">=0.10.0" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "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-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", @@ -8139,9 +8391,9 @@ "dev": true }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -8267,6 +8519,15 @@ "node": ">=8" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -8346,6 +8607,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "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", @@ -8400,12 +8670,40 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "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/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -8418,6 +8716,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -8437,9 +8748,9 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "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/isexe": { @@ -8539,15 +8850,15 @@ } }, "node_modules/jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", + "integrity": "sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/core": "^29.5.0", + "@jest/types": "^29.5.0", "import-local": "^3.0.2", - "jest-cli": "^29.3.1" + "jest-cli": "^29.5.0" }, "bin": { "jest": "bin/jest.js" @@ -8565,9 +8876,9 @@ } }, "node_modules/jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz", + "integrity": "sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==", "dev": true, "dependencies": { "execa": "^5.0.0", @@ -8578,28 +8889,29 @@ } }, "node_modules/jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -8608,21 +8920,21 @@ } }, "node_modules/jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", + "integrity": "sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==", "dev": true, "dependencies": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/core": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", + "jest-config": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -8642,31 +8954,31 @@ } }, "node_modules/jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.5.0.tgz", + "integrity": "sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", + "@jest/test-sequencer": "^29.5.0", + "@jest/types": "^29.5.0", + "babel-jest": "^29.5.0", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", + "jest-circus": "^29.5.0", + "jest-environment-node": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-runner": "^29.5.0", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", + "pretty-format": "^29.5.0", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -8687,24 +8999,24 @@ } }, "node_modules/jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.5.0.tgz", + "integrity": "sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "diff-sequences": "^29.4.3", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.4.3.tgz", + "integrity": "sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==", "dev": true, "dependencies": { "detect-newline": "^3.0.0" @@ -8714,16 +9026,16 @@ } }, "node_modules/jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.5.0.tgz", + "integrity": "sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" + "jest-get-type": "^29.4.3", + "jest-util": "^29.5.0", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -8808,9 +9120,9 @@ "dev": true }, "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -8898,46 +9210,46 @@ } }, "node_modules/jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.5.0.tgz", + "integrity": "sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==", "dev": true, "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" + "jest-mock": "^29.5.0", + "jest-util": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.4.3.tgz", + "integrity": "sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.5.0.tgz", + "integrity": "sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", + "jest-regex-util": "^29.4.3", + "jest-util": "^29.5.0", + "jest-worker": "^29.5.0", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -9146,9 +9458,9 @@ "dev": true }, "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -9758,46 +10070,46 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.5.0.tgz", + "integrity": "sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==", "dev": true, "dependencies": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.5.0.tgz", + "integrity": "sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.5.0.tgz", + "integrity": "sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", + "pretty-format": "^29.5.0", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -9806,14 +10118,14 @@ } }, "node_modules/jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.5.0.tgz", + "integrity": "sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@types/node": "*", - "jest-util": "^29.3.1" + "jest-util": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -9837,28 +10149,28 @@ } }, "node_modules/jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", + "version": "29.4.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.4.3.tgz", + "integrity": "sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==", "dev": true, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.5.0.tgz", + "integrity": "sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", + "jest-haste-map": "^29.5.0", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", + "jest-util": "^29.5.0", + "jest-validate": "^29.5.0", "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", + "resolve.exports": "^2.0.0", "slash": "^3.0.0" }, "engines": { @@ -9866,43 +10178,43 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.5.0.tgz", + "integrity": "sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==", "dev": true, "dependencies": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" + "jest-regex-util": "^29.4.3", + "jest-snapshot": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.5.0.tgz", + "integrity": "sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==", "dev": true, "dependencies": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/console": "^29.5.0", + "@jest/environment": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.13.1", "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", + "jest-docblock": "^29.4.3", + "jest-environment-node": "^29.5.0", + "jest-haste-map": "^29.5.0", + "jest-leak-detector": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-resolve": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-util": "^29.5.0", + "jest-watcher": "^29.5.0", + "jest-worker": "^29.5.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -9911,31 +10223,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.5.0.tgz", + "integrity": "sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/fake-timers": "^29.5.0", + "@jest/globals": "^29.5.0", + "@jest/source-map": "^29.4.3", + "@jest/test-result": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", + "jest-haste-map": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-mock": "^29.5.0", + "jest-regex-util": "^29.4.3", + "jest-resolve": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -9956,9 +10268,9 @@ } }, "node_modules/jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.5.0.tgz", + "integrity": "sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -9967,23 +10279,22 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/expect-utils": "^29.5.0", + "@jest/transform": "^29.5.0", + "@jest/types": "^29.5.0", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.3.1", + "expect": "^29.5.0", "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", + "jest-diff": "^29.5.0", + "jest-get-type": "^29.4.3", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-util": "^29.5.0", "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", + "pretty-format": "^29.5.0", "semver": "^7.3.5" }, "engines": { @@ -9991,12 +10302,12 @@ } }, "node_modules/jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.5.0.tgz", + "integrity": "sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -10008,17 +10319,17 @@ } }, "node_modules/jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.5.0.tgz", + "integrity": "sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==", "dev": true, "dependencies": { - "@jest/types": "^29.3.1", + "@jest/types": "^29.5.0", "camelcase": "^6.2.0", "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", + "jest-get-type": "^29.4.3", "leven": "^3.1.0", - "pretty-format": "^29.3.1" + "pretty-format": "^29.5.0" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -10114,9 +10425,9 @@ "dev": true }, "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -10261,18 +10572,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.5.0.tgz", + "integrity": "sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==", "dev": true, "dependencies": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.13.1", - "jest-util": "^29.3.1", + "jest-util": "^29.5.0", "string-length": "^4.0.1" }, "engines": { @@ -10280,13 +10591,13 @@ } }, "node_modules/jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.5.0.tgz", + "integrity": "sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==", "dev": true, "dependencies": { "@types/node": "*", - "jest-util": "^29.3.1", + "jest-util": "^29.5.0", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -10689,12 +11000,12 @@ "dev": true }, "node_modules/language-tags": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", - "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==", "dev": true, "dependencies": { - "language-subtag-registry": "^0.3.20" + "language-subtag-registry": "~0.3.2" } }, "node_modules/last-call-webpack-plugin": { @@ -10730,16 +11041,16 @@ } }, "node_modules/libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.11.tgz", + "integrity": "sha512-bY+7ph7xpk51Ez2GbE10lXAQ5sJma6NghcIDaSPbM/G9elfrjLa0COHl/7P6Wb/JizQzl5UQontOOP1z0VwbLA==" }, "node_modules/libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", + "version": "0.7.11", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.11.tgz", + "integrity": "sha512-DGypHOmJbB1nZn89KIfGOAkDgfv5N6SBGC3Qvmy/On0P0WD1JQvNRS/e3UL3aFF+xC0m+MYz5M+MnRnK2HMrKQ==", "dependencies": { - "libsodium-sumo": "^0.7.0" + "libsodium-sumo": "^0.7.11" } }, "node_modules/lilconfig": { @@ -10994,6 +11305,15 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/lolex/node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -11120,10 +11440,16 @@ "readable-stream": "^2.0.1" } }, + "node_modules/memory-fs/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/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -11267,9 +11593,9 @@ } }, "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "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" @@ -11396,10 +11722,16 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "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" }, @@ -11517,6 +11849,12 @@ "isarray": "^1.0.0" } }, + "node_modules/node-libs-browser/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/node-libs-browser/node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -11530,9 +11868,9 @@ "dev": true }, "node_modules/node-libs-browser/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -11560,19 +11898,17 @@ } }, "node_modules/node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", "dev": true, "optional": true, - "peer": true, "dependencies": { "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" + "which": "^1.3.1" } }, "node_modules/node-notifier/node_modules/is-wsl": { @@ -11581,7 +11917,6 @@ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "optional": true, - "peer": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -11589,21 +11924,33 @@ "node": ">=8" } }, - "node_modules/node-notifier/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==", + "node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "optional": true, - "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, "bin": { - "uuid": "dist/bin/uuid" + "which": "bin/which" } }, "node_modules/node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, "node_modules/nofilter": { @@ -11681,9 +12028,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.4.tgz", + "integrity": "sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==", "dev": true }, "node_modules/oauth-sign": { @@ -11790,14 +12137,30 @@ } }, "node_modules/object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "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", @@ -12113,10 +12476,16 @@ "readable-stream": "^2.1.5" } }, + "node_modules/parallel-transform/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/parallel-transform/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -12373,9 +12742,9 @@ } }, "node_modules/postcss": { - "version": "8.4.20", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", - "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, "funding": [ { @@ -12385,10 +12754,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -12410,12 +12783,12 @@ } }, "node_modules/postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", "dev": true, "dependencies": { - "browserslist": "^4.16.6", + "browserslist": "^4.21.4", "caniuse-api": "^3.0.0", "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" @@ -12508,9 +12881,9 @@ } }, "node_modules/postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", "dev": true, "dependencies": { "browserslist": "^4.21.4", @@ -12799,9 +13172,9 @@ } }, "node_modules/postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", "dev": true, "dependencies": { "browserslist": "^4.21.4", @@ -12830,9 +13203,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -12913,12 +13286,12 @@ } }, "node_modules/pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.5.0.tgz", + "integrity": "sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==", "dev": true, "dependencies": { - "@jest/schemas": "^29.0.0", + "@jest/schemas": "^29.4.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -13178,14 +13551,30 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "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/pure-rand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.2.tgz", + "integrity": "sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, "node_modules/qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", @@ -13310,9 +13699,9 @@ } }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13416,14 +13805,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -13445,14 +13834,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", + "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", - "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" @@ -13461,12 +13850,6 @@ "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, "node_modules/regjsparser": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", @@ -13628,12 +14011,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "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.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -13673,9 +14056,9 @@ "dev": true }, "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true, "engines": { "node": ">=10" @@ -14356,9 +14739,9 @@ } }, "node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", @@ -14897,9 +15280,9 @@ "dev": true }, "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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", @@ -14923,9 +15306,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, "node_modules/split-string": { @@ -15113,6 +15496,18 @@ "node": ">=0.10.0" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -15123,10 +15518,16 @@ "readable-stream": "^2.0.2" } }, + "node_modules/stream-browserify/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/stream-browserify/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -15176,10 +15577,16 @@ "xtend": "^4.0.0" } }, + "node_modules/stream-http/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/stream-http/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -15266,6 +15673,23 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/string.prototype.trimend": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", @@ -15467,9 +15891,9 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", + "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", @@ -15633,10 +16057,16 @@ "xtend": "~4.0.1" } }, + "node_modules/through2/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/through2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "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", @@ -16128,13 +16558,13 @@ } }, "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "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": { "@types/json5": "^0.0.29", - "json5": "^1.0.1", + "json5": "^1.0.2", "minimist": "^1.2.6", "strip-bom": "^3.0.0" } @@ -16597,9 +17027,9 @@ "dev": true }, "node_modules/tsdx/node_modules/@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", + "version": "15.0.15", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.15.tgz", + "integrity": "sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -17209,19 +17639,6 @@ "node": ">=4" } }, - "node_modules/tsdx/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, - "optional": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/tsdx/node_modules/istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -17904,43 +18321,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/tsdx/node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", - "dev": true, - "optional": true, - "dependencies": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - } - }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, "node_modules/tsdx/node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", @@ -18317,9 +18697,9 @@ } }, "node_modules/tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", "dev": true }, "node_modules/tsutils": { @@ -18400,6 +18780,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -18416,9 +18810,9 @@ } }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -18582,6 +18976,12 @@ "node": ">=0.10.0" } }, + "node_modules/unset-value/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/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", @@ -18812,9 +19212,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -18824,6 +19224,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -18831,7 +19235,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -18920,9 +19324,9 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", + "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", @@ -19155,7 +19559,7 @@ "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", "dev": true, "hasInstallScript": true, "optional": true, @@ -19243,6 +19647,13 @@ "node": ">=0.10.0" } }, + "node_modules/watchpack-chokidar2/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, + "optional": true + }, "node_modules/watchpack-chokidar2/node_modules/micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -19269,9 +19680,9 @@ } }, "node_modules/watchpack-chokidar2/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, "optional": true, "dependencies": { @@ -19400,11 +19811,12 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", - "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.8.0.tgz", + "integrity": "sha512-ZzoSBePshOKhr+hd8u6oCkZVwpVaXgpw23ScGLFpR6SjYI7+7iIWYarjN6OEYOfRt8o7ZyZZQk0DuMizJ+LEIg==", "dev": true, "dependencies": { + "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", "acorn-walk": "^8.0.0", "chalk": "^4.1.0", @@ -19423,9 +19835,9 @@ } }, "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -19708,12 +20120,47 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -19903,9 +20350,9 @@ } }, "node_modules/yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "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", @@ -19950,15738 +20397,5 @@ "url": "https://github.com/sponsors/sindresorhus" } } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "requires": { - "@babel/highlight": "^7.18.6" - } - }, - "@babel/compat-data": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz", - "integrity": "sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==", - "dev": true - }, - "@babel/core": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.7.tgz", - "integrity": "sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.7", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "dependencies": { - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz", - "integrity": "sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", - "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", - "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz", - "integrity": "sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz", - "integrity": "sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", - "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "requires": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz", - "integrity": "sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-module-transforms": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", - "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.20.2", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.10", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", - "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", - "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", - "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" - } - }, - "@babel/helper-replace-supers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz", - "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-member-expression-to-functions": "^7.20.7", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/helper-simple-access": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", - "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", - "dev": true, - "requires": { - "@babel/types": "^7.20.2" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", - "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "requires": { - "@babel/types": "^7.18.6" - } - }, - "@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", - "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" - } - }, - "@babel/helpers": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz", - "integrity": "sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==", - "dev": true, - "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", - "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", - "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.18.6.tgz", - "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", - "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" - } - }, - "@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==", - "dev": true, - "requires": { - "@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" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", - "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-class-static-block": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz", - "integrity": "sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", - "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", - "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", - "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", - "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", - "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", - "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz", - "integrity": "sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", - "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz", - "integrity": "sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@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==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", - "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@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, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-typescript": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz", - "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz", - "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", - "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz", - "integrity": "sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz", - "integrity": "sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz", - "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz", - "integrity": "sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", - "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", - "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", - "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz", - "integrity": "sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-flow": "^7.18.6" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.18.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", - "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", - "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", - "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", - "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz", - "integrity": "sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-simple-access": "^7.20.2" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", - "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", - "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", - "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", - "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz", - "integrity": "sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", - "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz", - "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", - "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", - "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", - "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", - "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", - "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-typescript": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz", - "integrity": "sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-typescript": "^7.20.0" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", - "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.9" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", - "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/preset-env": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz", - "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", - "@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.20.0", - "@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-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-flow": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.18.6.tgz", - "integrity": "sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-flow-strip-types": "^7.18.6" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@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" - } - }, - "@babel/preset-typescript": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", - "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-transform-typescript": "^7.18.6" - } - }, - "@babel/register": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.18.9.tgz", - "integrity": "sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "dependencies": { - "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, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "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, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/runtime-corejs3": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz", - "integrity": "sha512-jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==", - "requires": { - "core-js-pure": "^3.25.1", - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - } - }, - "@babel/traverse": { - "version": "7.20.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.10.tgz", - "integrity": "sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", - "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" - } - }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "@cnakazawa/watch": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz", - "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==", - "dev": true, - "requires": { - "exec-sh": "^0.3.2", - "minimist": "^1.2.0" - } - }, - "@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "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 - } - } - }, - "@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - } - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@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, - "requires": { - "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" - } - }, - "@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 - }, - "@jest/console": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.3.1.tgz", - "integrity": "sha512-IRE6GD47KwcqA09RIWrabKdHPiKDGgtAL31xDxbi/RjQMsr+lY+ppxmHwY0dUEV3qvvxZzoe5Hl0RXZJOjQNUg==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/core": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.3.1.tgz", - "integrity": "sha512-0ohVjjRex985w5MmO5L3u5GR1O30DexhBSpuwx2P+9ftyqHdJXnk7IUWiP80oHMvt7ubHCJHxV0a0vlKVuZirw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.2.0", - "jest-config": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-resolve-dependencies": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "jest-watcher": "^29.3.1", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "@jest/environment": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.3.1.tgz", - "integrity": "sha512-pMmvfOPmoa1c1QpfFW0nXYtNLpofqo4BrCIk6f2kW4JFeNlHV2t3vd+3iDLf31e2ot2Mec0uqZfmI+U0K2CFag==", - "dev": true, - "requires": { - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1" - } - }, - "@jest/expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-QivM7GlSHSsIAWzgfyP8dgeExPRZ9BIe2LsdPyEhCGkZkoyA+kGsoIzbKAfZCvvRzfZioKwPtCZIt5SaoxYCvg==", - "dev": true, - "requires": { - "expect": "^29.3.1", - "jest-snapshot": "^29.3.1" - } - }, - "@jest/expect-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.3.1.tgz", - "integrity": "sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0" - } - }, - "@jest/fake-timers": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.3.1.tgz", - "integrity": "sha512-iHTL/XpnDlFki9Tq0Q1GGuVeQ8BHZGIYsvCO5eN/O/oJaRzofG9Xndd9HuSDBI/0ZS79pg0iwn07OMTQ7ngF2A==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@sinonjs/fake-timers": "^9.1.2", - "@types/node": "*", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "@jest/globals": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.3.1.tgz", - "integrity": "sha512-cTicd134vOcwO59OPaB6AmdHQMCtWOe+/DitpTZVxWgMJ+YvXL1HNAmPyiGbSHmF/mXVBkvlm8YYtQhyHPnV6Q==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/types": "^29.3.1", - "jest-mock": "^29.3.1" - } - }, - "@jest/reporters": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.3.1.tgz", - "integrity": "sha512-GhBu3YFuDrcAYW/UESz1JphEAbvUjaY2vShRZRoRY1mxpCMB3yGSJ4j9n0GxVlEOdCf7qjvUfBCrTUUqhVfbRA==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - } - }, - "@jest/schemas": { - "version": "29.0.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz", - "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==", - "dev": true, - "requires": { - "@sinclair/typebox": "^0.24.1" - } - }, - "@jest/source-map": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.2.0.tgz", - "integrity": "sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.15", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - } - }, - "@jest/test-result": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.3.1.tgz", - "integrity": "sha512-qeLa6qc0ddB0kuOZyZIhfN5q0e2htngokyTWsGriedsDhItisW7SDYZ7ceOe57Ii03sL988/03wAcBh3TChMGw==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.3.1.tgz", - "integrity": "sha512-IqYvLbieTv20ArgKoAMyhLHNrVHJfzO6ARZAbQRlY4UGWfdDnLlZEF0BvKOMd77uIiIjSZRwq3Jb3Fa3I8+2UA==", - "dev": true, - "requires": { - "@jest/test-result": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "slash": "^3.0.0" - } - }, - "@jest/transform": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.3.1.tgz", - "integrity": "sha512-8wmCFBTVGYqFNLWfcOWoVuMuKYPUBTnTMDkdvFtAYELwDOl9RGwOsvQWGPFxDJ8AWY9xM/8xCXdqmPK3+Q5Lug==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.3.1", - "@jridgewell/trace-mapping": "^0.3.15", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.1" - } - }, - "@jest/types": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.3.1.tgz", - "integrity": "sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - } - }, - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true - }, - "@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 - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", - "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "@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, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@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 - }, - "@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, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-commonjs": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", - "integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8", - "commondir": "^1.0.1", - "estree-walker": "^1.0.1", - "glob": "^7.1.2", - "is-reference": "^1.1.2", - "magic-string": "^0.25.2", - "resolve": "^1.11.0" - } - }, - "@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8" - } - }, - "@rollup/plugin-node-resolve": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz", - "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", - "dev": true - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz", - "integrity": "sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "@size-limit/file": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/file/-/file-5.0.5.tgz", - "integrity": "sha512-lnrQYRmTt0QzV08R9M61q0+EM7Jkcp1qZ/+BG01OOFA0rZtfHt9aKCdvoSEoMrIxK44A9lWHRmyNVnKKDfKbWA==", - "dev": true, - "requires": { - "semver": "7.3.5" - } - }, - "@size-limit/preset-small-lib": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/preset-small-lib/-/preset-small-lib-5.0.5.tgz", - "integrity": "sha512-BHZwlSEaxHPqOOienQpgoH+ueWYryXiusFpNKRj1Jmyv6/rlOxww1nTCljNhh9+hOKOsahqGbvl43cr8o7NQiQ==", - "dev": true, - "requires": { - "@size-limit/file": "5.0.5", - "@size-limit/webpack": "5.0.5" - } - }, - "@size-limit/webpack": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@size-limit/webpack/-/webpack-5.0.5.tgz", - "integrity": "sha512-caLXPNj1iRNeBRoycKTLMLRlLTCjIv80VmBTCag5QZMuNNu4g0weoxjnU7Jbf5YneTuXuEhKSjpc95rB4Biq7Q==", - "dev": true, - "requires": { - "css-loader": "^5.2.6", - "escape-string-regexp": "^4.0.0", - "file-loader": "^6.2.0", - "mkdirp": "^1.0.4", - "nanoid": "^3.1.28", - "optimize-css-assets-webpack-plugin": "^6.0.1", - "pnp-webpack-plugin": "^1.7.0", - "style-loader": "^2.0.0", - "webpack": "^4.44.1", - "webpack-bundle-analyzer": "^4.4.2" - } - }, - "@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true - }, - "@ts-morph/bootstrap": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/bootstrap/-/bootstrap-0.16.0.tgz", - "integrity": "sha512-FYW3bK5EBeAgpHu0qZ57gHbLjzgzC81y5EJmrebzIhXSYg6OgZu5lFHpF5NJ7CwM7ZMhxX1PG+DRA8e+skopKw==", - "dev": true, - "requires": { - "@ts-morph/common": "~0.16.0" - } - }, - "@ts-morph/common": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.16.0.tgz", - "integrity": "sha512-SgJpzkTgZKLKqQniCjLaE3c2L2sdL7UShvmTmPBejAKd2OKV/yfMpQ2IWpAuA+VY5wy7PkSUaEObIqEK6afFuw==", - "dev": true, - "requires": { - "fast-glob": "^3.2.11", - "minimatch": "^5.1.0", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" - }, - "dependencies": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", - "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", - "dev": true, - "requires": { - "@babel/types": "^7.3.0" - } - }, - "@types/eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==", - "dev": true - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*" - } - }, - "@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "requires": { - "@types/istanbul-lib-report": "*" - } - }, - "@types/jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==", - "dev": true, - "requires": { - "jest-diff": "^25.2.1", - "pretty-format": "^25.2.1" - }, - "dependencies": { - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - } - } - }, - "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true - }, - "@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 - }, - "@types/libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/@types/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-BqI9B92u+cM3ccp8mpHf+HzJ8fBlRwdmyd6+fz3p99m3V6ifT5O3zmOMi612PGkpeFeG/G6loxUnzlDNhfjPSA==" - }, - "@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", - "dev": true - }, - "@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "@types/text-encoding": { - "version": "0.0.36", - "resolved": "https://registry.npmjs.org/@types/text-encoding/-/text-encoding-0.0.36.tgz", - "integrity": "sha512-LfATA7bH+MtAPlOshYgQ1M3n2r0TSB6Ns5ESvKYlVugkKErQg5oFbR2qO7XrKtNsrtzedDvTeqQfyTjdPJH7jw==", - "dev": true - }, - "@types/urlsafe-base64": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/@types/urlsafe-base64/-/urlsafe-base64-1.0.28.tgz", - "integrity": "sha512-TG5dKbqx75FUTXfiARIPvLvMCImVYJbKM+Fvy9HgpxkunHnMHNAn78xpvcZxIbPITyRzf0b2Gl8fnd1Ja3p1eQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/yargs": { - "version": "17.0.18", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.18.tgz", - "integrity": "sha512-eIJR1UER6ur3EpKM3d+2Pgd+ET+k6Kn9B4ZItX0oPjjVI5PrfaRjKyLT5UYendDpLuoiJMNJvovLQbEXqhsPaw==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true - }, - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "eslint-visitor-keys": "^1.1.0", - "glob": "^7.1.6", - "is-glob": "^4.0.1", - "lodash": "^4.17.15", - "semver": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@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 - }, - "@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 - }, - "abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", - "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "acorn-walk": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", - "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", - "dev": true - } - } - }, - "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, - "requires": {} - }, - "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 - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} - }, - "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, - "requires": {} - }, - "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 - }, - "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, - "requires": { - "type-fest": "^0.21.3" - } - }, - "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 - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "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, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA==", - "dev": true - }, - "array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - } - }, - "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 - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", - "dev": true - }, - "array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - } - }, - "array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - } - }, - "asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", - "dev": true - }, - "ast-types": { - "version": "0.11.7", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.7.tgz", - "integrity": "sha512-2mP3TwtkY/aTv5X3ZsMpNAbOnyoC/aMJwJSoaELPkHId0nSQgFcnU4dRW3isxiz7+zBexk0ym3WNVjMiQBnJSw==", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==", - "dev": true - }, - "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 - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "asyncro": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", - "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", - "dev": true - }, - "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 - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", - "dev": true - }, - "axe-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.1.tgz", - "integrity": "sha512-lCZN5XRuOnpG4bpMq8v0khrWtUOn+i8lZSb6wHZH56ZfbIEv6XwJV84AAueh9/zi7qPVJ/E4yz6fmsiyOmXR4w==", - "dev": true - }, - "axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", - "dev": true, - "requires": {} - }, - "babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "babel-jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.3.1.tgz", - "integrity": "sha512-aard+xnMoxgjwV70t0L6wkW/3HQQtV+O0PEimxKgzNqCJnbYmroPojdP2tqKSOAt8QAKV/uSZU8851M7B5+fcA==", - "dev": true, - "requires": { - "@jest/transform": "^29.3.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.2.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - } - }, - "babel-plugin-annotate-pure-calls": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz", - "integrity": "sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA==", - "dev": true, - "requires": {} - }, - "babel-plugin-dev-expression": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz", - "integrity": "sha512-rP5LK9QQTzCW61nVVzw88En1oK8t8gTsIeC6E61oelxNsU842yMjF0G1MxhvUpCkxCEIj7sE8/e5ieTheT//uw==", - "dev": true, - "requires": {} - }, - "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, - "requires": { - "@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" - } - }, - "babel-plugin-jest-hoist": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.2.0.tgz", - "integrity": "sha512-TnspP2WNiR3GLfCsUNHqeXw0RoQ2f9U5hQ5L3XFpwuO8htQmSrhh8qsB6vi5Yi8+kuynN1yjDjQsPfkebmB6ZA==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - } - }, - "babel-plugin-transform-rename-import": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-rename-import/-/babel-plugin-transform-rename-import-2.3.0.tgz", - "integrity": "sha512-dPgJoT57XC0PqSnLgl2FwNvxFrWlspatX2dkk7yjKQj5HHGw071vAcOf+hqW8ClqcBDMvEbm6mevn5yHAD8mlQ==", - "dev": true - }, - "babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - } - }, - "babel-preset-jest": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.2.0.tgz", - "integrity": "sha512-z9JmMJppMxNv8N7fNRHvhMg9cvIkMxQBXgFkane3yKVEvEOP+kB50lk8DFRvF9PGqbyXxlmebKWhuDORO8RgdA==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^29.2.0", - "babel-preset-current-node-syntax": "^1.0.0" - } - }, - "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 - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "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 - }, - "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 - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - } - } - }, - "blake3": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/blake3/-/blake3-2.1.7.tgz", - "integrity": "sha512-5d+TdKJvju96IyEaGJ0eO6CHbckWi+NBrCezGYM/WsnI3R03aLL2TWfsuZSh1rs0fTv/L3ps/r0vykjYurcIwA==" - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", - "dev": true - }, - "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 - }, - "browser-resolve": { - "version": "1.11.3", - "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", - "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", - "dev": true, - "requires": { - "resolve": "1.1.7" - }, - "dependencies": { - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==", - "dev": true - } - } - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.21.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", - "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" - } - }, - "bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "requires": { - "fast-json-stable-stringify": "2.x" - } - }, - "bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "requires": { - "node-int64": "^0.4.0" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "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 - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", - "dev": true - }, - "builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", - "dev": true - }, - "bytes-iec": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz", - "integrity": "sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "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, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001441", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz", - "integrity": "sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==", - "dev": true - }, - "capture-exit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz", - "integrity": "sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==", - "dev": true, - "requires": { - "rsvp": "^4.8.4" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true - }, - "cbor": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/cbor/-/cbor-8.1.0.tgz", - "integrity": "sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==", - "requires": { - "nofilter": "^3.1.0" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "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 - }, - "ci-info": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz", - "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==", - "dev": true - }, - "ci-job-number": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/ci-job-number/-/ci-job-number-1.2.2.tgz", - "integrity": "sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "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, - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-spinners": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", - "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "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, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true - }, - "collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "collections": { - "version": "5.1.13", - "resolved": "https://registry.npmjs.org/collections/-/collections-5.1.13.tgz", - "integrity": "sha512-SCb6Qd+d3Z02corWQ7/mqXiXeeTdHvkP6TeFSYfGYdCFp1WrjSNZ3j6y8Y3T/7osGEe0iOcU2g1d346l99m4Lg==", - "requires": { - "weak-map": "~1.0.x" - } - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "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 - }, - "colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true - }, - "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, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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 - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", - "dev": true - }, - "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 - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "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, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", - "dev": true - }, - "core-js-compat": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz", - "integrity": "sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==", - "dev": true, - "requires": { - "browserslist": "^4.21.4" - } - }, - "core-js-pure": { - "version": "3.27.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz", - "integrity": "sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==" - }, - "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 - }, - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "create-jest-runner": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/create-jest-runner/-/create-jest-runner-0.5.3.tgz", - "integrity": "sha512-a9VY2doMBmzRollJB3Ft3/Y5fBceSWJ4gdyVsg4/d7nP1S4715VG939s2VnITDj79YBmRgKhjGjNRv1c+Kre1g==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "jest-worker": "^24.0.0", - "throat": "^4.1.0" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "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, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-declaration-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz", - "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==", - "dev": true, - "requires": {} - }, - "css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - } - }, - "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "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 - }, - "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 - }, - "cssnano": { - "version": "5.1.14", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz", - "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==", - "dev": true, - "requires": { - "cssnano-preset-default": "^5.2.13", - "lilconfig": "^2.0.3", - "yaml": "^1.10.2" - } - }, - "cssnano-preset-default": { - "version": "5.2.13", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz", - "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==", - "dev": true, - "requires": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^3.1.0", - "postcss-calc": "^8.2.3", - "postcss-colormin": "^5.3.0", - "postcss-convert-values": "^5.1.3", - "postcss-discard-comments": "^5.1.2", - "postcss-discard-duplicates": "^5.1.0", - "postcss-discard-empty": "^5.1.1", - "postcss-discard-overridden": "^5.1.0", - "postcss-merge-longhand": "^5.1.7", - "postcss-merge-rules": "^5.1.3", - "postcss-minify-font-values": "^5.1.0", - "postcss-minify-gradients": "^5.1.1", - "postcss-minify-params": "^5.1.4", - "postcss-minify-selectors": "^5.2.1", - "postcss-normalize-charset": "^5.1.0", - "postcss-normalize-display-values": "^5.1.0", - "postcss-normalize-positions": "^5.1.1", - "postcss-normalize-repeat-style": "^5.1.1", - "postcss-normalize-string": "^5.1.0", - "postcss-normalize-timing-functions": "^5.1.0", - "postcss-normalize-unicode": "^5.1.1", - "postcss-normalize-url": "^5.1.0", - "postcss-normalize-whitespace": "^5.1.1", - "postcss-ordered-values": "^5.1.3", - "postcss-reduce-initial": "^5.1.1", - "postcss-reduce-transforms": "^5.1.0", - "postcss-svgo": "^5.1.0", - "postcss-unique-selectors": "^5.1.1" - } - }, - "cssnano-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "dev": true, - "requires": {} - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - } - }, - "cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "requires": { - "cssom": "~0.3.6" - }, - "dependencies": { - "cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - } - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - } - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "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 - }, - "decode-uri-component": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", - "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", - "dev": true - }, - "dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", - "dev": true - }, - "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 - }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "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, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true - }, - "diff-sequences": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz", - "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "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, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - } - }, - "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - } - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "electron-to-chromium": { - "version": "1.4.284", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", - "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true - }, - "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 - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "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, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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, - "requires": { - "ansi-colors": "^4.1.1" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - }, - "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, - "requires": { - "prr": "~1.0.1" - } - }, - "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, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.20.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.5.tgz", - "integrity": "sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", - "get-symbol-description": "^1.0.0", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "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-weakref": "^1.0.2", - "object-inspect": "^1.12.2", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "unbox-primitive": "^1.0.2" - } - }, - "es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "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, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "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 - }, - "escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", - "dev": true, - "requires": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - } - } - }, - "eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "requires": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "globals": { - "version": "13.19.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz", - "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "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 - } - } - }, - "eslint-config-prettier": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz", - "integrity": "sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw==", - "dev": true, - "requires": { - "get-stdin": "^6.0.0" - } - }, - "eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "requires": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", - "dev": true, - "requires": { - "debug": "^3.2.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "eslint-plugin-flowtype": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", - "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", - "dev": true, - "requires": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "eslint-plugin-jsx-a11y": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz", - "integrity": "sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==", - "dev": true, - "requires": { - "@babel/runtime": "^7.18.9", - "aria-query": "^4.2.2", - "array-includes": "^3.1.5", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.4.3", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.3.2", - "language-tags": "^1.0.5", - "minimatch": "^3.1.2", - "semver": "^6.3.0" - }, - "dependencies": { - "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 - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "eslint-plugin-prettier": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", - "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "eslint-plugin-react": { - "version": "7.31.11", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.31.11.tgz", - "integrity": "sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==", - "dev": true, - "requires": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.8" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "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, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - }, - "espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "requires": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - } - } - }, - "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 - }, - "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "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, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "exec-sh": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", - "integrity": "sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==", - "dev": true - }, - "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "requires": { - "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" - } - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - } - } - }, - "expect": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.3.1.tgz", - "integrity": "sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA==", - "dev": true, - "requires": { - "@jest/expect-utils": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "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, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true - }, - "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 - }, - "fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - } - }, - "fast-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 - }, - "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 - }, - "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, - "requires": { - "reusify": "^1.0.4" - } - }, - "fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "requires": { - "bser": "2.1.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - }, - "dependencies": { - "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 - } - } - }, - "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, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", - "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "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, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "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, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "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, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "flow-parser": { - "version": "0.196.3", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.196.3.tgz", - "integrity": "sha512-R8wj12eHW6og+IBWeRS6aihkdac1Prh4zw1bfxtt/aeu8r5OFmQEZjnmINcjO/5Q+OKvI4Eg367ygz2SHvtH+w==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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 - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true - }, - "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 - }, - "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 - }, - "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 - }, - "get-intrinsic": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", - "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" - } - }, - "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 - }, - "get-stdin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", - "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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" - } - }, - "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, - "requires": { - "is-glob": "^4.0.1" - } - }, - "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 - }, - "globalyzer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "growly": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", - "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", - "dev": true, - "optional": true - }, - "gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "requires": { - "duplexer": "^0.1.2" - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "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 - }, - "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 - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "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 - }, - "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, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "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 - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "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 - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", - "dev": true - }, - "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 - }, - "humanize-duration": { - "version": "3.27.3", - "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.27.3.tgz", - "integrity": "sha512-iimHkHPfIAQ8zCDQLgn08pRqSVioyWvnGfaQ8gond2wf7Jq2jJ+24ykmnRyiz3fIldcn4oUuQXpjqKLhSVR7lw==", - "dev": true - }, - "husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true - }, - "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, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "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, - "requires": {} - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "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, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "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 - } - } - }, - "import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "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, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "internal-slot": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", - "integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "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 - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "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, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "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 - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - }, - "dependencies": { - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - } - } - }, - "is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "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, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "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, - "optional": true - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "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 - }, - "is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true - }, - "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, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "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 - }, - "is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "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, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2" - } - }, - "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 - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "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, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true - }, - "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, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "@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" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - } - }, - "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, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - } - }, - "istanbul-reports": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", - "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jest": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.3.1.tgz", - "integrity": "sha512-6iWfL5DTT0Np6UYs/y5Niu7WIfNv/wRTtN5RSXt2DIEft3dx3zPuw/3WJQBCJfmEzvDiEKwoqMbGD9n49+qLSA==", - "dev": true, - "requires": { - "@jest/core": "^29.3.1", - "@jest/types": "^29.3.1", - "import-local": "^3.0.2", - "jest-cli": "^29.3.1" - } - }, - "jest-changed-files": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.2.0.tgz", - "integrity": "sha512-qPVmLLyBmvF5HJrY7krDisx6Voi8DmlV3GZYX0aFNbaQsZeoz1hfxcCMbqDGuQCxU1dJy9eYc2xscE8QrCCYaA==", - "dev": true, - "requires": { - "execa": "^5.0.0", - "p-limit": "^3.1.0" - } - }, - "jest-circus": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.3.1.tgz", - "integrity": "sha512-wpr26sEvwb3qQQbdlmei+gzp6yoSSoSL6GsLPxnuayZSMrSd5Ka7IjAvatpIernBvT2+Ic6RLTg+jSebScmasg==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/expect": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "p-limit": "^3.1.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-cli": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.3.1.tgz", - "integrity": "sha512-TO/ewvwyvPOiBBuWZ0gm04z3WWP8TIK8acgPzE4IxgsLKQgb377NYGrQLc3Wl/7ndWzIH2CDNNsUjGxwLL43VQ==", - "dev": true, - "requires": { - "@jest/core": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "prompts": "^2.0.1", - "yargs": "^17.3.1" - } - }, - "jest-config": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.3.1.tgz", - "integrity": "sha512-y0tFHdj2WnTEhxmGUK1T7fgLen7YK4RtfvpLFBXfQkh2eMJAQq24Vx9472lvn5wg0MAO6B+iPfJfzdR9hJYalg==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.3.1", - "@jest/types": "^29.3.1", - "babel-jest": "^29.3.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.3.1", - "jest-environment-node": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-runner": "^29.3.1", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - } - }, - "jest-diff": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.3.1.tgz", - "integrity": "sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-docblock": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.2.0.tgz", - "integrity": "sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.3.1.tgz", - "integrity": "sha512-qrZH7PmFB9rEzCSl00BWjZYuS1BSOH8lLuC0azQE9lQrAx3PWGKHTDudQiOSwIy5dGAJh7KA0ScYlCP7JxvFYA==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "jest-util": "^29.3.1", - "pretty-format": "^29.3.1" - } - }, - "jest-environment-jsdom": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz", - "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==", - "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "jsdom": "^15.2.1" - }, - "dependencies": { - "@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - } - }, - "@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - } - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0" - } - }, - "jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - } - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - } - } - }, - "jest-environment-node": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.3.1.tgz", - "integrity": "sha512-xm2THL18Xf5sIHoU7OThBPtuH6Lerd+Y1NLYiZJlkE3hbE+7N7r8uvHIl/FkZ5ymKXJe/11SQuf3fv4v6rUMag==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-mock": "^29.3.1", - "jest-util": "^29.3.1" - } - }, - "jest-get-type": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.2.0.tgz", - "integrity": "sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA==", - "dev": true - }, - "jest-haste-map": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.3.1.tgz", - "integrity": "sha512-/FFtvoG1xjbbPXQLFef+WSU4yrc0fc0Dds6aRPBojUid7qlPqZvxdUBA03HW0fnVHXVCnCdkuoghYItKNzc/0A==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.3.2", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.2.0", - "jest-util": "^29.3.1", - "jest-worker": "^29.3.1", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - } - }, - "jest-jasmine2": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz", - "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==", - "dev": true, - "requires": { - "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.5.0", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "co": "^4.6.0", - "expect": "^25.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^25.5.0", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0", - "throat": "^5.0.0" - }, - "dependencies": { - "@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - } - }, - "@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - } - }, - "@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - } - }, - "@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", - "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" - } - }, - "@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", - "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - } - }, - "@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - } - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", - "dev": true, - "requires": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - } - }, - "babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "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 - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - } - }, - "jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - } - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-each": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz", - "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "jest-util": "^25.5.0", - "pretty-format": "^25.5.0" - } - }, - "jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", - "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, - "jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - } - }, - "jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", - "dev": true, - "requires": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0" - } - }, - "jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true - }, - "jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" - } - }, - "jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - } - }, - "jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - } - }, - "jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - } - }, - "jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - } - }, - "jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - } - }, - "jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "jest-leak-detector": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.3.1.tgz", - "integrity": "sha512-3DA/VVXj4zFOPagGkuqHnSQf1GZBmmlagpguxEERO6Pla2g84Q1MaVIB3YMxgUaFIaYag8ZnTyQgiZ35YEqAQA==", - "dev": true, - "requires": { - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-matcher-utils": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz", - "integrity": "sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "pretty-format": "^29.3.1" - } - }, - "jest-message-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.3.1.tgz", - "integrity": "sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.3.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.3.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-mock": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.3.1.tgz", - "integrity": "sha512-H8/qFDtDVMFvFP4X8NuOT3XRDzOUTz+FeACjufHzsOIBAxivLqkB1PoLCaJx9iPPQ8dZThHPp/G3WRWyMgA3JA==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "jest-util": "^29.3.1" - } - }, - "jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "requires": {} - }, - "jest-regex-util": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.2.0.tgz", - "integrity": "sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA==", - "dev": true - }, - "jest-resolve": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.3.1.tgz", - "integrity": "sha512-amXJgH/Ng712w3Uz5gqzFBBjxV8WFLSmNjoreBGMqxgCz5cH7swmBZzgBaCIOsvb0NbpJ0vgaSFdJqMdT+rADw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.3.1", - "jest-validate": "^29.3.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - } - }, - "jest-resolve-dependencies": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.3.1.tgz", - "integrity": "sha512-Vk0cYq0byRw2WluNmNWGqPeRnZ3p3hHmjJMp2dyyZeYIfiBskwq4rpiuGFR6QGAdbj58WC7HN4hQHjf2mpvrLA==", - "dev": true, - "requires": { - "jest-regex-util": "^29.2.0", - "jest-snapshot": "^29.3.1" - } - }, - "jest-runner": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.3.1.tgz", - "integrity": "sha512-oFvcwRNrKMtE6u9+AQPMATxFcTySyKfLhvso7Sdk/rNpbhg4g2GAGCopiInk1OP4q6gz3n6MajW4+fnHWlU3bA==", - "dev": true, - "requires": { - "@jest/console": "^29.3.1", - "@jest/environment": "^29.3.1", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.2.0", - "jest-environment-node": "^29.3.1", - "jest-haste-map": "^29.3.1", - "jest-leak-detector": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-resolve": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-util": "^29.3.1", - "jest-watcher": "^29.3.1", - "jest-worker": "^29.3.1", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - } - }, - "jest-runtime": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.3.1.tgz", - "integrity": "sha512-jLzkIxIqXwBEOZx7wx9OO9sxoZmgT2NhmQKzHQm1xwR1kNW/dn0OjxR424VwHHf1SPN6Qwlb5pp1oGCeFTQ62A==", - "dev": true, - "requires": { - "@jest/environment": "^29.3.1", - "@jest/fake-timers": "^29.3.1", - "@jest/globals": "^29.3.1", - "@jest/source-map": "^29.2.0", - "@jest/test-result": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-regex-util": "^29.2.0", - "jest-resolve": "^29.3.1", - "jest-snapshot": "^29.3.1", - "jest-util": "^29.3.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - } - }, - "jest-serializer": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz", - "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4" - } - }, - "jest-snapshot": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.3.1.tgz", - "integrity": "sha512-+3JOc+s28upYLI2OJM4PWRGK9AgpsMs/ekNryUV0yMBClT9B1DF2u2qay8YxcQd338PPYSFNb0lsar1B49sLDA==", - "dev": true, - "requires": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/babel__traverse": "^7.0.6", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.3.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.3.1", - "jest-get-type": "^29.2.0", - "jest-haste-map": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-message-util": "^29.3.1", - "jest-util": "^29.3.1", - "natural-compare": "^1.4.0", - "pretty-format": "^29.3.1", - "semver": "^7.3.5" - } - }, - "jest-util": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.3.1.tgz", - "integrity": "sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "jest-validate": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.3.1.tgz", - "integrity": "sha512-N9Lr3oYR2Mpzuelp1F8negJR3YE+L1ebk1rYA5qYo9TTY3f9OWdptLoNSPP9itOCBIRBqjt/S5XHlzYglLN67g==", - "dev": true, - "requires": { - "@jest/types": "^29.3.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.2.0", - "leven": "^3.1.0", - "pretty-format": "^29.3.1" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - } - } - }, - "jest-watch-typeahead": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz", - "integrity": "sha512-4r36w9vU8+rdg48hj0Z7TvcSqVP6Ao8dk04grlHQNgduyCB0SqrI0xWIl85ZhXrzYvxQ0N5H+rRLAejkQzEHeQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-regex-util": "^25.2.1", - "jest-watcher": "^25.2.4", - "slash": "^3.0.0", - "string-length": "^3.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - } - }, - "@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - } - }, - "jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true - }, - "jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - } - }, - "jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", - "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - } - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - } - } - }, - "jest-watcher": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.3.1.tgz", - "integrity": "sha512-RspXG2BQFDsZSRKGCT/NiNa8RkQ1iKAjrO0//soTMWx/QUt+OcxMqMSBxz23PYGqUuWm2+m2mNNsmj0eIoOaFg==", - "dev": true, - "requires": { - "@jest/test-result": "^29.3.1", - "@jest/types": "^29.3.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.3.1", - "string-length": "^4.0.1" - } - }, - "jest-worker": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.3.1.tgz", - "integrity": "sha512-lY4AnnmsEWeiXirAIA0c9SDPbuCBq8IYuDVL8PMm0MZ2PEs2yPvRA/J64QBXuZp7CYKrDM/rmNrc9/i3KJQncw==", - "dev": true, - "requires": { - "@types/node": "*", - "jest-util": "^29.3.1", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "dependencies": { - "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, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jpjs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/jpjs/-/jpjs-1.2.1.tgz", - "integrity": "sha512-GxJWybWU4NV0RNKi6EIqk6IRPOTqd/h+U7sbtyuD7yUISUzV78LdHnq2xkevJsTlz/EImux4sWj+wfMiwKLkiw==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true - }, - "jscodeshift": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.6.4.tgz", - "integrity": "sha512-+NF/tlNbc2WEhXUuc4WEJLsJumF84tnaMUZW2hyJw3jThKKRvsPX4sPJVgO1lPE28z0gNL+gwniLG9d8mYvQCQ==", - "dev": true, - "requires": { - "@babel/core": "^7.1.6", - "@babel/parser": "^7.1.6", - "@babel/plugin-proposal-class-properties": "^7.1.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/preset-env": "^7.1.6", - "@babel/preset-flow": "^7.0.0", - "@babel/preset-typescript": "^7.1.0", - "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", - "colors": "^1.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.16.1", - "temp": "^0.8.1", - "write-file-atomic": "^2.3.0" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "jsdom": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-15.2.1.tgz", - "integrity": "sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^7.1.0", - "acorn-globals": "^4.3.2", - "array-equal": "^1.0.0", - "cssom": "^0.4.1", - "cssstyle": "^2.0.0", - "data-urls": "^1.1.0", - "domexception": "^1.0.1", - "escodegen": "^1.11.1", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.2.0", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.7", - "saxes": "^3.1.9", - "symbol-tree": "^3.2.2", - "tough-cookie": "^3.0.1", - "w3c-hr-time": "^1.0.1", - "w3c-xmlserializer": "^1.1.2", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^7.0.0", - "ws": "^7.0.0", - "xml-name-validator": "^3.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "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 - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "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 - }, - "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 - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "json5-writer": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/json5-writer/-/json5-writer-0.1.8.tgz", - "integrity": "sha512-h5sqkk/vSKvESOUTBniGWs8p8nTzHsoDrxPS9enJfQVINqXv3lm+FAyizLwbrCwCn0q7NXqDBb+r8AdUdK3XZw==", - "dev": true, - "requires": { - "jscodeshift": "^0.6.3" - } - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", - "dev": true, - "requires": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" - } - }, - "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 - }, - "kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true - }, - "language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", - "dev": true - }, - "language-tags": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.7.tgz", - "integrity": "sha512-bSytju1/657hFjgUzPAPqszxH62ouE8nQFoFaVlIQfne4wO/wXC9A4+m8jYve7YBBvi59eq0SUpcshvG8h5Usw==", - "dev": true, - "requires": { - "language-subtag-registry": "^0.3.20" - } - }, - "last-call-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", - "dev": true, - "requires": { - "lodash": "^4.17.5", - "webpack-sources": "^1.1.0" - } - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "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, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "libsodium-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.10.tgz", - "integrity": "sha512-xvYHwrTPvw9EFvX77x6gFiB7vdTv4+9xpM5DCkg9FJwysHoBO7sYXxXjy5L2gQSuWaINbtjBUry9eCg/+nYwCA==" - }, - "libsodium-wrappers-sumo": { - "version": "0.7.10", - "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.10.tgz", - "integrity": "sha512-1noz8Mcl/LUzO/iSO/FJzoJyIaPwxl+/+E4CoTIXtsPiEEXQx2sxalmrVWxteLpynqgX0ASo28ChB9NEVRh0Pg==", - "requires": { - "libsodium-sumo": "^0.7.0" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true - }, - "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 - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "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, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "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 - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "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 - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true - }, - "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 - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "log-update": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", - "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.0.0", - "cli-cursor": "^2.0.0", - "wrap-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - } - } - }, - "lolex": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-5.1.2.tgz", - "integrity": "sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==", - "dev": true, - "requires": { - "@sinonjs/commons": "^1.7.0" - } - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "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, - "requires": { - "yallist": "^3.0.2" - } - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "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, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "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 - }, - "makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "requires": { - "tmpl": "1.0.5" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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 - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "mico-spinner": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/mico-spinner/-/mico-spinner-1.4.0.tgz", - "integrity": "sha512-6fuiQX9qRMJACVlCX6pkbV3KnjSbobr10RLB+0CNk2Z+uKPulL7wMKZSoZEiLCOvzTQc0vghjKXKVGpiMIOABw==", - "dev": true, - "requires": { - "picocolors": "^0.2.0" - }, - "dependencies": { - "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true - } - } - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "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 - }, - "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, - "requires": { - "mime-db": "1.52.0" - } - }, - "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 - }, - "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 - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "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, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true - }, - "mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "dev": true - }, - "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 - }, - "msgpack5": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/msgpack5/-/msgpack5-5.3.2.tgz", - "integrity": "sha512-e9jz+6InQIUb2cGzZ/Mi+rQBs1KFLby+gNi+22VwQ1pnC9ieZjysKGmRMjdlf6IyjsltbgY4tGoHwHmyS7l94A==", - "requires": { - "bl": "^4.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.0", - "safe-buffer": "^5.1.2" - } - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dev": true, - "optional": true - }, - "nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "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 - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", - "dev": true, - "requires": { - "minimatch": "^3.0.2" - } - }, - "node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", - "dev": true - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "node-notifier": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", - "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.2.0", - "semver": "^7.3.5", - "shellwords": "^0.1.1", - "uuid": "^8.3.2", - "which": "^2.0.2" - }, - "dependencies": { - "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, - "optional": true, - "peer": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "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, - "optional": true, - "peer": true - } - } - }, - "node-releases": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.8.tgz", - "integrity": "sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==", - "dev": true - }, - "nofilter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/nofilter/-/nofilter-3.1.0.tgz", - "integrity": "sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==" - }, - "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, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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 - }, - "normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "dev": true - }, - "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, - "requires": { - "path-key": "^3.0.0" - } - }, - "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, - "requires": { - "boolbase": "^1.0.0" - } - }, - "nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "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 - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true - }, - "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 - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", - "dev": true, - "requires": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "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, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true - }, - "optimize-css-assets-webpack-plugin": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-6.0.1.tgz", - "integrity": "sha512-BshV2UZPfggZLdUfN3zFBbG4sl/DynUI+YCB6fRRDWaqO2OiWN8GPcp4Y0/fEV6B3k9Hzyk3czve3V/8B/SzKQ==", - "dev": true, - "requires": { - "cssnano": "^5.0.2", - "last-call-webpack-plugin": "^3.0.0", - "postcss": "^8.2.1" - } - }, - "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "requires": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - } - }, - "ora": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz", - "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", - "dev": true - }, - "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 - }, - "p-each-series": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", - "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", - "dev": true - }, - "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, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "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, - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "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, - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "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 - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "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, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "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, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse-ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", - "dev": true - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", - "dev": true - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", - "dev": true, - "optional": true - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "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 - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", - "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true - }, - "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, - "requires": { - "find-up": "^4.0.0" - } - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", - "dev": true - }, - "postcss": { - "version": "8.4.20", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz", - "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==", - "dev": true, - "requires": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-calc": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", - "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-colormin": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", - "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", - "dev": true, - "requires": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-convert-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", - "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-discard-comments": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "dev": true, - "requires": {} - }, - "postcss-discard-duplicates": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "dev": true, - "requires": {} - }, - "postcss-discard-empty": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "dev": true, - "requires": {} - }, - "postcss-discard-overridden": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "dev": true, - "requires": {} - }, - "postcss-merge-longhand": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", - "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" - } - }, - "postcss-merge-rules": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz", - "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" - } - }, - "postcss-minify-font-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", - "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-gradients": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", - "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", - "dev": true, - "requires": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-params": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", - "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-minify-selectors": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", - "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "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, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "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, - "requires": { - "postcss-selector-parser": "^6.0.4" - } - }, - "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, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-normalize-charset": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "dev": true, - "requires": {} - }, - "postcss-normalize-display-values": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", - "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-positions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", - "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-repeat-style": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", - "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-string": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", - "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-timing-functions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", - "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-unicode": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", - "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", - "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", - "dev": true, - "requires": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-normalize-whitespace": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", - "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-ordered-values": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", - "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", - "dev": true, - "requires": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-reduce-initial": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz", - "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", - "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", - "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", - "dev": true, - "requires": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - } - }, - "postcss-unique-selectors": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", - "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^6.0.5" - } - }, - "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 - }, - "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 - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", - "dev": true - }, - "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, - "requires": { - "fast-diff": "^1.1.2" - } - }, - "pretty-format": { - "version": "29.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.3.1.tgz", - "integrity": "sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg==", - "dev": true, - "requires": { - "@jest/schemas": "^29.0.0", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "pretty-ms": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", - "dev": true, - "requires": { - "parse-ms": "^2.1.0" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "dev": true - }, - "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 - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "progress-estimator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/progress-estimator/-/progress-estimator-0.2.2.tgz", - "integrity": "sha512-GF76Ac02MTJD6o2nMNtmtOFjwWCnHcvXyn5HOWPQnEMO8OTLw7LAvNmrwe8LmdsB+eZhwUu9fX/c9iQnBxWaFA==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "cli-spinners": "^1.3.1", - "humanize-duration": "^3.15.3", - "log-update": "^2.3.0" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-spinners": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", - "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", - "dev": true - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "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 - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "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 - }, - "prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "requires": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - } - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true - }, - "psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", - "dev": true - }, - "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 - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "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, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "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 - } - } - }, - "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, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "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 - } - } - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "realpath-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz", - "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==", - "dev": true - }, - "recast": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.16.2.tgz", - "integrity": "sha512-O/7qXi51DPjRVdbrpNzoBQH5dnAPQNbfoOFyRiUwreTMJfIHYOEBzwuH+c0+/BTSJ3CQyKs6ILSWXhESH6Op3A==", - "dev": true, - "requires": { - "ast-types": "0.11.7", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "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 - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "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==" - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" - } - }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, - "regexpu-core": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", - "integrity": "sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsgen": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", - "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", - "dev": true - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", - "dev": true - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "request-promise-core": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", - "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", - "dev": true, - "requires": { - "lodash": "^4.17.19" - } - }, - "request-promise-native": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", - "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", - "dev": true, - "requires": { - "request-promise-core": "1.1.4", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } - } - }, - "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 - }, - "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 - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "dev": true, - "requires": { - "is-core-module": "^2.9.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "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 - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", - "dev": true - }, - "resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true - }, - "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, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rollup": { - "version": "1.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz", - "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/node": "*", - "acorn": "^7.1.0" - } - }, - "rollup-plugin-sourcemaps": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", - "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" - } - }, - "rollup-plugin-terser": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz", - "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.5.5", - "jest-worker": "^24.9.0", - "rollup-pluginutils": "^2.8.2", - "serialize-javascript": "^4.0.0", - "terser": "^4.6.2" - }, - "dependencies": { - "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 - }, - "jest-worker": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", - "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^6.1.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "rollup-plugin-typescript2": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.27.3.tgz", - "integrity": "sha512-gmYPIFmALj9D3Ga1ZbTZAKTXq1JKlTQBtj299DXhqYz9cL3g/AQfUvbb2UhH+Nf++cCq941W2Mv7UcrcgLzJJg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "8.1.0", - "resolve": "1.17.0", - "tslib": "2.0.1" - }, - "dependencies": { - "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, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "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, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==", - "dev": true - }, - "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 - } - } - }, - "rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, - "requires": { - "estree-walker": "^0.6.1" - }, - "dependencies": { - "estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true - } - } - }, - "rsvp": { - "version": "4.8.5", - "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "dev": true - }, - "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 - }, - "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, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "requires": { - "mri": "^1.1.0" - } - }, - "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==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sane": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz", - "integrity": "sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==", - "dev": true, - "requires": { - "@cnakazawa/watch": "^1.0.3", - "anymatch": "^2.0.0", - "capture-exit": "^2.0.0", - "exec-sh": "^0.3.2", - "execa": "^1.0.0", - "fb-watchman": "^2.0.0", - "micromatch": "^3.1.4", - "minimist": "^1.1.1", - "walker": "~1.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "saxes": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", - "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", - "dev": true, - "requires": { - "xmlchars": "^2.1.1" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "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, - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "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 - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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, - "requires": { - "kind-of": "^6.0.2" - } - }, - "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, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "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 - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "shellwords": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", - "dev": true, - "optional": true - }, - "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, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "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 - }, - "sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "requires": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - } - }, - "sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "size-limit": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/size-limit/-/size-limit-5.0.5.tgz", - "integrity": "sha512-DtblS3Qc1SmtEtAYE6RGmg1UFdIzz2aWhlnzbBc3FYc0XMsTVT0kKB40DMIZ/yU5JztkMetdqB5Q5Pow/iVazg==", - "dev": true, - "requires": { - "bytes-iec": "^3.1.1", - "chokidar": "^3.5.2", - "ci-job-number": "^1.2.2", - "globby": "^11.0.4", - "lilconfig": "^2.0.3", - "mico-spinner": "^1.3.0", - "picocolors": "^0.1.0" - }, - "dependencies": { - "picocolors": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.1.0.tgz", - "integrity": "sha512-W+3MFREUEjPt0MnYaR51VkLw8tY8UubrLOqcBmaQocZhM34hQhjg50FQ0c6f0UldPlecieoqUqI6ToM/dNblDw==", - "dev": true - } - } - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "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, - "requires": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "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 - }, - "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 - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "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 - }, - "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, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", - "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", - "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - } - } - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "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==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "requires": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - } - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", - "dev": true - }, - "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 - }, - "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 - }, - "structured-headers": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.5.0.tgz", - "integrity": "sha512-oLnmXSsjhud+LxRJpvokwP8ImEB2wTg8sg30buwfVViKMuluTv3BlOJHUX9VW9pJ2nQOxmx87Z0kB86O4cphag==" - }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", - "dev": true, - "requires": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - } - }, - "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, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", - "dev": true, - "requires": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - } - }, - "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 - }, - "svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "requires": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - } - }, - "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 - }, - "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, - "requires": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ajv": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz", - "integrity": "sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "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 - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "temp": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", - "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", - "dev": true, - "requires": { - "rimraf": "~2.6.2" - } - }, - "terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - } - }, - "terser": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz", - "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "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 - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "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, - "requires": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - } - }, - "text-encoding": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.7.0.tgz", - "integrity": "sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==" - }, - "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 - }, - "throat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-4.1.0.tgz", - "integrity": "sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "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" - } - }, - "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 - }, - "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, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, - "requires": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==", - "dev": true - }, - "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 - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "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, - "requires": { - "is-number": "^7.0.0" - } - }, - "totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true - }, - "tough-cookie": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", - "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", - "dev": true, - "requires": { - "ip-regex": "^2.1.0", - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "ts-migrate": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate/-/ts-migrate-0.1.35.tgz", - "integrity": "sha512-EmXahqwIP0a6fE1BLKKVMgJEeYn9V+CxJ19qFJ/DzkPL4PjDI/FcgPo8D519amBPy2nnlc/x1V6R6aIeHdD87w==", - "dev": true, - "requires": { - "create-jest-runner": "^0.5.3", - "json5": "^2.1.1", - "json5-writer": "^0.1.8", - "ts-migrate-plugins": "^0.1.35", - "ts-migrate-server": "^0.1.33", - "updatable-log": "^0.2.0", - "yargs": "^15.0.2" - }, - "dependencies": { - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "ts-migrate-plugins": { - "version": "0.1.35", - "resolved": "https://registry.npmjs.org/ts-migrate-plugins/-/ts-migrate-plugins-0.1.35.tgz", - "integrity": "sha512-DUkx7ClKhxKYPWDha9DJTZ6LhwEUszL90uH5I/O11K/6TbA96ytln1O3HL6Pt83i4mAKOlg0mQ6AMsPtL5FFkQ==", - "dev": true, - "requires": { - "eslint": "^7.14.0", - "jscodeshift": "^0.13.0", - "json-schema": "^0.4.0", - "ts-migrate-server": "^0.1.33" - }, - "dependencies": { - "ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", - "dev": true, - "requires": { - "tslib": "^2.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "jscodeshift": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.13.1.tgz", - "integrity": "sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==", - "dev": true, - "requires": { - "@babel/core": "^7.13.16", - "@babel/parser": "^7.13.16", - "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.13.8", - "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/plugin-transform-modules-commonjs": "^7.13.8", - "@babel/preset-flow": "^7.13.13", - "@babel/preset-typescript": "^7.13.0", - "@babel/register": "^7.13.16", - "babel-core": "^7.0.0-bridge.0", - "chalk": "^4.1.2", - "flow-parser": "0.*", - "graceful-fs": "^4.2.4", - "micromatch": "^3.1.10", - "neo-async": "^2.5.0", - "node-dir": "^0.1.17", - "recast": "^0.20.4", - "temp": "^0.8.4", - "write-file-atomic": "^2.3.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "recast": { - "version": "0.20.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.20.5.tgz", - "integrity": "sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==", - "dev": true, - "requires": { - "ast-types": "0.14.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - } - } - }, - "ts-migrate-server": { - "version": "0.1.33", - "resolved": "https://registry.npmjs.org/ts-migrate-server/-/ts-migrate-server-0.1.33.tgz", - "integrity": "sha512-MYHy10yzL2fkb2FHFQ9f54gqc5KkaVthTjtpwS4bTroYCONDelp1hbz5nxKWaP3q2oc3kBVeGuAR91RNI+yK+g==", - "dev": true, - "requires": { - "@ts-morph/bootstrap": "^0.16.0", - "pretty-ms": "^7.0.1", - "updatable-log": "^0.2.0" - } - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", - "dev": true, - "requires": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "dependencies": { - "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, - "requires": { - "minimist": "^1.2.0" - } - }, - "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 - } - } - }, - "tsdx": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/tsdx/-/tsdx-0.14.1.tgz", - "integrity": "sha512-keHmFdCL2kx5nYFlBdbE3639HQ2v9iGedAFAajobrUTH2wfX0nLPdDhbHv+GHLQZqf0c5ur1XteE8ek/+Eyj5w==", - "dev": true, - "requires": { - "@babel/core": "^7.4.4", - "@babel/helper-module-imports": "^7.0.0", - "@babel/parser": "^7.11.5", - "@babel/plugin-proposal-class-properties": "^7.4.4", - "@babel/preset-env": "^7.11.0", - "@babel/traverse": "^7.11.5", - "@rollup/plugin-babel": "^5.1.0", - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-node-resolve": "^9.0.0", - "@rollup/plugin-replace": "^2.2.1", - "@types/jest": "^25.2.1", - "@typescript-eslint/eslint-plugin": "^2.12.0", - "@typescript-eslint/parser": "^2.12.0", - "ansi-escapes": "^4.2.1", - "asyncro": "^3.0.0", - "babel-eslint": "^10.0.3", - "babel-plugin-annotate-pure-calls": "^0.4.0", - "babel-plugin-dev-expression": "^0.2.1", - "babel-plugin-macros": "^2.6.1", - "babel-plugin-polyfill-regenerator": "^0.0.4", - "babel-plugin-transform-rename-import": "^2.3.0", - "camelcase": "^6.0.0", - "chalk": "^4.0.0", - "enquirer": "^2.3.4", - "eslint": "^6.1.0", - "eslint-config-prettier": "^6.0.0", - "eslint-config-react-app": "^5.2.1", - "eslint-plugin-flowtype": "^3.13.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-jsx-a11y": "^6.2.3", - "eslint-plugin-prettier": "^3.1.0", - "eslint-plugin-react": "^7.14.3", - "eslint-plugin-react-hooks": "^2.2.0", - "execa": "^4.0.3", - "fs-extra": "^9.0.0", - "jest": "^25.3.0", - "jest-watch-typeahead": "^0.5.0", - "jpjs": "^1.2.1", - "lodash.merge": "^4.6.2", - "ora": "^4.0.3", - "pascal-case": "^3.1.1", - "prettier": "^1.19.1", - "progress-estimator": "^0.2.2", - "regenerator-runtime": "^0.13.7", - "rollup": "^1.32.1", - "rollup-plugin-sourcemaps": "^0.6.2", - "rollup-plugin-terser": "^5.1.2", - "rollup-plugin-typescript2": "^0.27.3", - "sade": "^1.4.2", - "semver": "^7.1.1", - "shelljs": "^0.8.3", - "tiny-glob": "^0.2.6", - "ts-jest": "^25.3.1", - "tslib": "^1.9.3", - "typescript": "^3.7.3" - }, - "dependencies": { - "@babel/helper-define-polyfill-provider": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.0.3.tgz", - "integrity": "sha512-dULDd/APiP4JowYDAMosecKOi/1v+UId99qhBGiO3myM29KtAVKS/R3x3OJJNBR0FeYB1BcYb2dCwkhqvxWXXQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.10.4", - "@babel/helper-module-imports": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/traverse": "^7.11.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@jest/console": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz", - "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "jest-message-util": "^25.5.0", - "jest-util": "^25.5.0", - "slash": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jest/core": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz", - "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/reporters": "^25.5.1", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-changed-files": "^25.5.0", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-resolve-dependencies": "^25.5.4", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "jest-watcher": "^25.5.0", - "micromatch": "^4.0.2", - "p-each-series": "^2.1.0", - "realpath-native": "^2.0.0", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "@jest/environment": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz", - "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==", - "dev": true, - "requires": { - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0" - } - }, - "@jest/fake-timers": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz", - "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "lolex": "^5.0.0" - } - }, - "@jest/globals": { - "version": "25.5.2", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz", - "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==", - "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/types": "^25.5.0", - "expect": "^25.5.0" - } - }, - "@jest/reporters": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz", - "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==", - "dev": true, - "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.4", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^4.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.0.2", - "jest-haste-map": "^25.5.1", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "node-notifier": "^6.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^3.1.0", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^4.1.3" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jest/source-map": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz", - "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==", - "dev": true, - "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.4", - "source-map": "^0.6.0" - } - }, - "@jest/test-result": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz", - "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/types": "^25.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - } - }, - "@jest/test-sequencer": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz", - "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==", - "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-runner": "^25.5.4", - "jest-runtime": "^25.5.4" - } - }, - "@jest/transform": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz", - "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^25.5.0", - "babel-plugin-istanbul": "^6.0.0", - "chalk": "^3.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.4", - "jest-haste-map": "^25.5.1", - "jest-regex-util": "^25.2.6", - "jest-util": "^25.5.0", - "micromatch": "^4.0.2", - "pirates": "^4.0.1", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@jest/types": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz", - "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^1.1.1", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "@types/istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "*", - "@types/istanbul-lib-report": "*" - } - }, - "@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, - "@types/stack-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-1.0.1.tgz", - "integrity": "sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw==", - "dev": true - }, - "@types/yargs": { - "version": "15.0.14", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz", - "integrity": "sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==", - "dev": true, - "requires": { - "@types/yargs-parser": "*" - } - }, - "@typescript-eslint/eslint-plugin": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", - "integrity": "sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "2.34.0", - "functional-red-black-tree": "^1.0.1", - "regexpp": "^3.0.0", - "tsutils": "^3.17.1" - } - }, - "@typescript-eslint/parser": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz", - "integrity": "sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA==", - "dev": true, - "requires": { - "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.34.0", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "babel-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz", - "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==", - "dev": true, - "requires": { - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/babel__core": "^7.1.7", - "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "slash": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "babel-plugin-jest-hoist": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz", - "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==", - "dev": true, - "requires": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__traverse": "^7.0.6" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.0.4.tgz", - "integrity": "sha512-+/uCzO9JTYVZVGCpZpVAQkgPGt2zkR0VYiZvJ4aVoCe4ccgpKvNQqcjzAgQzSsjK64Jhc5hvrCR3l0087BevkA==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.0.3" - } - }, - "babel-preset-current-node-syntax": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz", - "integrity": "sha512-5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==", - "dev": true, - "requires": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-preset-jest": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz", - "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==", - "dev": true, - "requires": { - "babel-plugin-jest-hoist": "^25.5.0", - "babel-preset-current-node-syntax": "^0.1.2" - } - }, - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "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 - }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true - }, - "eslint": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", - "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.10.0", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^1.4.3", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.1.2", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.0.0", - "globals": "^12.1.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^7.0.0", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.14", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.3", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^6.1.2", - "strip-ansi": "^5.2.0", - "strip-json-comments": "^3.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } - } - }, - "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 - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "dev": true, - "requires": { - "confusing-browser-globals": "^1.0.9" - } - }, - "eslint-plugin-react-hooks": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz", - "integrity": "sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g==", - "dev": true, - "requires": {} - }, - "eslint-utils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", - "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - } - }, - "execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "expect": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz", - "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-regex-util": "^25.2.6" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "globals": { - "version": "12.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", - "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", - "dev": true, - "requires": { - "type-fest": "^0.8.1" - } - }, - "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 - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "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, - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "jest": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz", - "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==", - "dev": true, - "requires": { - "@jest/core": "^25.5.4", - "import-local": "^3.0.2", - "jest-cli": "^25.5.4" - } - }, - "jest-changed-files": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz", - "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "execa": "^3.2.0", - "throat": "^5.0.0" - }, - "dependencies": { - "execa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", - "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - } - } - }, - "jest-cli": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz", - "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==", - "dev": true, - "requires": { - "@jest/core": "^25.5.4", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "import-local": "^3.0.2", - "is-ci": "^2.0.0", - "jest-config": "^25.5.4", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "prompts": "^2.0.1", - "realpath-native": "^2.0.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-config": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz", - "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==", - "dev": true, - "requires": { - "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.5.4", - "@jest/types": "^25.5.0", - "babel-jest": "^25.5.1", - "chalk": "^3.0.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.4", - "jest-environment-jsdom": "^25.5.0", - "jest-environment-node": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.5.4", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "micromatch": "^4.0.2", - "pretty-format": "^25.5.0", - "realpath-native": "^2.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-diff": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz", - "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "diff-sequences": "^25.2.6", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-docblock": { - "version": "25.3.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz", - "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==", - "dev": true, - "requires": { - "detect-newline": "^3.0.0" - } - }, - "jest-environment-node": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz", - "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==", - "dev": true, - "requires": { - "@jest/environment": "^25.5.0", - "@jest/fake-timers": "^25.5.0", - "@jest/types": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-util": "^25.5.0", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, - "jest-haste-map": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz", - "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "@types/graceful-fs": "^4.1.2", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "fsevents": "^2.1.2", - "graceful-fs": "^4.2.4", - "jest-serializer": "^25.5.0", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "micromatch": "^4.0.2", - "sane": "^4.0.3", - "walker": "^1.0.7", - "which": "^2.0.2" - } - }, - "jest-leak-detector": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz", - "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==", - "dev": true, - "requires": { - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - } - }, - "jest-matcher-utils": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz", - "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-message-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz", - "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/stack-utils": "^1.0.1", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "micromatch": "^4.0.2", - "slash": "^3.0.0", - "stack-utils": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-mock": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz", - "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0" - } - }, - "jest-regex-util": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", - "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true - }, - "jest-resolve": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz", - "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "browser-resolve": "^1.11.3", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "jest-pnp-resolver": "^1.2.1", - "read-pkg-up": "^7.0.1", - "realpath-native": "^2.0.0", - "resolve": "^1.17.0", - "slash": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-resolve-dependencies": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz", - "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.5.1" - } - }, - "jest-runner": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz", - "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-docblock": "^25.3.0", - "jest-haste-map": "^25.5.1", - "jest-jasmine2": "^25.5.4", - "jest-leak-detector": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "jest-runtime": "^25.5.4", - "jest-util": "^25.5.0", - "jest-worker": "^25.5.0", - "source-map-support": "^0.5.6", - "throat": "^5.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-runtime": { - "version": "25.5.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz", - "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==", - "dev": true, - "requires": { - "@jest/console": "^25.5.0", - "@jest/environment": "^25.5.0", - "@jest/globals": "^25.5.2", - "@jest/source-map": "^25.5.0", - "@jest/test-result": "^25.5.0", - "@jest/transform": "^25.5.1", - "@jest/types": "^25.5.0", - "@types/yargs": "^15.0.0", - "chalk": "^3.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.4", - "jest-config": "^25.5.4", - "jest-haste-map": "^25.5.1", - "jest-message-util": "^25.5.0", - "jest-mock": "^25.5.0", - "jest-regex-util": "^25.2.6", - "jest-resolve": "^25.5.1", - "jest-snapshot": "^25.5.1", - "jest-util": "^25.5.0", - "jest-validate": "^25.5.0", - "realpath-native": "^2.0.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0", - "yargs": "^15.3.1" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-snapshot": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz", - "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0", - "@jest/types": "^25.5.0", - "@types/prettier": "^1.19.0", - "chalk": "^3.0.0", - "expect": "^25.5.0", - "graceful-fs": "^4.2.4", - "jest-diff": "^25.5.0", - "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.5.0", - "jest-message-util": "^25.5.0", - "jest-resolve": "^25.5.1", - "make-dir": "^3.0.0", - "natural-compare": "^1.4.0", - "pretty-format": "^25.5.0", - "semver": "^6.3.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "jest-util": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz", - "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "chalk": "^3.0.0", - "graceful-fs": "^4.2.4", - "is-ci": "^2.0.0", - "make-dir": "^3.0.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-validate": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz", - "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "jest-get-type": "^25.2.6", - "leven": "^3.1.0", - "pretty-format": "^25.5.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-watcher": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz", - "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==", - "dev": true, - "requires": { - "@jest/test-result": "^25.5.0", - "@jest/types": "^25.5.0", - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "jest-util": "^25.5.0", - "string-length": "^3.1.0" - }, - "dependencies": { - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "jest-worker": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", - "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", - "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "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, - "requires": { - "minimist": "^1.2.6" - } - }, - "node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", - "dev": true, - "optional": true, - "requires": { - "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", - "shellwords": "^0.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "optional": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "optional": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "dev": true - }, - "pretty-format": { - "version": "25.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz", - "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==", - "dev": true, - "requires": { - "@jest/types": "^25.5.0", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^16.12.0" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "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, - "requires": { - "color-convert": "^1.9.0" - } - } - } - }, - "stack-utils": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.5.tgz", - "integrity": "sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==", - "dev": true, - "requires": { - "escape-string-regexp": "^2.0.0" - } - }, - "string-length": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", - "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", - "dev": true, - "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^5.2.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - } - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - } - } - }, - "throat": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", - "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", - "dev": true - }, - "ts-jest": { - "version": "25.5.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-25.5.1.tgz", - "integrity": "sha512-kHEUlZMK8fn8vkxDjwbHlxXRB9dHYpyzqKIGDNxbzs+Rz+ssNDSDNusEK8Fk/sDd4xE6iKoQLfFkFVaskmTJyw==", - "dev": true, - "requires": { - "bs-logger": "0.x", - "buffer-from": "1.x", - "fast-json-stable-stringify": "2.x", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "micromatch": "4.x", - "mkdirp": "0.x", - "semver": "6.x", - "yargs-parser": "18.x" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "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 - }, - "typescript": { - "version": "3.9.10", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", - "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", - "dev": true - }, - "v8-to-istanbul": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz", - "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==", - "dev": true, - "requires": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - } - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } - } - } - } - }, - "tslib": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz", - "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==", - "dev": true - }, - "tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true - }, - "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, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "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 - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, - "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", - "dev": true - }, - "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, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "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 - }, - "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, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "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 - }, - "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 - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - } - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "optional": true - }, - "updatable-log": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/updatable-log/-/updatable-log-0.2.0.tgz", - "integrity": "sha512-gR48/mTR6YFB+B1sNoap3nx8HFbEvDl0ej9KhlQTFZdmP8yL5fzFiCUfeHCUf1QvNnXowY1pM9iiGkPKrd0XyQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "figures": "^3.0.0", - "log-update": "^3.3.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", - "dev": true - }, - "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, - "requires": { - "color-convert": "^1.9.0" - } - }, - "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, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "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, - "requires": { - "color-name": "1.1.3" - } - }, - "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 - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "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 - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "log-update": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", - "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "cli-cursor": "^2.1.0", - "wrap-ansi": "^5.0.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "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, - "requires": { - "has-flag": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - } - } - }, - "update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", - "dev": true - } - } - }, - "urlsafe-base64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz", - "integrity": "sha512-RtuPeMy7c1UrHwproMZN9gN6kiZ0SvJwRaEzwZY0j9MypEkFqyBaKv176jvlPtg58Zh36bOkS0NFABXMHvvGCA==" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "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 - }, - "v8-to-istanbul": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz", - "integrity": "sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" - }, - "dependencies": { - "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 - } - } - }, - "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, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true - } - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "browser-process-hrtime": "^1.0.0" - } - }, - "w3c-xmlserializer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", - "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", - "dev": true, - "requires": { - "domexception": "^1.0.1", - "webidl-conversions": "^4.0.2", - "xml-name-validator": "^3.0.0" - } - }, - "walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "requires": { - "makeerror": "1.0.12" - } - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "optional": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "optional": true, - "requires": { - "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" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "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, - "optional": true - }, - "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, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "weak-map": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", - "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==" - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", - "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "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, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "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, - "requires": { - "minimist": "^1.2.6" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.7.0.tgz", - "integrity": "sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==", - "dev": true, - "requires": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "dependencies": { - "acorn": { - "version": "8.8.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", - "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", - "dev": true - } - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "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, - "requires": { - "iconv-lite": "0.4.24" - } - }, - "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 - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "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, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", - "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", - "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "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 - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - }, - "dependencies": { - "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, - "requires": { - "minimist": "^1.2.6" - } - } - } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } - }, - "ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "dev": true, - "requires": {} - }, - "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 - }, - "xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "xregexp": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-5.1.1.tgz", - "integrity": "sha512-fKXeVorD+CzWvFs7VBuKTYIW63YD1e1osxwQ8caZ6o1jg6pDAbABDG54LCIq0j5cy7PjRvGIq6sef9DYPXpncg==", - "requires": { - "@babel/runtime-corejs3": "^7.16.5" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true - }, - "yargs": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", - "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", - "dev": true, - "requires": { - "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" - }, - "dependencies": { - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - } - } - }, - "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 - }, - "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 - } } } From 3f92d83b51f47d313c1939ddb3344866746f2c07 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 10 May 2023 13:28:29 -0500 Subject: [PATCH 031/463] mac only --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b9812071..c4f36acf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ubuntu-latest, macOS-latest] + os: [ macOS-latest] steps: - name: Checkout repo From adcd45de5053cb482e0227cae874d60a6808e3ca Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 16 May 2023 12:31:48 -0500 Subject: [PATCH 032/463] adding boot interface to client --- examples/signify-react-ts/package-lock.json | 46 ++- examples/signify-react-ts/src/Signify.tsx | 12 +- examples/signify-react-ts/yarn.lock | 313 ++------------------ package-lock.json | 63 ++-- src/keri/app/controller.ts | 4 +- src/keri/app/signify.ts | 35 ++- 6 files changed, 134 insertions(+), 339 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index 338d08d2..b4157e38 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -1,16 +1,16 @@ { - "name": "swagger-ui-signify", + "name": "signify-react-ts", "version": "0.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "swagger-ui-signify", + "name": "signify-react-ts", "version": "0.0.0", "dependencies": { "react": "^18.2.0", "react-dom": "^18.2.0", - "signify-ts": "file:../signify-ts" + "signify-ts": "file:../../" }, "devDependencies": { "@types/react": "^18.0.28", @@ -26,8 +26,41 @@ "vite-plugin-wasm": "^3.2.2" } }, + "../..": { + "version": "0.1.1", + "license": "Apache-2.0", + "dependencies": { + "@types/libsodium-wrappers-sumo": "^0.7.5", + "blake3": "^2.1.7", + "buffer": "^6.0.3", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", + "@types/urlsafe-base64": "^1.0.28", + "husky": "^7.0.2", + "jest": "^29.3.1", + "size-limit": "^5.0.4", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.9.4" + } + }, "../signify-ts": { "version": "0.1.1", + "extraneous": true, "license": "Apache-2.0", "dependencies": { "@types/libsodium-wrappers-sumo": "^0.7.5", @@ -2520,7 +2553,7 @@ } }, "node_modules/signify-ts": { - "resolved": "../signify-ts", + "resolved": "../..", "link": true }, "node_modules/slash": { @@ -4440,12 +4473,13 @@ "dev": true }, "signify-ts": { - "version": "file:../signify-ts", + "version": "file:../..", "requires": { "@size-limit/preset-small-lib": "^5.0.4", "@types/libsodium-wrappers-sumo": "^0.7.5", "@types/lodash": "^4.14.185", "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", "@types/urlsafe-base64": "^1.0.28", "blake3": "^2.1.7", "buffer": "^6.0.3", @@ -4456,9 +4490,9 @@ "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", "msgpack5": "^5.3.2", - "parcel": "^2.8.3", "size-limit": "^5.0.4", "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", "ts-migrate": "^0.1.23", "tsdx": "^0.14.1", "tslib": "^2.3.1", diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 4ca584bd..3f9a941f 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -17,6 +17,7 @@ export function Signify() { const [pre, setPre] = useState("") const [icp, setICP] = useState("") const [key, setKey] = useState(generateRandomKey()) + useEffect(() => { ready().then(() => { @@ -24,7 +25,7 @@ export function Signify() { }) }, []) - const handleComputePre = () => { + const handleComputePre = async () => { if (!key) { alert("Please enter a valid key.") return @@ -34,8 +35,11 @@ export function Signify() { alert("Invalid key lenght " + key.length) return } - const client = new SignifyClient("http://localhost:3902", key) + const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller?.pre) + console.log("here") + let res = await client.boot() + console.log(res) } const handleButtonClick = () => { @@ -62,9 +66,9 @@ export function Signify() { setKey(e.target.value)} ref={inputRef} className="button" /> + >Boot Keria + >Boot Keria -

- {icp} -

+ +
+ {response} +
) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 782002a4..7dcf26f7 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -2,6 +2,18 @@ import { Controller } from "./controller"; import { Tier } from "../core/salter"; import { Authenticater } from "../core/authing"; +class State { + kel?: any; + ridx?: number; + pidx: number; + + constructor() { + this.kel = {} + this.pidx = 0 + this.ridx = 0 + } + +} export class SignifyClient { private readonly _ctrl?: Controller @@ -24,8 +36,8 @@ export class SignifyClient { } - connect() { - let state = this.state() + async connect() { + let state = await this.state() this.pidx = state.pidx //Create controller representing local auth AID this.ctrl.ridx = state.ridx != undefined ? state.ridx : 0 @@ -43,7 +55,6 @@ export class SignifyClient { } async boot() { const [evt, sign] = this.controller?.event ?? []; - console.log(evt, sign) const data = { icp: evt.ked, sig: sign.qb64, @@ -51,7 +62,6 @@ export class SignifyClient { pidx: 1, tier: this.controller?.tier }; - //if url contains 3903 the use this.url else use http://localhost:3903 let _url = this.url.includes("3903") ? this.url : "http://localhost:3903"; const res = await fetch(_url + "/boot", { method: "POST", @@ -64,6 +74,20 @@ export class SignifyClient { return res; } + async state(): Promise { + let caid = this.controller?.pre; + let res = await fetch(this.url + `/agent/${caid}`); + if (res.status == 404) { + throw new Error(`agent does not exist for controller ${caid}`); + } + let data = await res.json(); + console.log(data); + let state = new State(); + state.kel = data["kel"]?? {}; + state.ridx = data["ridx"] ?? null; + state.pidx = data["pidx"] ?? 0; + return state; + } get controller() { return this._ctrl } @@ -71,11 +95,4 @@ export class SignifyClient { get data() { return [this.url, this.bran, this.pidx, this.authn] } - - private state() { - return { - pidx: 0, - ridx: 0 - } - } } \ No newline at end of file From 7ca4d4492ff095022917ad0fc4e6408fcdb1149b Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 16 May 2023 15:24:48 -0500 Subject: [PATCH 034/463] add agent class --- src/keri/app/controller.ts | 103 +++++++++++++++++++++++++++++++++---- src/keri/app/signify.ts | 4 +- src/keri/core/serder.ts | 31 +++++++++++ 3 files changed, 126 insertions(+), 12 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index cb6e1a50..7201aa32 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -1,11 +1,93 @@ -import {SaltyCreator} from "../core/manager"; -import {Salter, Tier} from "../core/salter"; -import {MtrDex} from "../core/matter"; -import {Diger} from "../core/diger"; -import {incept} from "../core/eventing"; -import {Serder} from "../core/serder"; +import { SaltyCreator } from "../core/manager"; +import { Salter, Tier } from "../core/salter"; +import { MtrDex } from "../core/matter"; +import { Diger } from "../core/diger"; +import { incept } from "../core/eventing"; +import { Serder } from "../core/serder"; +import { Signer } from "../core/signer"; +import { Tholder } from "../core/tholder"; +import { Ilks } from "../core/core"; +import { Verfer } from "../core/verfer"; +export class Agent { + pre: string; + anchor: string; + verfer: any | null; + constructor(kel: any) { + this.pre = ""; + this.anchor = ""; + this.verfer = null; + this.parse(kel); + } + + parse(kel: any) { + if (kel.length < 1) { + throw new Error("invalid empty KEL"); + } + + let [serder, verfer, diger] = this.event(kel[0]); + if (serder.ked['t'] !== Ilks.icp) { + throw new Error(`invalid inception event type ${serder.ked['t']}`); + } + + this.pre = serder.pre; + if (!serder.ked['a']) { + throw new Error("no anchor to controller AID"); + } + + this.anchor = serder.ked['a'][0]; + + for (let evt of kel.slice(1)) { + let [rot, nverfer, ndiger] = this.event(evt); + if (rot.ked['t'] !== Ilks.rot) { + throw new Error(`invalid rotation event type ${serder.ked['t']}`); + } + + if (new Diger({ qb64b: nverfer.qb64b }).qb64b !== diger.qb64b) { + throw new Error(`next key mismatch error on rotation event ${serder}`); + } + + verfer = nverfer; + diger = ndiger; + } + + this.verfer = verfer; + } + + event(evt: any): [Serder, Verfer, Diger] { + let serder = new Serder({ ked: evt["ked"] }); + let siger = new Signer({ qb64: evt["sig"] }); + + if (serder.verfers.length !== 1) { + throw new Error(`agent inception event can only have one key`); + } + + if (!serder.verfers[0].verify(siger.raw, serder.raw)) { + throw new Error(`invalid signature on evt ${serder.ked['d']}`); + } + + let verfer = serder.verfers[0]; + + if (serder.digers.length !== 1) { + throw new Error(`agent inception event can only have one next key`); + } + + let diger = serder.digers[0]; + + let tholder = new Tholder(serder.ked["kt"]); + if (tholder.num !== 1) { + throw new Error(`invalid threshold ${tholder.num}, must be 1`); + } + + let ntholder = new Tholder(serder.ked["nt"]); + if (ntholder.num !== 1) { + throw new Error(`invalid next threshold ${ntholder.num}, must be 1`); + } + + return [serder, verfer, diger]; + } +} export class Controller { /* * Controller is responsible for managing signing keys for the client and agent. The client @@ -25,14 +107,14 @@ export class Controller { this.stem = "signify:controller" this.tier = tier - this.salter = new Salter({qb64: this.bran}) + this.salter = new Salter({ qb64: this.bran }) let creator = new SaltyCreator(this.salter.qb64, tier, this.stem) this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx, 0, false).signers.pop() - this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx+1, 0, false).signers.pop() + this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx + 1, 0, false).signers.pop() let keys = [this.signer.verfer.qb64] - let ndigs = [new Diger({code: MtrDex.Blake3_256}, this.nsigner.verfer.qb64b).qb64] + let ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] this.serder = incept({ keys: keys, @@ -41,7 +123,8 @@ export class Controller { ndigs: ndigs, code: MtrDex.Blake3_256, toad: "0", - wits: []}) + wits: [] + }) } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 7dcf26f7..719a8694 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,4 +1,4 @@ -import { Controller } from "./controller"; +import { Controller, Agent } from "./controller"; import { Tier } from "../core/salter"; import { Authenticater } from "../core/authing"; @@ -43,7 +43,7 @@ export class SignifyClient { this.ctrl.ridx = state.ridx != undefined ? state.ridx : 0 // Create agent representing the AID of the cloud agent - // this.agent = Agent(kel=state.kel) + this.agent = new Agent({kel:state.kel}) if (this.agent.anchor != this.ctrl.pre) { throw Error("commitment to controller AID missing in agent inception event") diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts index 28b47673..07330a41 100644 --- a/src/keri/core/serder.ts +++ b/src/keri/core/serder.ts @@ -1,5 +1,7 @@ import {MtrDex} from "./matter"; import {deversify, Dict, Ident, Serials, versify, Version, Versionage} from "./core"; +import { Verfer } from "./verfer"; +import { Diger } from "./diger"; export class Serder { private _kind: Serials; @@ -62,6 +64,35 @@ export class Serder { get version(): Version { return this._version } + get verfers(): Verfer[] { + let keys: any = [] + if ("k" in this._ked) { // establishment event + keys = this._ked["k"]; + } else { // non-establishment event + keys = []; + } + // create a new Verfer for each key + let verfers = [] + for (let key of keys) { + verfers.push(new Verfer({ qb64: key })) + } + return verfers + } + + get digers(): Diger[] { + let keys: any = [] + if ("n" in this._ked) { // establishment event + keys = this._ked["n"]; + } else { // non-establishment event + keys = []; + } + // create a new Verfer for each key + let digers = [] + for (let key of keys) { + digers.push(new Diger({ qb64: key })) + } + return digers + } pretty() { return JSON.stringify(this._ked, undefined, 2) From 8dc860eb196c6fc6c888d7173d40e716a4b0eca2 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 17 May 2023 13:43:59 -0500 Subject: [PATCH 035/463] parsing kel --- src/keri/app/controller.ts | 12 ++++++------ src/keri/app/signify.ts | 12 +++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 7201aa32..6c59b7b3 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -25,8 +25,7 @@ export class Agent { if (kel.length < 1) { throw new Error("invalid empty KEL"); } - - let [serder, verfer, diger] = this.event(kel[0]); + let [serder, verfer, diger] = this.event(kel.kel[0]); if (serder.ked['t'] !== Ilks.icp) { throw new Error(`invalid inception event type ${serder.ked['t']}`); } @@ -56,7 +55,7 @@ export class Agent { } event(evt: any): [Serder, Verfer, Diger] { - let serder = new Serder({ ked: evt["ked"] }); + let serder = new Serder(evt["ked"]); let siger = new Signer({ qb64: evt["sig"] }); if (serder.verfers.length !== 1) { @@ -84,7 +83,6 @@ export class Agent { if (ntholder.num !== 1) { throw new Error(`invalid next threshold ${ntholder.num}, must be 1`); } - return [serder, verfer, diger]; } } @@ -97,6 +95,7 @@ export class Controller { private bran: string; public stem: string; public tier: Tier; + public ridx: number; private salter: any; private signer: any; private nsigner: any; @@ -106,13 +105,14 @@ export class Controller { this.bran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed this.stem = "signify:controller" this.tier = tier + this.ridx = ridx this.salter = new Salter({ qb64: this.bran }) let creator = new SaltyCreator(this.salter.qb64, tier, this.stem) - this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx, 0, false).signers.pop() - this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, ridx + 1, 0, false).signers.pop() + this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx, 0, false).signers.pop() + this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() let keys = [this.signer.verfer.qb64] let ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 719a8694..93d6c324 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -16,13 +16,12 @@ class State { } export class SignifyClient { - private readonly _ctrl?: Controller + private _ctrl: Controller private url: string; private bran: string; private pidx: number; private agent: any; private authn: any; - private ctrl: any; constructor(url: string, bran: string) { this.url = url; @@ -40,16 +39,15 @@ export class SignifyClient { let state = await this.state() this.pidx = state.pidx //Create controller representing local auth AID - this.ctrl.ridx = state.ridx != undefined ? state.ridx : 0 - + this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 // Create agent representing the AID of the cloud agent this.agent = new Agent({kel:state.kel}) - if (this.agent.anchor != this.ctrl.pre) { + if (this.agent.anchor != this.controller?.pre) { throw Error("commitment to controller AID missing in agent inception event") } - this.authn = new Authenticater(this.agent, this.ctrl) + this.authn = new Authenticater(this.agent, this.controller.pre) // this.session.auth = new SignifyAuth(this.authn) } @@ -84,7 +82,7 @@ export class SignifyClient { console.log(data); let state = new State(); state.kel = data["kel"]?? {}; - state.ridx = data["ridx"] ?? null; + state.ridx = data["ridx"] ?? 0; state.pidx = data["pidx"] ?? 0; return state; } From ec0547a3df3e271f8cf816adaad4c3ff0371eaf7 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 17 May 2023 13:44:15 -0500 Subject: [PATCH 036/463] make component for signifyclient --- examples/signify-react-ts/src/App.tsx | 9 --- examples/signify-react-ts/src/Signify.tsx | 11 +++- examples/signify-react-ts/src/SignifyDemo.tsx | 63 +++++++++++++++++++ 3 files changed, 73 insertions(+), 10 deletions(-) create mode 100644 examples/signify-react-ts/src/SignifyDemo.tsx diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx index e67eda0a..4caf86c8 100644 --- a/examples/signify-react-ts/src/App.tsx +++ b/examples/signify-react-ts/src/App.tsx @@ -28,15 +28,6 @@ function App() { return ( <> - -

Vite + React + Signify

Click on the Vite and React logos to learn more diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index b7c49256..4d6b16c9 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -2,6 +2,7 @@ import { useState, useEffect, useRef } from 'react' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready } from "signify-ts"; +import {SignifyDemo } from './SignifyDemo'; function generateRandomKey() { const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; @@ -48,9 +49,11 @@ export function Signify() { let res = await client.state() console.log(res) setResponse(JSON.stringify(res, null, 2)) + console.log(client) } + const handleButtonClick = () => { if (!pre) { alert("Please compute pre first.") @@ -71,6 +74,8 @@ export function Signify() { return ( <>

+ + {/* show kel*/}
setKey(e.target.value)} ref={inputRef} className="button" /> @@ -79,9 +84,13 @@ export function Signify() { className="button" >Boot Keria
- + {/* show kel*/} diff --git a/examples/signify-react-ts/src/SignifyDemo.tsx b/examples/signify-react-ts/src/SignifyDemo.tsx new file mode 100644 index 00000000..c3f636ca --- /dev/null +++ b/examples/signify-react-ts/src/SignifyDemo.tsx @@ -0,0 +1,63 @@ +import { useState, useEffect, useRef } from 'react' +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready } from "signify-ts"; + + + +export function SignifyDemo(keypassed: any) { + const [key, setKey] = useState(keypassed.keypassed) + const [response, setResponse] = useState("") + + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + const connectAgent = async () => { + const client = new SignifyClient("http://localhost:3901", key) + let res1 = await client.boot() + let res = await client.connect() + console.log(res) + setResponse(JSON.stringify(res, null, 2)) + console.log(client) + } + + const inputRef = useRef(null) + + useEffect(() => { + if (inputRef.current) { + inputRef.current.style.width = "auto" + inputRef.current.style.width = `${inputRef.current.scrollWidth}px` + } + }, [key]) + + return ( + <> +
+ +
+ {response} +
+
+ + ) +} + + From 473bc4e8479c3d089042b9586cf1a7f1c913bdd2 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 18 May 2023 06:57:14 -0500 Subject: [PATCH 037/463] try fixing cors --- examples/signify-react-ts/src/Signify.tsx | 94 ++++++------- examples/signify-react-ts/src/SignifyDemo.tsx | 107 +++++++------- src/keri/app/controller.ts | 11 +- src/keri/app/signify.ts | 131 +++++++++++++----- src/keri/core/authing.ts | 4 +- 5 files changed, 200 insertions(+), 147 deletions(-) diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 4d6b16c9..a17e3eb2 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -2,7 +2,7 @@ import { useState, useEffect, useRef } from 'react' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready } from "signify-ts"; -import {SignifyDemo } from './SignifyDemo'; +import { SignifyDemo } from './SignifyDemo'; function generateRandomKey() { const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; @@ -20,7 +20,7 @@ export function Signify() { const [key, setKey] = useState(generateRandomKey()) const [response, setResponse] = useState("") - + useEffect(() => { ready().then(() => { @@ -28,7 +28,7 @@ export function Signify() { }) }, []) - const handleComputePre = async () => { + const bootAgent = async () => { if (!key) { alert("Please enter a valid key.") return @@ -39,27 +39,9 @@ export function Signify() { return } const client = new SignifyClient("http://localhost:3901", key) - setPre(client.controller?.pre) - console.log("here") - let res = await client.boot() - console.log(res) - } - const getAgentState = async () => { - const client = new SignifyClient("http://localhost:3901", key) - let res = await client.state() + setPre(client.controller.pre) + let res = await client.boot() console.log(res) - setResponse(JSON.stringify(res, null, 2)) - console.log(client) - } - - - - const handleButtonClick = () => { - if (!pre) { - alert("Please compute pre first.") - return - } - setICP(JSON.stringify(client.controller?.event[0])) } const inputRef = useRef(null) @@ -74,42 +56,56 @@ export function Signify() { return ( <>
- {/* show kel*/}
setKey(e.target.value)} ref={inputRef} className="button" /> -

AID is {pre}

- {/* show kel*/} - -
- {response} -
+ { + const client = new SignifyClient("http://localhost:3901", key) + let res = await client.state() + + let resp = JSON.stringify(res, null, 2) + console.log(resp) + return resp + }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + await client.boot() + let res = await client.connect() + console.log('connected res, ', res) + let res1 = await client.get_identifiers() + + return 'Connected to agent' + } + catch (e) { + console.log(e) + return 'Error connecting to agent' + } + }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + let res = await client.get_identifiers() + return res + } + catch (e) { + console.log(e) + return 'Error getting identifiers' + } + }} />
) diff --git a/examples/signify-react-ts/src/SignifyDemo.tsx b/examples/signify-react-ts/src/SignifyDemo.tsx index c3f636ca..9c4576be 100644 --- a/examples/signify-react-ts/src/SignifyDemo.tsx +++ b/examples/signify-react-ts/src/SignifyDemo.tsx @@ -1,63 +1,52 @@ -import { useState, useEffect, useRef } from 'react' -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import { SignifyClient, ready } from "signify-ts"; - - - -export function SignifyDemo(keypassed: any) { - const [key, setKey] = useState(keypassed.keypassed) - const [response, setResponse] = useState("") - - useEffect(() => { - ready().then(() => { - console.log("signify client is ready") - }) - }, []) - - const connectAgent = async () => { - const client = new SignifyClient("http://localhost:3901", key) - let res1 = await client.boot() - let res = await client.connect() - console.log(res) - setResponse(JSON.stringify(res, null, 2)) - console.log(client) +import { useState, useEffect, useRef } from 'react'; + +export function SignifyDemo({ text, onClick }) { + const [response, setResponse] = useState(''); + + useEffect(() => { + // Additional initialization or setup code can be added here + }, []); + + const handleClick = async () => { + try { + const result = await onClick(); + setResponse(result); + } catch (error) { + console.log(error); + setResponse('Error executing function'); } + }; - const inputRef = useRef(null) + const inputRef = useRef(null); - useEffect(() => { - if (inputRef.current) { - inputRef.current.style.width = "auto" - inputRef.current.style.width = `${inputRef.current.scrollWidth}px` - } - }, [key]) - - return ( - <> -
- -
- {response} -
-
- - ) + useEffect(() => { + if (inputRef.current) { + inputRef.current.style.width = 'auto'; + inputRef.current.style.width = `${inputRef.current.scrollWidth}px`; + } + }, []); + + return ( +
+ +
+ Status: {response} +
+
+ ); } - - diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 6c59b7b3..aa01822e 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -4,7 +4,7 @@ import { MtrDex } from "../core/matter"; import { Diger } from "../core/diger"; import { incept } from "../core/eventing"; import { Serder } from "../core/serder"; -import { Signer } from "../core/signer"; +import { Siger } from "../core/siger"; import { Tholder } from "../core/tholder"; import { Ilks } from "../core/core"; import { Verfer } from "../core/verfer"; @@ -36,8 +36,10 @@ export class Agent { } this.anchor = serder.ked['a'][0]; + console.log(kel) - for (let evt of kel.slice(1)) { + for (let evt of kel.kel.slice(1)) { + console.log(evt) let [rot, nverfer, ndiger] = this.event(evt); if (rot.ked['t'] !== Ilks.rot) { throw new Error(`invalid rotation event type ${serder.ked['t']}`); @@ -56,7 +58,8 @@ export class Agent { event(evt: any): [Serder, Verfer, Diger] { let serder = new Serder(evt["ked"]); - let siger = new Signer({ qb64: evt["sig"] }); + console.log(evt["sig"]) + let siger = new Siger({ qb64: evt["sig"] }); if (serder.verfers.length !== 1) { throw new Error(`agent inception event can only have one key`); @@ -97,7 +100,7 @@ export class Controller { public tier: Tier; public ridx: number; private salter: any; - private signer: any; + public signer: any; private nsigner: any; private serder: Serder; diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 93d6c324..e654fc86 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -21,7 +21,8 @@ export class SignifyClient { private bran: string; private pidx: number; private agent: any; - private authn: any; + public authn: any; + public session: any; constructor(url: string, bran: string) { this.url = url; @@ -29,46 +30,37 @@ export class SignifyClient { throw Error("bran must be 21 characters") } this.bran = bran; - this.pidx = 0; this._ctrl = new Controller(bran, Tier.low) + this.authn = null; } + get controller() { + return this._ctrl + } - async connect() { - let state = await this.state() - this.pidx = state.pidx - //Create controller representing local auth AID - this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 - // Create agent representing the AID of the cloud agent - this.agent = new Agent({kel:state.kel}) - - if (this.agent.anchor != this.controller?.pre) { - throw Error("commitment to controller AID missing in agent inception event") - } - - this.authn = new Authenticater(this.agent, this.controller.pre) - // this.session.auth = new SignifyAuth(this.authn) - + get data() { + return [this.url, this.bran, this.pidx, this.authn] } + async boot() { const [evt, sign] = this.controller?.event ?? []; const data = { - icp: evt.ked, - sig: sign.qb64, - stem: this.controller?.stem, - pidx: 1, - tier: this.controller?.tier + icp: evt.ked, + sig: sign.qb64, + stem: this.controller?.stem, + pidx: 1, + tier: this.controller?.tier }; let _url = this.url.includes("3903") ? this.url : "http://localhost:3903"; const res = await fetch(_url + "/boot", { - method: "POST", - body: JSON.stringify(data), - headers: { - "Content-Type": "application/json" - } + method: "POST", + body: JSON.stringify(data), + headers: { + "Content-Type": "application/json" + } }); - + return res; } @@ -81,16 +73,89 @@ export class SignifyClient { let data = await res.json(); console.log(data); let state = new State(); - state.kel = data["kel"]?? {}; + state.kel = data["kel"] ?? {}; state.ridx = data["ridx"] ?? 0; state.pidx = data["pidx"] ?? 0; return state; } - get controller() { - return this._ctrl + + async connect() { + let state = await this.state() + this.pidx = state.pidx + //Create controller representing local auth AID + this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 + // Create agent representing the AID of the cloud agent + this.agent = new Agent({ kel: state.kel }) + + if (this.agent.anchor != this.controller?.pre) { + throw Error("commitment to controller AID missing in agent inception event") + } + this.authn = new Authenticater(this.controller.signer, this.agent.verfer) + // this.session.auth = new SignifyAuth(this.authn) } + async fetch(path: string, method: string, data: any) { + //BEGIN Headers + let headers = new Headers() + // let _h = [{ "accept": "*/*"}, + // { "accept-language": "en-US},en"}, + // { "sec-fetch-dest": "empty"}, + // { "sec-fetch-mode": "no-cors"}, + // { "sec-fetch-site": "same-site"}, + // { "sec-gpc": "1"}, + // { "Referer": "http://localhost:5173/"}, + // { "Referrer-Policy": "strict-origin-when-cross-origin"}] + // _h.forEach(h => { + // let [k, v] = Object.entries(h)[0] + // headers.set(k, v??"") + // }) - get data() { - return [this.url, this.bran, this.pidx, this.authn] + headers.set('Signify-Resource', this.controller.pre) + headers.set('Signify-Timestamp', new Date().toISOString()) + //Access-Control-Allow-Origin: https://localhost:3000 + // headers.set('Access-Control-Allow-Origin', '*') + if (data !== null) { + headers.set('Content-Length', data.length ) + } + else { + headers.set('Content-Length', '0' ) + } + let signed_headers = this.authn.sign(headers, method, path) + console.log(signed_headers.values()) + //END Headers + //body is empty if method is GET else is data + let _body = method == 'GET' ? null : JSON.stringify(data) + let res = await fetch(this.url + path, { + // mode: 'no-cors', + method: method, + body: _body, + headers: signed_headers + }); + + + + //BEGIN Verification + if (res.status == 200) { + console.log(res) + } + else { + throw Error('response status not 200') + } + let verification = this.authn.verify(res.headers, res.body, "GET", path) + if (verification) { + return res + } + else { + throw Error('response verification failed') + } + //END Verification + + } + async get_identifiers() { + let path = `/identifiers` + let data = null + let method = 'GET' + let res = await this.fetch(path, method, data) + return res } + } \ No newline at end of file diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 4bcb7209..63557179 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -20,9 +20,9 @@ export class Authenticater { private _verfer: Verfer; private readonly _csig: Signer; - constructor(csig: Signer, aaid: string) { + constructor(csig: Signer, verfer: Verfer) { this._csig = csig - this._verfer = new Verfer({qb64: aaid}) + this._verfer = verfer } verify(headers: Headers, method: string, path: string): boolean { From b8a21edc41d8c1726d8a5f421805c83bbc6f5b7d Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Thu, 18 May 2023 23:07:04 -0300 Subject: [PATCH 038/463] signature --- examples/signify-react-ts/package-lock.json | 1 + package-lock.json | 89 +++++++++++++++------ src/keri/app/signify.ts | 2 +- src/keri/core/authing.ts | 13 +-- src/keri/core/httping.ts | 2 +- src/keri/end/ending.ts | 4 +- 6 files changed, 77 insertions(+), 34 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index b4157e38..c3e62572 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -27,6 +27,7 @@ } }, "../..": { + "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { diff --git a/package-lock.json b/package-lock.json index dec67d1a..44dd97eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11899,17 +11899,19 @@ } }, "node_modules/node-notifier": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", - "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", + "integrity": "sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==", "dev": true, "optional": true, + "peer": true, "dependencies": { "growly": "^1.3.0", - "is-wsl": "^2.1.1", - "semver": "^6.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.5", "shellwords": "^0.1.1", - "which": "^1.3.1" + "uuid": "^8.3.2", + "which": "^2.0.2" } }, "node_modules/node-notifier/node_modules/is-wsl": { @@ -11918,6 +11920,7 @@ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, "optional": true, + "peer": true, "dependencies": { "is-docker": "^2.0.0" }, @@ -11925,27 +11928,15 @@ "node": ">=8" } }, - "node_modules/node-notifier/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/node-notifier/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, "optional": true, + "peer": true, "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/node-notifier/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "optional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" + "uuid": "dist/bin/uuid" } }, "node_modules/node-releases": { @@ -17640,6 +17631,19 @@ "node": ">=4" } }, + "node_modules/tsdx/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, + "optional": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tsdx/node_modules/istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -18322,6 +18326,43 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/tsdx/node_modules/node-notifier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-6.0.0.tgz", + "integrity": "sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw==", + "dev": true, + "optional": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.1.1", + "semver": "^6.3.0", + "shellwords": "^0.1.1", + "which": "^1.3.1" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/tsdx/node_modules/node-notifier/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "optional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, "node_modules/tsdx/node_modules/optionator": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index e654fc86..a18bc116 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -90,7 +90,7 @@ export class SignifyClient { if (this.agent.anchor != this.controller?.pre) { throw Error("commitment to controller AID missing in agent inception event") } - this.authn = new Authenticater(this.controller.signer, this.agent.verfer) + this.authn = new Authenticater(this.controller.signer, this.agent) // this.session.auth = new SignifyAuth(this.authn) } async fetch(path: string, method: string, data: any) { diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 63557179..1b91516a 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -6,23 +6,26 @@ import {parseDictionary} from "structured-headers"; import {Signage, signature} from "../end/ending"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; +import { Agent } from "../app/controller"; import Base64 from "urlsafe-base64" export class Authenticater { static DefaultFields = [ - "Signify-Resource", "@method", "@path", - "Signify-Timestamp" + "signify-resource", + "signify-timestamp", ] private _verfer: Verfer; + private _agent: Agent; private readonly _csig: Signer; - constructor(csig: Signer, verfer: Verfer) { + constructor(csig: Signer, agent: Agent) { this._csig = csig - this._verfer = verfer + this._verfer = agent.verfer + this._agent = agent } verify(headers: Headers, method: string, path: string): boolean { @@ -107,7 +110,7 @@ export class Authenticater { let [header, sig] = siginput(this._csig, { name: "signify", method, path, headers, fields, alg: "ed25519", - keyid: this._csig.verfer.qb64 + keyid: this._agent.pre }) header.forEach((value, key) => { diff --git a/src/keri/core/httping.ts b/src/keri/core/httping.ts index bb0bcb33..80c03a35 100644 --- a/src/keri/core/httping.ts +++ b/src/keri/core/httping.ts @@ -57,7 +57,7 @@ export function siginput(signer: Signer, let now = Math.floor(nowUTC().getTime() / 1000) nameParams.set("created", now) - let values = [`(${ifields.join(" ")})`, `created=${now}`] + let values = [`(${ifields.map((field) => field[0]).join(" ")})`, `created=${now}`] if (expires != undefined) { values.push(`expires=${expires}`) nameParams.set('expires', expires) diff --git a/src/keri/end/ending.ts b/src/keri/end/ending.ts index 6d2aa783..23f2afcf 100644 --- a/src/keri/end/ending.ts +++ b/src/keri/end/ending.ts @@ -69,9 +69,7 @@ export function signature(signages: Array): Headers { let tag: string if (tags != undefined) { tag = tags[idx] - } - - if (marker instanceof Siger) { + } else if (marker instanceof Siger) { if (!indexed) throw new Error(`Indexed signature marker ${marker} when indexed False.`) From 335c96c63a12059cc33d4fcbd1fa7e9310e060b9 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 19 May 2023 15:55:35 -0500 Subject: [PATCH 039/463] remove client side verification and refactor classes --- examples/signify-react-ts/package-lock.json | 1 - examples/signify-react-ts/src/Signify.tsx | 15 +- src/keri/app/controller.ts | 3 - src/keri/app/signify.ts | 225 ++++++++++++++++++-- 4 files changed, 211 insertions(+), 33 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index c3e62572..b4157e38 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -27,7 +27,6 @@ } }, "../..": { - "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index a17e3eb2..87200fca 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -41,7 +41,7 @@ export function Signify() { const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller.pre) let res = await client.boot() - console.log(res) + } const inputRef = useRef(null) @@ -75,7 +75,6 @@ export function Signify() { let res = await client.state() let resp = JSON.stringify(res, null, 2) - console.log(resp) return resp }} /> { try { const client = new SignifyClient("http://localhost:3901", key) - let res = await client.get_identifiers() - return res + await client.connect() + let res = await client.identifiers() + console.log("IDENTIFIER CLASS", res) + let resp = await res.list_identifiers() + console.log("IDENTIFIER response", JSON.stringify(resp)) + return JSON.stringify(resp) } catch (e) { console.log(e) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index aa01822e..63ced62a 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -36,10 +36,8 @@ export class Agent { } this.anchor = serder.ked['a'][0]; - console.log(kel) for (let evt of kel.kel.slice(1)) { - console.log(evt) let [rot, nverfer, ndiger] = this.event(evt); if (rot.ked['t'] !== Ilks.rot) { throw new Error(`invalid rotation event type ${serder.ked['t']}`); @@ -58,7 +56,6 @@ export class Agent { event(evt: any): [Serder, Verfer, Diger] { let serder = new Serder(evt["ked"]); - console.log(evt["sig"]) let siger = new Siger({ qb64: evt["sig"] }); if (serder.verfers.length !== 1) { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index a18bc116..d23f802c 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,6 +1,7 @@ import { Controller, Agent } from "./controller"; import { Tier } from "../core/salter"; import { Authenticater } from "../core/authing"; +// import {Signage, signature} from "../end/ending"; class State { kel?: any; @@ -12,7 +13,6 @@ class State { this.pidx = 0 this.ridx = 0 } - } export class SignifyClient { @@ -26,7 +26,7 @@ export class SignifyClient { constructor(url: string, bran: string) { this.url = url; - if (bran.length != 21) { + if (bran.length < 21) { throw Error("bran must be 21 characters") } this.bran = bran; @@ -71,7 +71,6 @@ export class SignifyClient { throw new Error(`agent does not exist for controller ${caid}`); } let data = await res.json(); - console.log(data); let state = new State(); state.kel = data["kel"] ?? {}; state.ridx = data["ridx"] ?? 0; @@ -93,6 +92,7 @@ export class SignifyClient { this.authn = new Authenticater(this.controller.signer, this.agent) // this.session.auth = new SignifyAuth(this.authn) } + async fetch(path: string, method: string, data: any) { //BEGIN Headers let headers = new Headers() @@ -114,13 +114,12 @@ export class SignifyClient { //Access-Control-Allow-Origin: https://localhost:3000 // headers.set('Access-Control-Allow-Origin', '*') if (data !== null) { - headers.set('Content-Length', data.length ) + headers.set('Content-Length', data.length) } else { - headers.set('Content-Length', '0' ) + headers.set('Content-Length', '0') } let signed_headers = this.authn.sign(headers, method, path) - console.log(signed_headers.values()) //END Headers //body is empty if method is GET else is data let _body = method == 'GET' ? null : JSON.stringify(data) @@ -131,31 +130,211 @@ export class SignifyClient { headers: signed_headers }); - + //BEGIN Verification - if (res.status == 200) { - console.log(res) - } - else { - throw Error('response status not 200') - } - let verification = this.authn.verify(res.headers, res.body, "GET", path) - if (verification) { - return res - } - else { - throw Error('response verification failed') - } + // if (res.status == 200) { + // console.log(res) + // } + // else { + // throw Error('response status not 200') + // } + // let verification = this.authn.verify(res.headers, res.body, "GET", path) + // if (verification) { + // return res + // } + // else { + // throw Error('response verification failed') + // } //END Verification + return res } - async get_identifiers() { + + identifiers() { + return new Identifier(this) + } +} + +class Identifier { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async list_identifiers() { let path = `/identifiers` let data = null let method = 'GET' - let res = await this.fetch(path, method, data) - return res + console.log('this.client', this.client) + let res = await this.client.fetch(path, method, data) + return await res.json() + } + + async get_identifier(name: string) { + let path = `/identifiers/${name}` + let data = null + let method = 'GET' + console.log('this.client', this.client) + let res = await this.client.fetch(path, method, data) + return await res.json() + } + + // def create(self, name, transferable=True, isith="1", nsith="1", wits=None, toad="0", proxy=None, delpre=None, + // dcode=MtrDex.Blake3_256, data=None, algo=Algos.salty, **kwargs): + + // # Get the algo specific key params + // keeper = self.client.manager.new(algo, self.client.pidx, **kwargs) + + // keys, ndigs = keeper.incept(transferable=transferable) + + // wits = wits if wits is not None else [] + // data = [data] if data is not None else [] + // if delpre is not None: + // serder = eventing.delcept(delpre=delpre, + // keys=keys, + // isith=isith, + // nsith=nsith, + // ndigs=ndigs, + // code=dcode, + // wits=wits, + // toad=toad, + // data=data) + // else: + // serder = eventing.incept(keys=keys, + // isith=isith, + // nsith=nsith, + // ndigs=ndigs, + // code=dcode, + // wits=wits, + // toad=toad, + // data=data) + + // sigs = keeper.sign(serder.raw) + + // json = dict( + // name=name, + // icp=serder.ked, + // sigs=sigs, + // proxy=proxy) + // json[algo] = keeper.params() + + // if 'states' in kwargs: + // json['smids'] = [state['i'] for state in kwargs['states']] + + // if 'rstates' in kwargs: + // json['rmids'] = [state['i'] for state in kwargs['rstates']] + + // self.client.pidx = self.client.pidx + 1 + + // res = self.client.post("/identifiers", json=json) + // return res.json() + + + +} +class Oobis { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(name: string, role: string = 'agent') { + let path = `/identifiers/${name}/oobis?role=${role}` + let data = null + let method = 'GET' + console.log('this.client', this.client) + let res = await this.client.fetch(path, method, data) + return await res.json() + } + async resolve(oobi: string, alias?: string) { + let path = `/oobis` + let data: any = { + oobi: oobi + } + if (alias !== undefined) { + data['alias'] = alias + } + let method = 'POST' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class Operations { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(name: string) { + let path = `/operations/${name}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class KeyEvents { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(pre: string) { + let path = `/events?pre=${pre}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class KeyStates { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(pre: string) { + let path = `/states?pre=${pre}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } + + async list(pres: [string]) { + let path = `/states?${pres.map(pre => `pre=${pre}`).join('&')}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } + + async query(pre: string, sn?: string, anchor?: string) { + let path = `/oobis` + let data: any = { + pre: pre + } + if (sn !== undefined) { + data['sn'] = sn + } + if (anchor !== undefined) { + data['anchor'] = anchor + } + + let method = 'POST' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } } \ No newline at end of file From 9fe627299576c64467a19413a29a42758fe5c287 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 19 May 2023 16:19:50 -0500 Subject: [PATCH 040/463] fix sample app --- examples/signify-react-ts/src/Signify.tsx | 55 ++++------- src/keri/app/signify.ts | 108 +--------------------- 2 files changed, 21 insertions(+), 142 deletions(-) diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 87200fca..8e65ffdc 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -28,22 +28,6 @@ export function Signify() { }) }, []) - const bootAgent = async () => { - if (!key) { - alert("Please enter a valid key.") - return - } - //check len of key is 21 - if (key.length !== 21) { - alert("Invalid key lenght " + key.length) - return - } - const client = new SignifyClient("http://localhost:3901", key) - setPre(client.controller.pre) - let res = await client.boot() - - } - const inputRef = useRef(null) useEffect(() => { @@ -60,44 +44,41 @@ export function Signify() {
setKey(e.target.value)} ref={inputRef} className="button" /> -

- AID is {pre} + Client AID is {pre}

{/* show kel*/} { const client = new SignifyClient("http://localhost:3901", key) - let res = await client.state() - - let resp = JSON.stringify(res, null, 2) - return resp - }} /> - { + setPre(client.controller.pre) try { - const client = new SignifyClient("http://localhost:3901", key) - await client.boot() - let res = await client.connect() - let res1 = await client.get_identifiers_old() - console.log('identifiers res, ', res1) - - return 'Connected to agent' + await client.state() } catch (e) { console.log(e) - return 'Error connecting to agent' + await client.boot() } + let res = await client.state() + let resp = JSON.stringify(res, null, 2) + return resp }} /> { try { const client = new SignifyClient("http://localhost:3901", key) - await client.connect() + setPre(client.controller.pre) + try{ + await client.connect() + } + catch(e){ + console.log('error connecting', e) + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + } let res = await client.identifiers() console.log("IDENTIFIER CLASS", res) let resp = await res.list_identifiers() diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index d23f802c..ae26cee6 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -168,6 +168,9 @@ class Identifier { let method = 'GET' console.log('this.client', this.client) let res = await this.client.fetch(path, method, data) + res.headers.forEach((v, k) => { + console.log(k, v) + }) return await res.json() } @@ -233,108 +236,3 @@ class Identifier { } -class Oobis { - public client: SignifyClient - constructor(client: SignifyClient) { - this.client = client - } - - async get(name: string, role: string = 'agent') { - let path = `/identifiers/${name}/oobis?role=${role}` - let data = null - let method = 'GET' - console.log('this.client', this.client) - let res = await this.client.fetch(path, method, data) - return await res.json() - - } - - async resolve(oobi: string, alias?: string) { - let path = `/oobis` - let data: any = { - oobi: oobi - } - if (alias !== undefined) { - data['alias'] = alias - } - let method = 'POST' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } -} - -class Operations { - public client: SignifyClient - constructor(client: SignifyClient) { - this.client = client - } - - async get(name: string) { - let path = `/operations/${name}` - let data = null - let method = 'GET' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } -} - -class KeyEvents { - public client: SignifyClient - constructor(client: SignifyClient) { - this.client = client - } - - async get(pre: string) { - let path = `/events?pre=${pre}` - let data = null - let method = 'GET' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } -} - -class KeyStates { - public client: SignifyClient - constructor(client: SignifyClient) { - this.client = client - } - - async get(pre: string) { - let path = `/states?pre=${pre}` - let data = null - let method = 'GET' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } - - async list(pres: [string]) { - let path = `/states?${pres.map(pre => `pre=${pre}`).join('&')}` - let data = null - let method = 'GET' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } - - async query(pre: string, sn?: string, anchor?: string) { - let path = `/oobis` - let data: any = { - pre: pre - } - if (sn !== undefined) { - data['sn'] = sn - } - if (anchor !== undefined) { - data['anchor'] = anchor - } - - let method = 'POST' - let res = await this.client.fetch(path, method, data) - return await res.json() - - } -} \ No newline at end of file From b3dd098c0dec198a48a9d7915724b11f6ab3910f Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sat, 20 May 2023 16:41:27 -0300 Subject: [PATCH 041/463] santy derivation --- examples/signify-react-ts/package-lock.json | 1 + examples/signify-react-ts/src/Signify.tsx | 2 - src/keri/app/controller.ts | 59 +++++++++++---------- src/keri/app/signify.ts | 17 +++--- src/keri/core/authing.ts | 9 ++-- src/keri/core/manager.ts | 5 +- src/keri/core/salter.ts | 19 +++---- 7 files changed, 56 insertions(+), 56 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index b4157e38..c3e62572 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -27,6 +27,7 @@ } }, "../..": { + "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 8e65ffdc..2c40f78b 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -80,9 +80,7 @@ export function Signify() { console.log('booted and connected up') } let res = await client.identifiers() - console.log("IDENTIFIER CLASS", res) let resp = await res.list_identifiers() - console.log("IDENTIFIER response", JSON.stringify(resp)) return JSON.stringify(resp) } catch (e) { diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 63ced62a..79c6a534 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -4,7 +4,7 @@ import { MtrDex } from "../core/matter"; import { Diger } from "../core/diger"; import { incept } from "../core/eventing"; import { Serder } from "../core/serder"; -import { Siger } from "../core/siger"; +// import { Siger } from "../core/siger"; import { Tholder } from "../core/tholder"; import { Ilks } from "../core/core"; import { Verfer } from "../core/verfer"; @@ -14,57 +14,58 @@ export class Agent { anchor: string; verfer: any | null; - constructor(kel: any) { + constructor(agent: any) { this.pre = ""; this.anchor = ""; this.verfer = null; - this.parse(kel); + this.parse(agent); } - parse(kel: any) { - if (kel.length < 1) { - throw new Error("invalid empty KEL"); - } - let [serder, verfer, diger] = this.event(kel.kel[0]); - if (serder.ked['t'] !== Ilks.icp) { - throw new Error(`invalid inception event type ${serder.ked['t']}`); + parse(agent: any) { + // if (kel.length < 1) { + // throw new Error("invalid empty KEL"); + // } + // let [serder, verfer, diger] = this.event(agent); + let [serder, verfer, ] = this.event(agent); + if (serder.ked['et'] !== Ilks.dip) { + throw new Error(`invalid inception event type ${serder.ked['et']}`); } this.pre = serder.pre; - if (!serder.ked['a']) { + if (!serder.ked['di']) { throw new Error("no anchor to controller AID"); } - this.anchor = serder.ked['a'][0]; - - for (let evt of kel.kel.slice(1)) { - let [rot, nverfer, ndiger] = this.event(evt); - if (rot.ked['t'] !== Ilks.rot) { - throw new Error(`invalid rotation event type ${serder.ked['t']}`); - } + this.anchor = serder.ked['di']; + // for (let evt of kel.kel.slice(1)) { + // for (let evt of state.controller.slice(1)) { + // let [rot, nverfer, ndiger] = this.event(evt); + // if (rot.ked['t'] !== Ilks.rot) { + // throw new Error(`invalid rotation event type ${serder.ked['t']}`); + // } - if (new Diger({ qb64b: nverfer.qb64b }).qb64b !== diger.qb64b) { - throw new Error(`next key mismatch error on rotation event ${serder}`); - } + // if (new Diger({ qb64b: nverfer.qb64b }).qb64b !== diger.qb64b) { + // throw new Error(`next key mismatch error on rotation event ${serder}`); + // } - verfer = nverfer; - diger = ndiger; - } + // verfer = nverfer; + // diger = ndiger; + // } this.verfer = verfer; } event(evt: any): [Serder, Verfer, Diger] { - let serder = new Serder(evt["ked"]); - let siger = new Siger({ qb64: evt["sig"] }); + let serder = new Serder(evt); + // let siger = new Siger({ qb64: evt["sig"] }); if (serder.verfers.length !== 1) { throw new Error(`agent inception event can only have one key`); } - if (!serder.verfers[0].verify(siger.raw, serder.raw)) { - throw new Error(`invalid signature on evt ${serder.ked['d']}`); - } + // if (!serder.verfers[0].verify(siger.raw, serder.raw)) { + // throw new Error(`invalid signature on evt ${serder.ked['d']}`); + // } let verfer = serder.verfers[0]; diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index ae26cee6..2351a098 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -4,12 +4,14 @@ import { Authenticater } from "../core/authing"; // import {Signage, signature} from "../end/ending"; class State { - kel?: any; + agent?: any; + controller?: any; ridx?: number; pidx: number; constructor() { - this.kel = {} + this.agent = {} + this.controller = {} this.pidx = 0 this.ridx = 0 } @@ -72,7 +74,8 @@ export class SignifyClient { } let data = await res.json(); let state = new State(); - state.kel = data["kel"] ?? {}; + state.agent = data["agent"] ?? {}; + state.controller = data["controller"] ?? {}; state.ridx = data["ridx"] ?? 0; state.pidx = data["pidx"] ?? 0; return state; @@ -84,12 +87,12 @@ export class SignifyClient { //Create controller representing local auth AID this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 // Create agent representing the AID of the cloud agent - this.agent = new Agent({ kel: state.kel }) + this.agent = new Agent(state.agent) if (this.agent.anchor != this.controller?.pre) { throw Error("commitment to controller AID missing in agent inception event") } - this.authn = new Authenticater(this.controller.signer, this.agent) + this.authn = new Authenticater(this.controller.signer, this.agent.verfer) // this.session.auth = new SignifyAuth(this.authn) } @@ -166,11 +169,7 @@ class Identifier { let path = `/identifiers` let data = null let method = 'GET' - console.log('this.client', this.client) let res = await this.client.fetch(path, method, data) - res.headers.forEach((v, k) => { - console.log(k, v) - }) return await res.json() } diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 1b91516a..60b54b01 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -6,7 +6,6 @@ import {parseDictionary} from "structured-headers"; import {Signage, signature} from "../end/ending"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; -import { Agent } from "../app/controller"; import Base64 from "urlsafe-base64" @@ -19,13 +18,11 @@ export class Authenticater { "signify-timestamp", ] private _verfer: Verfer; - private _agent: Agent; private readonly _csig: Signer; - constructor(csig: Signer, agent: Agent) { + constructor(csig: Signer, verfer: Verfer) { this._csig = csig - this._verfer = agent.verfer - this._agent = agent + this._verfer = verfer } verify(headers: Headers, method: string, path: string): boolean { @@ -110,7 +107,7 @@ export class Authenticater { let [header, sig] = siginput(this._csig, { name: "signify", method, path, headers, fields, alg: "ed25519", - keyid: this._agent.pre + keyid: this._csig.verfer.qb64 }) header.forEach((value, key) => { diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index f8369d28..f3661dcf 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -144,7 +144,10 @@ export class SaltyCreator implements Creator { } codes.forEach((code, idx) => { - let path = this.stem + pidx.toString(16) + ridx.toString(16) + (kidx+idx).toString(16) + // Previuos definition of path + // let path = this.stem + pidx.toString(16) + ridx.toString(16) + (kidx+idx).toString(16) + let path = this.stem == ""?pidx.toString(16): this.stem + ridx.toString(16) + (kidx+idx).toString(16) + signers.push(this.salter.signer(code, transferable, path, this.tier, temp)) paths.push(path) }) diff --git a/src/keri/core/salter.ts b/src/keri/core/salter.ts index feed7632..0391796b 100644 --- a/src/keri/core/salter.ts +++ b/src/keri/core/salter.ts @@ -49,30 +49,31 @@ export class Salter extends Matter { let opslimit: number, memlimit: number + // Harcoded values based on keripy if (temp) { - opslimit = libsodium.crypto_pwhash_OPSLIMIT_MIN - memlimit = libsodium.crypto_pwhash_MEMLIMIT_MIN + opslimit = 1 //libsodium.crypto_pwhash_OPSLIMIT_MIN + memlimit = 8192 //libsodium.crypto_pwhash_MEMLIMIT_MIN } else { switch (tier) { case Tier.low: - opslimit = libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE - memlimit = libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE + opslimit = 2 //libsodium.crypto_pwhash_OPSLIMIT_INTERACTIVE + memlimit = 67108864 //libsodium.crypto_pwhash_MEMLIMIT_INTERACTIVE break; case Tier.med: - opslimit = libsodium.crypto_pwhash_OPSLIMIT_MODERATE - memlimit = libsodium.crypto_pwhash_MEMLIMIT_MODERATE + opslimit = 3 //libsodium.crypto_pwhash_OPSLIMIT_MODERATE + memlimit = 268435456 //libsodium.crypto_pwhash_MEMLIMIT_MODERATE break; case Tier.high: - opslimit = libsodium.crypto_pwhash_OPSLIMIT_SENSITIVE - memlimit = libsodium.crypto_pwhash_MEMLIMIT_SENSITIVE + opslimit = 4 //libsodium.crypto_pwhash_OPSLIMIT_SENSITIVE + memlimit = 1073741824 //libsodium.crypto_pwhash_MEMLIMIT_SENSITIVE break; default: throw new Error(`Unsupported security tier = ${tier}.`) } } - return libsodium.crypto_pwhash(size, path, this.raw, opslimit, memlimit, libsodium.crypto_pwhash_ALG_DEFAULT) + return libsodium.crypto_pwhash(size, path, this.raw, opslimit, memlimit, libsodium.crypto_pwhash_ALG_ARGON2ID13) } signer(code: string=MtrDex.Ed25519_Seed, transferable: boolean=true, path: string = "", From a47f76ca47adddd5bbf0b42928a3055271fb9ecb Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 21 May 2023 21:03:49 -0300 Subject: [PATCH 042/463] fix tests --- src/keri/end/ending.ts | 2 +- test/app/controller.test.ts | 4 +-- test/app/habery.test.ts | 6 ++-- test/core/authing.test.ts | 11 ++++--- test/core/httping.test.ts | 2 +- test/core/manager.test.ts | 62 ++++++++++++++++++------------------- 6 files changed, 45 insertions(+), 42 deletions(-) diff --git a/src/keri/end/ending.ts b/src/keri/end/ending.ts index 23f2afcf..f4b72a2e 100644 --- a/src/keri/end/ending.ts +++ b/src/keri/end/ending.ts @@ -67,7 +67,7 @@ export function signature(signages: Array): Headers { markers.forEach((marker, idx) => { let tag: string - if (tags != undefined) { + if (tags != undefined && tags.length > idx) { tag = tags[idx] } else if (marker instanceof Siger) { if (!indexed) diff --git a/test/app/controller.test.ts b/test/app/controller.test.ts index 48381d4f..d31efe5c 100644 --- a/test/app/controller.test.ts +++ b/test/app/controller.test.ts @@ -22,10 +22,10 @@ describe('Controller', () => { // their pubk and and my encrypted account package // let pkg = {} let controller = new Controller(passcode, Tier.low) - assert.equal(controller.pre, "EH47SaIWwMbBh3P39AFP-qe-J87-Z-gcj-ZUJ7uyplHF") + assert.equal(controller.pre, "ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose") passcode = "abcdefghijk0123456789" controller = new Controller(passcode, Tier.low) - assert.equal(controller.pre, "EG0DNL7t6FYCeFHZ6L9iXy2LXhAQAjg1ac9qlrS31-sh") + assert.equal(controller.pre, "EIIY2SgE_bqKLl2MlnREUawJ79jTuucvWwh-S6zsSUFo") }) }) \ No newline at end of file diff --git a/test/app/habery.test.ts b/test/app/habery.test.ts index b7f5d270..78f1fe66 100644 --- a/test/app/habery.test.ts +++ b/test/app/habery.test.ts @@ -15,8 +15,8 @@ describe('Habery', () => { let hab = hby.makeHab("test", {}) - assert.deepStrictEqual(hab.serder.ked["k"], ["DC7Zg7BasK65MdK1hgVd8nB9_2Dj_i1DruqNN9VBsrRd"]) - assert.deepStrictEqual(hab.serder.ked["n"], ["EBRJBDoLKcD9s5tGg0uXLgt79iClVnlceMJHi1qdwRdC"]) + assert.deepStrictEqual(hab.serder.ked["k"], ["DAQVURvW74OJH1Q0C6YLim_tdBYoXABwg6GsAlPaUJXE"]) + assert.deepStrictEqual(hab.serder.ked["n"], ["ENBWnU8wNHqq9oqJIimWhxUtNDHReUXtiCwwtjg9zKY0"]) }) it('should use passcode as salt', async () => { @@ -35,7 +35,7 @@ describe('Habery', () => { let hby = new Habery({name: "test", salt: salter.qb64}) let hab = hby.makeHab("test", {transferable: true}) - assert.equal(hab.pre, "EOaOgA0FX6zQ8mU_LHt3JiaFOhkpLBh1ID8ZS8nA9Cac") + assert.equal(hab.pre, "EMRbh7mWJTijcWiQKT3uxozncpa9_gEX1IU0fM1wnKxi") }) }) \ No newline at end of file diff --git a/test/core/authing.test.ts b/test/core/authing.test.ts index 3f19e146..4f2a08a7 100644 --- a/test/core/authing.test.ts +++ b/test/core/authing.test.ts @@ -4,6 +4,7 @@ import {Salter} from "../../src/keri/core/salter"; import {b} from "../../src/keri/core/core"; import {Authenticater} from "../../src/keri/core/authing"; import * as utilApi from "../../src/keri/core/utils"; +import { Verfer } from "../../src/keri/core/verfer"; describe('Authenticater.verify', () => { @@ -13,6 +14,7 @@ describe('Authenticater.verify', () => { let salter = new Salter({raw: b(salt)}) let signer = salter.signer() let aaid = "DDK2N5_fVCWIEO9d8JLhk7hKrkft6MbtkUhaHQsmABHY" + let verfer = new Verfer({qb64: aaid}) let headers = new Headers([ ['Connection', 'close'], @@ -24,7 +26,7 @@ describe('Authenticater.verify', () => { ['Signify-Timestamp', '2022-09-24T00:05:48.196795+00:00'], ]) - let authn = new Authenticater(signer, aaid) + let authn = new Authenticater(signer, verfer) assert.notEqual(authn, undefined) assert.equal(authn.verify(new Headers(headers), "POST", "/boot"), true) @@ -38,6 +40,7 @@ describe("Authenticater.sign", () => { let salter = new Salter({raw: b(salt)}) let signer = salter.signer() let aaid = "DDK2N5_fVCWIEO9d8JLhk7hKrkft6MbtkUhaHQsmABHY" + let verfer = new Verfer({qb64: aaid}) let headers = new Headers([ ["Content-Type", "application/json"], @@ -48,12 +51,12 @@ describe("Authenticater.sign", () => { ]) jest.spyOn(utilApi, "nowUTC").mockReturnValue(new Date("2021-01-01T00:00:00.000000+00:00")) - let authn = new Authenticater(signer, aaid) + let authn = new Authenticater(signer, verfer) headers = authn.sign(headers, "POST", "/boot") assert.equal(headers.has("Signature-Input"), true) assert.equal(headers.has("Signature"), true) - assert.equal(headers.get("Signature-Input"), 'signify=("Signify-Resource" "@method" "@path" "Signify-Timestamp");created=1609459200;keyid="DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt";alg="ed25519"') - assert.equal(headers.get("Signature"), 'indexed="?0";DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt="0BDLBHkG4X37TLcNkb-ZORKfez-rWy-d5C1n1i9wFN8Ho8Wh8buKmZ-AHKt97-MzGYXZ18mVDy4Y3Xi75iiwtmMG"') + assert.equal(headers.get("Signature-Input"), 'signify=("@method" "@path" "signify-resource" "signify-timestamp");created=1609459200;keyid="DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt";alg="ed25519"') + assert.equal(headers.get("Signature"), 'indexed="?0";signify="0BChvN_BWAf-mgEuTnWfNnktgHdWOuOh9cWc4o0GFWuZOwra3DyJT5dJ_6BX7AANDOTnIlAKh5Sg_9qGQXHjj5oJ"') }) }) \ No newline at end of file diff --git a/test/core/httping.test.ts b/test/core/httping.test.ts index 8afafb04..d2b1556c 100644 --- a/test/core/httping.test.ts +++ b/test/core/httping.test.ts @@ -37,7 +37,7 @@ describe('siginput', () => { assert.equal(header.has("Signature-Input"), true) let sigipt = header.get("Signature-Input") assert.equal(sigipt, 'sig0=("Signify-Resource" "@method" "@path" "Signify-Timestamp");created=1609459200;keyid="DN54yRad_BTqgZYUSi_NthRBQrxSnqQdJXWI5UHcGOQt";alg="ed25519"') - assert.equal(sig.qb64, "0BAU6RvYeiudxVDADCeG2I4S2Y0HVdu97lleiGtUt_swYgSKflVzrqAQJBfrt6vaIO7-dvnPhxfNGTLhONBnqFMJ") + assert.equal(sig.qb64, "0BAJWoDvZXYKnq_9rFTy_mucctxk3rVK6szopNi1rq5WQcJSNIw-_PocSQNoQGD1Ow_s2mDI5-Qqm34Y56gUKQcF") }) }) diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index ed46f055..29f3d6d6 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -87,16 +87,16 @@ describe('SaltyCreator', () => { keys = salty.create() assert.equal(keys.signers.length, 1) assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(keys.signers[0].qb64, "APMJe0lwOpwnX9PkvX1mh26vlzGYl6RWgWGclc8CAQJ9") + assert.equal(keys.signers[0].qb64, "AO0hmkIVsjCoJY1oUe3-QqHlMBVIhFX1tQfN_8SPKiNF") assert.equal(keys.signers[0].verfer.code, MtrDex.Ed25519) - assert.equal(keys.signers[0].verfer.qb64, "DMZy6qbgnKzvCE594tQ4SPs6pIECXTYQBH7BkC4hNY3E") + assert.equal(keys.signers[0].verfer.qb64, "DHHneREQ1eZyQNc5nEsQYx1FqFVL1OTXmvmatTE77Cfe") keys = salty.create(undefined, 1, MtrDex.Ed25519_Seed, false, 0, 0, 0, true) assert.equal(keys.signers.length, 1) assert.equal(keys.signers[0].code, MtrDex.Ed25519_Seed) - assert.equal(keys.signers[0].qb64, "AMGrAM0noxLpRteO9mxGT-yzYSrKFwJMuNI4KlmSk26e") + assert.equal(keys.signers[0].qb64, "AOVkNmL_dZ5pjvp-_nS5EJbs0xe32MODcOUOym-0aCBL") assert.equal(keys.signers[0].verfer.code, MtrDex.Ed25519N) - assert.equal(keys.signers[0].verfer.qb64, "BFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + assert.equal(keys.signers[0].verfer.qb64, "BB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI") }) }) @@ -187,7 +187,7 @@ describe('Manager', () => { assert.equal(manager.pidx, 1) let spre = verfers[0].qb64 - assert.equal(spre, "DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + assert.equal(spre, "DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI") let pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 0) @@ -199,11 +199,11 @@ describe('Manager', () => { let ps = manager.ks.getSits(spre)! assert.deepStrictEqual(ps.old.pubs, []) assert.equal(ps.new.pubs.length, 1) - assert.deepStrictEqual(ps.new.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.deepStrictEqual(ps.new.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.new.ridx, 0) assert.equal(ps.new.kidx, 0) assert.equal(ps.nxt.pubs.length, 1) - assert.deepStrictEqual(ps.nxt.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.deepStrictEqual(ps.nxt.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.nxt.ridx, 1) assert.equal(ps.nxt.kidx, 1) @@ -216,7 +216,7 @@ describe('Manager', () => { assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) let digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EBhBRqVbqhhP7Ciah5pMIOdsY5Mm1ITm2Fjqb028tylu']) + assert.deepStrictEqual(digs, ['ENmcKrctbztF36MttN7seUYJqH2IMnkavBgGLR6Mj2-B']) let oldspre = spre spre = "DCu5o5cxzv1lgMqxMVG3IcCNK4lpFfpMM-9rfkY3XVUc" @@ -235,7 +235,7 @@ describe('Manager', () => { let psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) let vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) assert.deepStrictEqual(psigs, vsigs) - assert.equal(psigs[0], 'AAAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + assert.equal(psigs[0], 'AACRPqO6vdXm1oSSa82rmVVHikf7NdN4JXjOWEk30Ub5JHChL0bW6DzJfA-7VlgLm_B1XR0Z61FweP87bBQpVawI') // Test sign with indices let indices = [3] @@ -244,7 +244,7 @@ describe('Manager', () => { assert.equal(psigers[0] instanceof Siger, true) assert.equal(psigers[0].index, indices[0]) psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) - assert.equal(psigs[0], 'ADAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + assert.equal(psigs[0], 'ADCRPqO6vdXm1oSSa82rmVVHikf7NdN4JXjOWEk30Ub5JHChL0bW6DzJfA-7VlgLm_B1XR0Z61FweP87bBQpVawI') vsigers = manager.sign({ser: serb, verfers: verfers, indices: indices}) as Array assert.equal(vsigers.length, 1) @@ -261,7 +261,7 @@ describe('Manager', () => { let pcigs = Array.from(pcigars as Array, (psiger) => psiger.qb64) let vcigs = Array.from(vcigars as Array, (vsiger) => vsiger.qb64) assert.deepStrictEqual(vcigs, pcigs) - assert.equal(pcigs[0], '0BAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + assert.equal(pcigs[0], '0BCRPqO6vdXm1oSSa82rmVVHikf7NdN4JXjOWEk30Ub5JHChL0bW6DzJfA-7VlgLm_B1XR0Z61FweP87bBQpVawI') let oldpubs = Array.from(verfers, (verfer) => verfer.qb64) let hashes = manager.rotate({pre: spre}) @@ -278,13 +278,13 @@ describe('Manager', () => { assert.equal(pp.tier, Tier.low) ps = manager.ks.getSits(spre)! - assert.deepStrictEqual(ps.old.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.deepStrictEqual(ps.old.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.new.pubs.length, 1) - assert.deepStrictEqual(ps.new.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.deepStrictEqual(ps.new.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.new.ridx, 1) assert.equal(ps.new.kidx, 1) assert.equal(ps.nxt.pubs.length, 1) - assert.deepStrictEqual(ps.nxt.pubs, ['DAoQ1WxT29XtCFtOpJZyuO2q38BD8KTefktf7X0WN4YW']) + assert.deepStrictEqual(ps.nxt.pubs, ['DHHneREQ1eZyQNc5nEsQYx1FqFVL1OTXmvmatTE77Cfe']) assert.equal(ps.nxt.ridx, 2) assert.equal(ps.nxt.kidx, 2) @@ -292,7 +292,7 @@ describe('Manager', () => { assert.deepStrictEqual(keys, ps.new.pubs) digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EJczV8HmnEWZiEHw2lVuSatrvzCmJOZ3zpa7JFfrnjau']) + assert.deepStrictEqual(digs, ['ECl1Env_5PQHqVMpHgoqg9H9mT7ENtk0Q499cmMT6Fvz']) assert.deepStrictEqual(oldpubs, ps.old.pubs) @@ -404,7 +404,7 @@ describe('Manager', () => { assert.equal(manager.pidx, 4) spre = verfers[0].qb64 - assert.equal(spre, "DIMPlAYsqdL8OxoDTdmCzYL6WCBRWgFov2S9mjhkZBgu") + assert.equal(spre, "DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM") pp = manager.ks.getPrms(spre)! assert.equal(pp.pidx, 3) @@ -416,11 +416,11 @@ describe('Manager', () => { ps = manager.ks.getSits(spre)! assert.deepStrictEqual(ps.old.pubs, []) assert.equal(ps.new.pubs.length, 1) - assert.deepStrictEqual(ps.new.pubs, ['DIMPlAYsqdL8OxoDTdmCzYL6WCBRWgFov2S9mjhkZBgu']) + assert.deepStrictEqual(ps.new.pubs, ['DOtu4gX3oc4feusD8wWIykLhjkpiJHXEe29eJ2b_1CyM']) assert.equal(ps.new.ridx, 0) assert.equal(ps.new.kidx, 0) assert.equal(ps.nxt.pubs.length, 1) - assert.deepStrictEqual(ps.nxt.pubs, ['DCkCKvj0TLQinsvDSTXUnrBVUfFKFQObWbPpF5bz-QDG']) + assert.deepStrictEqual(ps.nxt.pubs, ['DBzZ6vejSNAZpXv1SDRnIF_P1UqcW5d2pu2U-v-uhXvE']) assert.equal(ps.nxt.ridx, 1) assert.equal(ps.nxt.kidx, 1) @@ -428,14 +428,14 @@ describe('Manager', () => { assert.deepStrictEqual(keys, ps.new.pubs) digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EA-BrckClECptkbamqWj-Ssu6bSiL4c7ZruQ1PNrLOGI']) + assert.deepStrictEqual(digs, ['EIGjhyyBRcqCkPE9bmkph7morew0wW0ak-rQ-dHCH-M2']) hashes = manager.incept({ncount: 0, salt: salt, stem: 'wit0', transferable: false, temp: true}) verfers = hashes[0] digers = hashes[1] let witpre0 = verfers[0].qb64 - assert.equal(verfers[0].qb64, 'BPAKr6S6GHg2w4R72_XJNRJ1kELitBQr8a5tCrt5yOpM') + assert.equal(verfers[0].qb64, 'BOTNI4RzN706NecNdqTlGEcMSTWiFUvesEqmxWR_op8n') assert.equal(verfers[0].code, MtrDex.Ed25519N) assert.notEqual(digers, undefined) @@ -444,7 +444,7 @@ describe('Manager', () => { digers = hashes[1] let witpre1 = verfers[0].qb64 - assert.equal(verfers[0].qb64, 'BJ0vexQbWe8ysL03FeTn6yZiIVaTisiZstysKjGFK_6D') + assert.equal(verfers[0].qb64, 'BAB_5xNXH4hoxDCtAHPFPDedZ6YwTo8mbdw_v0AOHOMt') assert.equal(verfers[0].code, MtrDex.Ed25519N) assert.notEqual(digers, undefined) @@ -468,7 +468,7 @@ describe('Manager', () => { assert.equal(manager.pidx, 1) let spre = verfers[0].qb64 - assert.equal(spre, "DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT") + assert.equal(spre, "DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI") let ps = manager.ks.getSits(spre)! let keys = Array.from(verfers, (verfer: Verfer) => verfer.qb64) @@ -480,13 +480,13 @@ describe('Manager', () => { assert.deepStrictEqual(pl.pubs, ps.nxt.pubs) let ppt = manager.ks.getPths(ps.new.pubs[0]) - assert.equal(ppt!.path, "000") + assert.equal(ppt!.path, "0") assert.equal(ppt!.code, "A") assert.equal(ppt!.tier, "low") assert.equal(ppt!.temp, true) let digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EBhBRqVbqhhP7Ciah5pMIOdsY5Mm1ITm2Fjqb028tylu']) + assert.deepStrictEqual(digs, ['ENmcKrctbztF36MttN7seUYJqH2IMnkavBgGLR6Mj2-B']) let serb = b(ser) let psigers = manager.sign({ser: serb, pubs: ps.new.pubs}) @@ -496,7 +496,7 @@ describe('Manager', () => { let psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) let vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) assert.deepStrictEqual(psigs, vsigs) - assert.equal(psigs[0], 'AAAa70b4QnTOtGOsMqcezMtVzCFuRJHGeIMkWYHZ5ZxGIXM0XDVAzkYdCeadfPfzlKC6dkfiwuJ0IzLOElaanUgH') + assert.equal(psigs[0], 'AACRPqO6vdXm1oSSa82rmVVHikf7NdN4JXjOWEk30Ub5JHChL0bW6DzJfA-7VlgLm_B1XR0Z61FweP87bBQpVawI') let oldspre = spre spre = "DCu5o5cxzv1lgMqxMVG3IcCNK4lpFfpMM-9rfkY3XVUc" @@ -518,13 +518,13 @@ describe('Manager', () => { assert.equal(pp.tier, Tier.low) ps = manager.ks.getSits(spre)! - assert.deepStrictEqual(ps.old.pubs, ['DFRtyHAjSuJaRX6TDPva35GN11VHAruaOXMc79ZYDKsT']) + assert.deepStrictEqual(ps.old.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.new.pubs.length, 1) - assert.deepStrictEqual(ps.new.pubs, ['DHByVjuBrM1D9K71TuE5dq1HVDNS5-aLD-wcIlHiVoXX']) + assert.deepStrictEqual(ps.new.pubs, ['DB-fH5uto5o5XHZjNN3_W3PdT4MIyTCmQWDzMxMZV2kI']) assert.equal(ps.new.ridx, 1) assert.equal(ps.new.kidx, 1) assert.equal(ps.nxt.pubs.length, 1) - assert.deepStrictEqual(ps.nxt.pubs, ['DAoQ1WxT29XtCFtOpJZyuO2q38BD8KTefktf7X0WN4YW']) + assert.deepStrictEqual(ps.nxt.pubs, ['DHHneREQ1eZyQNc5nEsQYx1FqFVL1OTXmvmatTE77Cfe']) assert.equal(ps.nxt.ridx, 2) assert.equal(ps.nxt.kidx, 2) @@ -532,12 +532,12 @@ describe('Manager', () => { assert.deepStrictEqual(keys, ps.new.pubs) digs = Array.from(digers, (diger: Diger) => diger.qb64) - assert.deepStrictEqual(digs, ['EJczV8HmnEWZiEHw2lVuSatrvzCmJOZ3zpa7JFfrnjau']) + assert.deepStrictEqual(digs, ['ECl1Env_5PQHqVMpHgoqg9H9mT7ENtk0Q499cmMT6Fvz']) assert.deepStrictEqual(oldpubs, ps.old.pubs) ppt = manager.ks.getPths(ps.new.pubs[0]) - assert.equal(ppt!.path, "011") + assert.equal(ppt!.path, "0") assert.equal(ppt!.code, "A") assert.equal(ppt!.tier, "low") assert.equal(ppt!.temp, true) @@ -549,7 +549,7 @@ describe('Manager', () => { psigs = Array.from(psigers as Array, (psiger) => psiger.qb64) vsigs = Array.from(vsigers as Array, (vsiger) => vsiger.qb64) assert.deepStrictEqual(psigs, vsigs) - assert.equal(psigs[0], 'AADB9jKiR8y1_gYDCQoPhAbkZJSB2oqfUf3Otu-BW8lU3g5nPtJbDUNK8aSiLWbyM3AtMZYMXPPrxp9sOWLY9O0L') + assert.equal(psigs[0], 'AACRPqO6vdXm1oSSa82rmVVHikf7NdN4JXjOWEk30Ub5JHChL0bW6DzJfA-7VlgLm_B1XR0Z61FweP87bBQpVawI') }) }) From 9bc30649b4c9929e44e0ea3d9b80e20bede8900c Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 09:20:57 -0500 Subject: [PATCH 043/463] wip headers verification --- src/keri/core/authing.ts | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 60b54b01..77589108 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -1,14 +1,10 @@ import {Signer} from "./signer"; import {Verfer} from "./verfer"; import {desiginput, normalize, siginput} from "./httping"; -import {b} from "./core"; -import {parseDictionary} from "structured-headers"; -import {Signage, signature} from "../end/ending"; +import {Signage, signature, designature} from "../end/ending"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; - -import Base64 from "urlsafe-base64" - +import {b} from "./core"; export class Authenticater { static DefaultFields = [ @@ -34,14 +30,11 @@ export class Authenticater { if (signature == null) { return false } - let inputs = desiginput(siginput) inputs = inputs.filter((input) => input.name == "signify") - if (inputs.length == 0) { return false } - inputs.forEach((input) => { let items = new Array() input.fields!.forEach((field: string) => { @@ -58,11 +51,12 @@ export class Authenticater { } } }) - + items.push(`signify-resource: ${input.keyid}`) + let created = new Date(input.created * 1000).toISOString() + items.push(`signify-timestamp: ${created}`) let values = new Array() values.push(`(${input.fields!.join(" ")})`) values.push(`created=${input.created}`) - if (input.expires != undefined) { values.push(`expires=${input.expires}`) } @@ -78,22 +72,13 @@ export class Authenticater { if (input.alg != undefined) { values.push(`alg=${input.alg}`) } - let params = values.join(";") - items.push(`"@signature-params: ${params}"`) let ser = b(items.join("\n")) - - let signage = parseDictionary(signature!) - if (!signage.has("indexed")) { - throw new Error(`invalid signate ${signage}`) - } - - let item = signage.get("indexed")! - let raw = Base64.decode(item[1].get(input.name) as string) - - if (!this._verfer.verify(raw, ser)) { - throw new Error(`Signature for {inputage} invalid.`) + let signage = designature(signature!) + let cig = signage[0].markers.get(input.name) + if (!this._verfer.verify(cig.raw, ser)) { + throw new Error(`Signature for ${input.keyid} invalid.`) } }) From 5db4ab1ae4c3d0bed755d157133cf19d0e4d1312 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 10:14:11 -0500 Subject: [PATCH 044/463] auth headers verification works --- src/keri/app/signify.ts | 29 ++++++++++++++--------------- src/keri/core/authing.ts | 6 +----- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 2351a098..3920a3a5 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -136,22 +136,21 @@ export class SignifyClient { //BEGIN Verification - // if (res.status == 200) { - // console.log(res) - // } - // else { - // throw Error('response status not 200') - // } - // let verification = this.authn.verify(res.headers, res.body, "GET", path) - // if (verification) { - // return res - // } - // else { - // throw Error('response verification failed') - // } - //END Verification - return res + if (res.status !== 200) { + throw new Error('Response status is not 200'); + } + + const isSameAgent = this.agent.pre === res.headers.get('signify-resource'); + if (!isSameAgent) { + throw new Error('Message from a different remote agent'); + } + const verification = this.authn.verify(res.headers, 'GET', path); + if (verification) { + return res; + } else { + throw new Error('Response verification failed'); + } } identifiers() { diff --git a/src/keri/core/authing.ts b/src/keri/core/authing.ts index 77589108..18c0dc02 100644 --- a/src/keri/core/authing.ts +++ b/src/keri/core/authing.ts @@ -4,7 +4,6 @@ import {desiginput, normalize, siginput} from "./httping"; import {Signage, signature, designature} from "../end/ending"; import {Cigar} from "./cigar"; import {Siger} from "./siger"; -import {b} from "./core"; export class Authenticater { static DefaultFields = [ @@ -51,9 +50,6 @@ export class Authenticater { } } }) - items.push(`signify-resource: ${input.keyid}`) - let created = new Date(input.created * 1000).toISOString() - items.push(`signify-timestamp: ${created}`) let values = new Array() values.push(`(${input.fields!.join(" ")})`) values.push(`created=${input.created}`) @@ -74,7 +70,7 @@ export class Authenticater { } let params = values.join(";") items.push(`"@signature-params: ${params}"`) - let ser = b(items.join("\n")) + let ser = items.join("\n") let signage = designature(signature!) let cig = signage[0].markers.get(input.name) if (!this._verfer.verify(cig.raw, ser)) { From aec9e9e8d08ba9c1d5a46c724bf0f537743236be Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 10:41:22 -0500 Subject: [PATCH 045/463] match python timestamp format --- src/keri/app/signify.ts | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3920a3a5..3de6b129 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -99,23 +99,9 @@ export class SignifyClient { async fetch(path: string, method: string, data: any) { //BEGIN Headers let headers = new Headers() - // let _h = [{ "accept": "*/*"}, - // { "accept-language": "en-US},en"}, - // { "sec-fetch-dest": "empty"}, - // { "sec-fetch-mode": "no-cors"}, - // { "sec-fetch-site": "same-site"}, - // { "sec-gpc": "1"}, - // { "Referer": "http://localhost:5173/"}, - // { "Referrer-Policy": "strict-origin-when-cross-origin"}] - // _h.forEach(h => { - // let [k, v] = Object.entries(h)[0] - // headers.set(k, v??"") - // }) - headers.set('Signify-Resource', this.controller.pre) - headers.set('Signify-Timestamp', new Date().toISOString()) - //Access-Control-Allow-Origin: https://localhost:3000 - // headers.set('Access-Control-Allow-Origin', '*') + headers.set('Signify-Timestamp', new Date().toISOString().replace('Z','000+00:00')) + if (data !== null) { headers.set('Content-Length', data.length) } @@ -124,17 +110,12 @@ export class SignifyClient { } let signed_headers = this.authn.sign(headers, method, path) //END Headers - //body is empty if method is GET else is data let _body = method == 'GET' ? null : JSON.stringify(data) let res = await fetch(this.url + path, { - // mode: 'no-cors', method: method, body: _body, headers: signed_headers }); - - - //BEGIN Verification if (res.status !== 200) { throw new Error('Response status is not 200'); From 4002e8268687c0c2afe24626f4be5e1cdff51355 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 11:17:25 -0500 Subject: [PATCH 046/463] check agent.anchor is the same as signify-resource --- src/keri/app/signify.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3de6b129..a29c3de5 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -120,8 +120,7 @@ export class SignifyClient { if (res.status !== 200) { throw new Error('Response status is not 200'); } - - const isSameAgent = this.agent.pre === res.headers.get('signify-resource'); + const isSameAgent = this.agent.anchor === res.headers.get('signify-resource'); if (!isSameAgent) { throw new Error('Message from a different remote agent'); } From ae42b9b1f1a9be5c71e6751e836f01453e6e206e Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 22 May 2023 15:26:21 -0300 Subject: [PATCH 047/463] fix authing test --- test/core/authing.test.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/test/core/authing.test.ts b/test/core/authing.test.ts index 4f2a08a7..9652a41b 100644 --- a/test/core/authing.test.ts +++ b/test/core/authing.test.ts @@ -13,23 +13,22 @@ describe('Authenticater.verify', () => { let salt = '0123456789abcdef' let salter = new Salter({raw: b(salt)}) let signer = salter.signer() - let aaid = "DDK2N5_fVCWIEO9d8JLhk7hKrkft6MbtkUhaHQsmABHY" + let aaid = "DMZh_y-H5C3cSbZZST-fqnsmdNTReZxIh0t2xSTOJQ8a" let verfer = new Verfer({qb64: aaid}) let headers = new Headers([ - ['Connection', 'close'], - ['Content-Length', '256'], + ['Content-Length', '898'], ['Content-Type', 'application/json'], - ['Signature', ('indexed="?0";signify="bipHos8-XTOzLq0He4tz8mIeZGq4h5WdIndNVCSX2H5eYCqwYOQT7EysiMkgp0HwYBIgmg7wuTQgtJKJ__EBCA=="')], - ['Signature-Input', ('signify=("signify-resource" "@method" "@path" "signify-timestamp");created=1609459200;keyid="EAM6vT0VYoaEWxRTgr24g0nZHmPSUBgs19WB43zEKHnz";alg="ed25519"')], - ['Signify-Resource', 'EWJkQCFvKuyxZi582yJPb0wcwuW3VXmFNuvbQuBpgmIs'], - ['Signify-Timestamp', '2022-09-24T00:05:48.196795+00:00'], + ['Signature', ('indexed="?0";signify="0BDLh8QCytVBx1YMam4Vt8s4b9HAW1dwfE4yU5H_w1V6gUvPBoVGWQlIMdC16T3WFWHDHCbMcuceQzrr6n9OULsK"')], + ['Signature-Input', ('signify=("signify-resource" "@method" "@path" "signify-timestamp");created=1684715820;keyid="EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei";alg="ed25519"')], + ['Signify-Resource', 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei'], + ['Signify-Timestamp', '2023-05-22T00:37:00.248708+00:00'], ]) let authn = new Authenticater(signer, verfer) assert.notEqual(authn, undefined) - assert.equal(authn.verify(new Headers(headers), "POST", "/boot"), true) + assert.equal(authn.verify(new Headers(headers), "GET", "/identifiers/aid1"), true) }) }) From 6babb2f7c90cd13dc34166e2aa9ebebc92b46737 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 22 May 2023 20:03:36 -0300 Subject: [PATCH 048/463] delegation approval unfinished --- src/keri/app/controller.ts | 48 +++++++++++++++++------- src/keri/app/signify.ts | 75 +++++++++++++++++++++++++------------- 2 files changed, 83 insertions(+), 40 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 79c6a534..3a417bf1 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -12,12 +12,14 @@ import { Verfer } from "../core/verfer"; export class Agent { pre: string; anchor: string; - verfer: any | null; + verfer: Verfer | null; + serder: Serder | null; constructor(agent: any) { this.pre = ""; this.anchor = ""; this.verfer = null; + this.serder = null; this.parse(agent); } @@ -25,7 +27,7 @@ export class Agent { // if (kel.length < 1) { // throw new Error("invalid empty KEL"); // } - // let [serder, verfer, diger] = this.event(agent); + let [serder, verfer, ] = this.event(agent); if (serder.ked['et'] !== Ilks.dip) { throw new Error(`invalid inception event type ${serder.ked['et']}`); @@ -52,7 +54,8 @@ export class Agent { // diger = ndiger; // } - this.verfer = verfer; + this.verfer = verfer + this.serder = serder } event(evt: any): [Serder, Verfer, Diger] { @@ -100,9 +103,9 @@ export class Controller { private salter: any; public signer: any; private nsigner: any; - private serder: Serder; + public serder: Serder; - constructor(bran: string, tier: Tier, ridx: number = 0) { + constructor(bran: string, tier: Tier, ridx: number = 0, state: any|null = null) { this.bran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed this.stem = "signify:controller" this.tier = tier @@ -117,16 +120,33 @@ export class Controller { let keys = [this.signer.verfer.qb64] let ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] - this.serder = incept({ - keys: keys, - isith: "1", - nsith: "1", - ndigs: ndigs, - code: MtrDex.Blake3_256, - toad: "0", - wits: [] - }) + if (state == null || state['ee']['s'] == 0){ + this.serder = incept({ + keys: keys, + isith: "1", + nsith: "1", + ndigs: ndigs, + code: MtrDex.Blake3_256, + toad: "0", + wits: [] + }) + } else { + this.serder = new Serder(state['ee']) + } + } + + approveDelegation(agent: Agent) { + console.log(agent.pre) + // TODO implement interact in eventing and seqner + + // seqner = coring.Seqner(sn=agent.sn) + // anchor = dict(i=agent.pre, s=seqner.snh, d=agent.said) + + // self.serder = eventing.interact(pre=self.serder.pre, dig=self.serder.said, sn=self.serder.sn+1, data=[anchor]) + // return self.serder, [self.signer.sign(self.serder.raw, index=0).qb64] + // FAKE SIGNATURE + return ["AAD6nSSSGy_uO41clzL-g3czC8W0Ax-2M87NXA_Iu50ZdEhbekuv2k7dY0fjoO3su3aBRBx4EXryPc8x4uGfbVYG"] } get pre(): string { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index a29c3de5..922c7be1 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,30 +1,30 @@ -import { Controller, Agent } from "./controller"; -import { Tier } from "../core/salter"; -import { Authenticater } from "../core/authing"; +import { Controller, Agent } from "./controller" +import { Tier } from "../core/salter" +import { Authenticater } from "../core/authing" // import {Signage, signature} from "../end/ending"; class State { - agent?: any; - controller?: any; - ridx?: number; - pidx: number; + agent: any | null + controller: any | null + ridx: number + pidx: number constructor() { - this.agent = {} - this.controller = {} + this.agent = null + this.controller = null this.pidx = 0 this.ridx = 0 } } export class SignifyClient { - private _ctrl: Controller - private url: string; - private bran: string; - private pidx: number; - private agent: any; - public authn: any; - public session: any; + private controller: Controller + private url: string + private bran: string + private pidx: number + private agent: Agent | null + public authn: any + public session: any constructor(url: string, bran: string) { this.url = url; @@ -33,13 +33,11 @@ export class SignifyClient { } this.bran = bran; this.pidx = 0; - this._ctrl = new Controller(bran, Tier.low) - this.authn = null; + this.controller = new Controller(bran, Tier.low) + this.authn = null + this.agent = null } - get controller() { - return this._ctrl - } get data() { return [this.url, this.bran, this.pidx, this.authn] @@ -85,15 +83,19 @@ export class SignifyClient { let state = await this.state() this.pidx = state.pidx //Create controller representing local auth AID + this.controller = new Controller(this.bran, Tier.low, 0, state.controller) this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 // Create agent representing the AID of the cloud agent this.agent = new Agent(state.agent) - - if (this.agent.anchor != this.controller?.pre) { + if (this.agent.anchor != this.controller.pre) { throw Error("commitment to controller AID missing in agent inception event") } - this.authn = new Authenticater(this.controller.signer, this.agent.verfer) - // this.session.auth = new SignifyAuth(this.authn) + + if (this.controller.serder.ked.s == 0 ) { + await this.approveDelegation() + } + + this.authn = new Authenticater(this.controller.signer, this.agent.verfer!) } async fetch(path: string, method: string, data: any) { @@ -120,7 +122,7 @@ export class SignifyClient { if (res.status !== 200) { throw new Error('Response status is not 200'); } - const isSameAgent = this.agent.anchor === res.headers.get('signify-resource'); + const isSameAgent = this.agent?.pre === res.headers.get('signify-resource'); if (!isSameAgent) { throw new Error('Message from a different remote agent'); } @@ -133,6 +135,27 @@ export class SignifyClient { } } + async approveDelegation(){ + // { + // "ixn": {"v": "KERI10JSON00013a_", "t": "ixn", "d": "EA4YpgJavlrjDRIE5UdkM44wiGTcCTfsTayrAViCDV4s", "i": "ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose", "s": "1", "p": "ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose", "a": [{"i": "EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei", "s": "0", "d": "EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei"}]}, + // "sigs": ["AAD6nSSSGy_uO41clzL-g3czC8W0Ax-2M87NXA_Iu50ZdEhbekuv2k7dY0fjoO3su3aBRBx4EXryPc8x4uGfbVYG"] + // } + let sigs = this.controller.approveDelegation(this.agent!) + + let data = { + ixn: this.controller.serder.ked, + sigs: sigs + } + + await fetch(this.url + "/agent/"+ this.controller.pre+"?type=ixn", { + method: "PUT", + body: JSON.stringify(data), + headers: { + "Content-Type": "application/json" + } + }) + } + identifiers() { return new Identifier(this) } From 513b8ff0eaf3a49003aec07ecb63ed13911ff18d Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 19:21:44 -0500 Subject: [PATCH 049/463] rotation first pass --- src/keri/app/controller.ts | 145 +++++++++++++++++++++-- src/keri/app/signify.ts | 22 ++++ src/keri/core/eventing.ts | 235 +++++++++++++++++++++++++++++++++---- 3 files changed, 371 insertions(+), 31 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 3a417bf1..0a05b6bc 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -1,13 +1,16 @@ import { SaltyCreator } from "../core/manager"; import { Salter, Tier } from "../core/salter"; -import { MtrDex } from "../core/matter"; +import { Matter, MtrDex } from "../core/matter"; import { Diger } from "../core/diger"; -import { incept } from "../core/eventing"; +import { incept, rotate } from "../core/eventing"; import { Serder } from "../core/serder"; // import { Siger } from "../core/siger"; import { Tholder } from "../core/tholder"; -import { Ilks } from "../core/core"; +import { Ilks, b } from "../core/core"; import { Verfer } from "../core/verfer"; +import { Encrypter } from "../core/encrypter"; +import { Decrypter } from "../core/decrypter"; +import { Cipher } from "../core/cipher"; export class Agent { pre: string; @@ -27,8 +30,8 @@ export class Agent { // if (kel.length < 1) { // throw new Error("invalid empty KEL"); // } - let [serder, verfer, ] = this.event(agent); + if (serder.ked['et'] !== Ilks.dip) { throw new Error(`invalid inception event type ${serder.ked['et']}`); } @@ -104,6 +107,8 @@ export class Controller { public signer: any; private nsigner: any; public serder: Serder; + private keys: string[]; + public ndigs: string[]; constructor(bran: string, tier: Tier, ridx: number = 0, state: any|null = null) { this.bran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed @@ -117,15 +122,15 @@ export class Controller { this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx, 0, false).signers.pop() this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() - let keys = [this.signer.verfer.qb64] - let ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] + this.keys = [this.signer.verfer.qb64] + this.ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] if (state == null || state['ee']['s'] == 0){ this.serder = incept({ - keys: keys, + keys: this.keys, isith: "1", nsith: "1", - ndigs: ndigs, + ndigs: this.ndigs, code: MtrDex.Blake3_256, toad: "0", wits: [] @@ -134,7 +139,6 @@ export class Controller { this.serder = new Serder(state['ee']) } } - approveDelegation(agent: Agent) { console.log(agent.pre) // TODO implement interact in eventing and seqner @@ -161,4 +165,127 @@ export class Controller { get verfers(): [] { return this.signer.verfer() } + + derive(state: any) { + if (state != undefined && state['ee']['s'] === '0') { + return incept({ + keys: this.keys, + isith: "1", + nsith: "1", + ndigs: this.ndigs, + code: MtrDex.Blake3_256, + toad: "0", + wits: [] + }) + } + else { + return new Serder({ ked: state.controller['ee'] }) + } + } + + rotate(bran: string, aids: Array) { + let nbran = MtrDex.Salt_128 + 'A' + bran.substring(21) // qb64 salt for seed + let nsalter = new Salter({ qb64: nbran }) + let nsigner = this.salter.signer({ transferable: false }) + + let creator = new SaltyCreator(this.salter.qb64, this.tier, this.stem) + let signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() + + let ncreator = new SaltyCreator(nsalter.qb64, this.tier, this.stem) + this.signer = ncreator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx, 0, false).signers.pop() + this.nsigner = ncreator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() + + this.keys = [this.signer.verfer.qb64, signer?.verfer.qb64] + this.ndigs = [new Diger({ qb64: this.nsigner.verfer.qb64b }).qb64] + + let rot = rotate( + { + pre: this.pre, + keys: this.keys, + dig: this.serder.ked['d'], + isith: ["1", "0"], + nsith: "1", + ndigs: this.ndigs + }) + + let sigs = [signer?.sign(b(rot.raw), 1, false, 0).qb64, this.signer.sign(rot.raw, 0).qb64] + + let encrypter = new Encrypter({ qb64: nsigner.verfer.qb64 }) + let decrypter = new Decrypter({ qb64: nsigner.qb64 }) + + let sxlt = encrypter.encrypt(b(this.bran)).qb64 + + + let keys : Record = {} + + for (let aid of aids) { + let pre: string = aid["prefix"] as string + if ("salty" in aid) { + let salty: any = aid["salty"] + let cipher = new Cipher({ qb64: salty["sxlt"] }) + let dnxt = decrypter.decrypt(null, cipher).qb64 + + // Now we have the AID salt, use it to verify against the current public keys + let acreator = new SaltyCreator(dnxt, salty["stem"], salty["tier"]) + let signers = acreator.create(salty["icodes"], salty["pidx"], salty["kidx"], salty["transferable"]) + let pubs = aid["state"]["k"] + + if (pubs != signers.signers.forEach((signer) => { return signer.verfer.qb64 })) { + throw new Error(`unable to rotate, validation of salt to public keys ${pubs} failed`) + } + + let asxlt = encrypter.encrypt(b(dnxt)).qb64 + keys[pre] = { + sxlt: asxlt + } + } + else if ("randy" in aid) { + let randy = aid["randy"] + let prxs = randy["prxs"] + let nxts = randy["nxts"] + + let nprxs = [] + let signers = [] + for (let prx of prxs) { + let cipher = new Cipher({ qb64: prx }) + let dsigner = decrypter.decrypt(null,cipher,true) + signers.push(dsigner) + nprxs.push(encrypter.encrypt(b(dsigner.qb64)).qb64) + } + let pubs = aid["state"]["k"] + if (pubs != signers.forEach((signer) => { return signer.verfer.qb64 })) { + throw new Error(`unable to rotate, validation of encrypted public keys ${pubs} failed`) + } + + let nnxts = [] + for (let nxt of nxts) { + nnxts.push(this.recrypt(nxt, decrypter, encrypter)) + } + + keys[pre] = { + prxs: nprxs, + nxts: nnxts + } + } + else { + throw new Error("invalid aid type ") + } + + } + + let data = { + rot: rot.ked, + sigs: sigs, + sxlt: sxlt, + keys: keys + } + return data + } + + recrypt(enc: string, decrypter: Decrypter, encrypter: Encrypter) { + let cipher = new Cipher({ qb64: enc }) + let dnxt = decrypter.decrypt(null, cipher).qb64 + return encrypter.encrypt(b(dnxt)).qb64 + } + } \ No newline at end of file diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 922c7be1..2aafd357 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -156,6 +156,28 @@ export class SignifyClient { }) } + async rotate(new_bran : string, aids: any[]){ + let data = this.controller.rotate(new_bran, aids) + let caid = this.controller?.pre; + let resp = await this.fetch(`/agent/${caid}`, 'PUT', data) + return resp.status == 204 + } + + async _save_old_salt(salt: string){ + let caid = this.controller?.pre; + let data = { + salt: salt + } + let resp = await this.fetch(`/agent/${caid}/salt`, 'PUT', data) + return resp.status == 204 + } + + async _delete_old_salt(salt: string){ + let caid = this.controller?.pre; + let resp = await this.fetch(`/agent/${caid}/salt`, 'DELETE', null) + return resp.status == 204 + } + identifiers() { return new Identifier(this) } diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index 17283872..6fe21234 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -1,13 +1,203 @@ -import {b, concat, Dict, Ident, Ilks, Serials, versify, Version, Versionage} from "./core"; -import {Tholder} from "./tholder"; -import {PNumber} from "./number"; -import {Prefixer} from "./prefixer"; -import {Serder} from "./serder"; -import {MtrDex, NonTransDex} from "./matter"; -import {Saider} from "./saider"; -import {Siger} from "./siger"; -import {Cigar} from "./cigar"; -import {Counter, CtrDex} from "./counter"; +import { b, concat, Dict, Ident, Ilks, Serials, versify, Version, Versionage } from "./core"; +import { Tholder } from "./tholder"; +import { PNumber } from "./number"; +import { Prefixer } from "./prefixer"; +import { Serder } from "./serder"; +import { MtrDex, NonTransDex } from "./matter"; +import { Saider } from "./saider"; +import { Siger } from "./siger"; +import { Cigar } from "./cigar"; +import { Counter, CtrDex } from "./counter"; + +let MaxIntThold = 2 ** 32 - 1 + +export interface RotateArgs { + pre?: string + keys: Array, + dig?: string, + ilk?: string, + sn?: number, + isith?: number | string | Array, + ndigs?: Array, + nsith?: number | string | Array, + toad?: number, + wits?: Array, + cuts?: Array, + adds?: Array, + cnfg?: Array, + data?: Array, + version?: Version, + kind?: Serials, + size?: number, + intive?: boolean +} + +export function rotate({ + pre = undefined, + keys, + dig = undefined, + ilk = Ilks.rot, + sn = undefined, + isith = undefined, + ndigs = undefined, + nsith = undefined, + wits = undefined, + cuts = undefined, + adds = undefined, + toad = undefined, + data = undefined, + version = undefined, + kind = undefined, + size, + intive = true }: RotateArgs) { + let vs = versify(Ident.KERI, version, kind, size) + + let _ilk = ilk + if (_ilk != Ilks.rot && _ilk != Ilks.drt) { + throw new Error(`Invalid ilk = ${ilk} for rot or drt.`) + } + + let sner = Number(sn) + if (sner < 1) { + throw new Error(`Invalid sn = 0x${sner.toString()} for rot or drt.`) + } + let _isit: number + + if (isith == undefined) { + _isit = Math.max(1, Math.ceil(keys.length / 2)) + } + else { + _isit = isith as number + } + + let tholder = new Tholder(_isit) + if (tholder.num != undefined && tholder.num < 1) { + throw new Error(`Invalid sith = ${tholder.num} less than 1.`) + } + if (tholder.size > keys.length) { + throw new Error(`Invalid sith = ${tholder.num} for keys = ${keys}`) + } + + let _ndigs: Array + + if (ndigs === undefined) { + _ndigs = [] + } + else { + _ndigs = ndigs + } + + let _nsith + if (nsith === undefined) { + _nsith = Math.max(1, Math.ceil(_ndigs.length / 2)) + } + else { + _nsith = nsith + } + + let ntholder = new Tholder(_nsith) + if (ntholder.num != undefined && ntholder.num < 1) { + throw new Error(`Invalid sith = ${ntholder.num} less than 1.`) + } + if (ntholder.size > _ndigs.length) { + throw new Error(`Invalid sith = ${ntholder.num} for ndigs = ${ndigs}`) + } + + let _wits: Array + if (wits === undefined) { + _wits = [] + } + else { + _wits = wits + } + let witset = new Set(_wits) + if (witset.size != _wits.length) { + throw new Error(`Invalid wits = ${wits}, has duplicates.`) + } + + let _cuts: Array + if (cuts === undefined) { + _cuts = [] + } + else { + _cuts = cuts + } + let cutset = new Set(_cuts) + if (cutset.size != _cuts.length) { + throw new Error(`Invalid cuts = ${cuts}, has duplicates.`) + } + + let _adds: Array + if (adds === undefined) { + _adds = [] + } + else { + _adds = adds + } + let addset = new Set(_adds) + + //non empty intersection of witset and addset + let witaddset = new Set([...witset].filter(x => addset.has(x))) + if (witaddset.size > 0) { + throw new Error(`Invalid member combination among wits = ${wits}, and adds = ${adds}.`) + } + + // non empty intersection of cutset and addset + let cutaddset = new Set([...cutset].filter(x => addset.has(x))) + if (cutaddset.size > 0) { + throw new Error(`Invalid member combination among cuts = ${cuts}, and adds = ${adds}.`) + } + + let newitset = new Set([...witset].filter(x => cutset.has(x)).concat([...addset])) + + if (newitset.size != (witset.size - cutset.size + addset.size)) { + throw new Error(`Invalid member combination among wits = ${wits}, cuts = ${cuts}, and adds = ${adds}.`) + } + + let _toad: number + + if (toad === undefined) { + if (newitset.size == 0) { + _toad = 0 + } + else { + _toad = ample(newitset.size) + } + } + else { + _toad = toad + } + + if (newitset.size > 0) { + if (_toad < 1 || _toad > newitset.size) { + throw new Error(`Invalid toad = ${_toad} for wit = ${wits}`) + } + } + else { + if (_toad != 0) { + throw new Error(`Invalid toad = ${_toad} for wit = ${wits}`) + } + } + + let _ked = { + v: vs, + t: _ilk, + d: "", + i: pre, + s: sner.toString(16), + p: dig, + kt: tholder.num && intive && tholder.num !== undefined && tholder.num <= MaxIntThold ? tholder.num : tholder.sith, + k: keys, + nkt: ntholder.num && intive && ntholder.num !== undefined && ntholder.num <= MaxIntThold ? ntholder.num : ntholder.sith, + nk: _ndigs, + bt: _toad && intive && _toad !== undefined && _toad <= MaxIntThold ? _toad : _toad.toString(16), + br: cuts, + ba: adds, + a: data ? data !== undefined : [] + } + let _, ked = Saider.saidify(_ked) + return new Serder({ ked: ked }) +} function ample(n: number, f?: number, weak = true) { @@ -53,8 +243,8 @@ export interface InceptArgs { delpre?: string } -export function incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, version=Versionage, kind=Serials.JSON, code, - intive = false, delpre}: InceptArgs) { +export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, version = Versionage, kind = Serials.JSON, code, + intive = false, delpre }: InceptArgs) { let vs = versify(Ident.KERI, version, kind, 0) @@ -124,7 +314,7 @@ export function incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, versi s: sner.numh, kt: (intive && tholder.num != undefined) ? tholder.num : tholder.sith, k: keys, - nt: (intive && tholder.num != undefined) ? ntholder.num: ntholder.sith, + nt: (intive && tholder.num != undefined) ? ntholder.num : ntholder.sith, n: ndigs, bt: intive ? toader.num : toader.numh, b: wits, @@ -141,14 +331,14 @@ export function incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, versi let prefixer if (delpre == undefined && code == undefined && keys.length == 1) { - prefixer = new Prefixer({qb64: keys[0]}) + prefixer = new Prefixer({ qb64: keys[0] }) if (prefixer.digestive) { throw new Error(`Invalid code, digestive=${prefixer.code}, must be derived from ked.`) } } else { - prefixer = new Prefixer({code: code}, ked) + prefixer = new Prefixer({ code: code }, ked) if (delpre != undefined) { - if(!prefixer.digestive) { + if (!prefixer.digestive) { throw new Error(`Invalid derivation code = ${prefixer.code} for delegation. Must be digestive`) } } @@ -165,8 +355,9 @@ export function incept({keys, isith, ndigs, nsith, toad, wits, cnfg, data, versi return new Serder(ked) } -export function messagize(serder: Serder, sigers?: Array, seal?: any, wigers?:Array, cigars?:Array, - pipelined:boolean = false): Uint8Array { + +export function messagize(serder: Serder, sigers?: Array, seal?: any, wigers?: Array, cigars?: Array, + pipelined: boolean = false): Uint8Array { let msg = new Uint8Array(b(serder.raw)) let atc = new Uint8Array() @@ -179,14 +370,14 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig throw new Error(`Index sig group seals not yet supported`) } - atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: sigers.length}).qb64b) + atc = concat(atc, new Counter({ code: CtrDex.ControllerIdxSigs, count: sigers.length }).qb64b) sigers.forEach((siger) => { atc = concat(atc, siger.qb64b) }) } if (wigers != undefined) { - atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: wigers.length}).qb64b) + atc = concat(atc, new Counter({ code: CtrDex.ControllerIdxSigs, count: wigers.length }).qb64b) wigers.forEach((wiger) => { if (wiger.verfer && !(wiger.verfer.code in NonTransDex)) { @@ -197,7 +388,7 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig } if (cigars != undefined) { - atc = concat(atc, new Counter({code: CtrDex.ControllerIdxSigs, count: cigars.length}).qb64b) + atc = concat(atc, new Counter({ code: CtrDex.ControllerIdxSigs, count: cigars.length }).qb64b) cigars.forEach((cigar) => { if (cigar.verfer && !(cigar.verfer.code in NonTransDex)) { @@ -211,7 +402,7 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig if (atc.length % 4 != 0) { throw new Error(`Invalid attachments size=${atc.length}, nonintegral quadlets.`) } - msg = concat(msg, new Counter({code: CtrDex.AttachedMaterialQuadlets, count: (Math.floor(atc.length / 4))}).qb64b) + msg = concat(msg, new Counter({ code: CtrDex.AttachedMaterialQuadlets, count: (Math.floor(atc.length / 4)) }).qb64b) } msg = concat(msg, atc) From 4892c7be7a2387e45446901a51ff56ca7b730dee Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 22 May 2023 19:35:02 -0500 Subject: [PATCH 050/463] fix imports --- src/keri/app/controller.ts | 2 +- src/keri/app/signify.ts | 2 +- src/keri/core/eventing.ts | 4 +--- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 0a05b6bc..f3ea29ab 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -1,6 +1,6 @@ import { SaltyCreator } from "../core/manager"; import { Salter, Tier } from "../core/salter"; -import { Matter, MtrDex } from "../core/matter"; +import { MtrDex } from "../core/matter"; import { Diger } from "../core/diger"; import { incept, rotate } from "../core/eventing"; import { Serder } from "../core/serder"; diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 2aafd357..019bb5dc 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -172,7 +172,7 @@ export class SignifyClient { return resp.status == 204 } - async _delete_old_salt(salt: string){ + async _delete_old_salt(){ let caid = this.controller?.pre; let resp = await this.fetch(`/agent/${caid}/salt`, 'DELETE', null) return resp.status == 204 diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index 6fe21234..1065a054 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -195,11 +195,10 @@ export function rotate({ ba: adds, a: data ? data !== undefined : [] } - let _, ked = Saider.saidify(_ked) + let[ , ked] = Saider.saidify(_ked) return new Serder({ ked: ked }) } - function ample(n: number, f?: number, weak = true) { n = Math.max(0, n) // no negatives let f1 @@ -355,7 +354,6 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers return new Serder(ked) } - export function messagize(serder: Serder, sigers?: Array, seal?: any, wigers?: Array, cigars?: Array, pipelined: boolean = false): Uint8Array { let msg = new Uint8Array(b(serder.raw)) From 0ab9456f68ebe5b84d5fcdee58fcacf89f0fae12 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 24 May 2023 23:00:13 -0300 Subject: [PATCH 051/463] incept salty --- examples/signify-react-ts/src/App.tsx | 3 - examples/signify-react-ts/src/Signify.tsx | 34 ++++- src/keri/app/controller.ts | 2 +- src/keri/app/signify.ts | 152 ++++++++++--------- src/keri/core/keeping.ts | 173 +++++++++++++++++++++- src/keri/core/manager.ts | 29 ++-- 6 files changed, 298 insertions(+), 95 deletions(-) diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx index 4caf86c8..5ad3a5bc 100644 --- a/examples/signify-react-ts/src/App.tsx +++ b/examples/signify-react-ts/src/App.tsx @@ -29,9 +29,6 @@ function App() { return ( <> -

- Click on the Vite and React logos to learn more -

) } diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 2c40f78b..137607c5 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -60,8 +60,8 @@ export function Signify() { console.log(e) await client.boot() } - let res = await client.state() - let resp = JSON.stringify(res, null, 2) + const res = await client.state() + const resp = JSON.stringify(res, null, 2) return resp }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + setPre(client.controller.pre) + try{ + await client.connect() + } + catch(e){ + console.log('error connecting', e) + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + } + const identifiers = client.identifiers() + const resp = await identifiers.create('aid'+generateRandomKey().slice(1,3), true, "1", "1", [], "1", "", undefined, "E", [], "salty", undefined) + return JSON.stringify(resp, null, 2) + } + catch (e) { + console.log(e) + return 'Error creating identifiers' + } + }} /> ) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index f3ea29ab..b3dafa91 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -103,7 +103,7 @@ export class Controller { public stem: string; public tier: Tier; public ridx: number; - private salter: any; + public salter: any; public signer: any; private nsigner: any; public serder: Serder; diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 019bb5dc..c25d3e36 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,7 +1,10 @@ import { Controller, Agent } from "./controller" import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" -// import {Signage, signature} from "../end/ending"; +import { Manager } from "../core/keeping" +import { Algos } from '../core/manager'; +import { incept } from "../core/eventing" +import { b, Serials, Versionage } from "../core/core"; class State { agent: any | null @@ -18,24 +21,28 @@ class State { } export class SignifyClient { - private controller: Controller - private url: string - private bran: string - private pidx: number - private agent: Agent | null + public controller: Controller + public url: string + public bran: string + public pidx: number + public agent: Agent | null public authn: any public session: any + public manager: Manager | null + public tier: Tier - constructor(url: string, bran: string) { + constructor(url: string, bran: string, tier: Tier = Tier.low) { this.url = url; if (bran.length < 21) { throw Error("bran must be 21 characters") } this.bran = bran; this.pidx = 0; - this.controller = new Controller(bran, Tier.low) + this.controller = new Controller(bran, tier) this.authn = null this.agent = null + this.manager = null + this.tier = tier } @@ -83,7 +90,7 @@ export class SignifyClient { let state = await this.state() this.pidx = state.pidx //Create controller representing local auth AID - this.controller = new Controller(this.bran, Tier.low, 0, state.controller) + this.controller = new Controller(this.bran, this.tier, 0, state.controller) this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 // Create agent representing the AID of the cloud agent this.agent = new Agent(state.agent) @@ -94,7 +101,7 @@ export class SignifyClient { if (this.controller.serder.ked.s == 0 ) { await this.approveDelegation() } - + this.manager = new Manager(this.controller.salter, null) this.authn = new Authenticater(this.controller.signer, this.agent.verfer!) } @@ -103,6 +110,7 @@ export class SignifyClient { let headers = new Headers() headers.set('Signify-Resource', this.controller.pre) headers.set('Signify-Timestamp', new Date().toISOString().replace('Z','000+00:00')) + headers.set('Content-Type', 'application/json') if (data !== null) { headers.set('Content-Length', data.length) @@ -127,7 +135,7 @@ export class SignifyClient { throw new Error('Message from a different remote agent'); } - const verification = this.authn.verify(res.headers, 'GET', path); + const verification = this.authn.verify(res.headers, method, path); if (verification) { return res; } else { @@ -156,28 +164,6 @@ export class SignifyClient { }) } - async rotate(new_bran : string, aids: any[]){ - let data = this.controller.rotate(new_bran, aids) - let caid = this.controller?.pre; - let resp = await this.fetch(`/agent/${caid}`, 'PUT', data) - return resp.status == 204 - } - - async _save_old_salt(salt: string){ - let caid = this.controller?.pre; - let data = { - salt: salt - } - let resp = await this.fetch(`/agent/${caid}/salt`, 'PUT', data) - return resp.status == 204 - } - - async _delete_old_salt(){ - let caid = this.controller?.pre; - let resp = await this.fetch(`/agent/${caid}/salt`, 'DELETE', null) - return resp.status == 204 - } - identifiers() { return new Identifier(this) } @@ -206,44 +192,70 @@ class Identifier { return await res.json() } - // def create(self, name, transferable=True, isith="1", nsith="1", wits=None, toad="0", proxy=None, delpre=None, - // dcode=MtrDex.Blake3_256, data=None, algo=Algos.salty, **kwargs): - - // # Get the algo specific key params - // keeper = self.client.manager.new(algo, self.client.pidx, **kwargs) - - // keys, ndigs = keeper.incept(transferable=transferable) - - // wits = wits if wits is not None else [] - // data = [data] if data is not None else [] - // if delpre is not None: - // serder = eventing.delcept(delpre=delpre, - // keys=keys, - // isith=isith, - // nsith=nsith, - // ndigs=ndigs, - // code=dcode, - // wits=wits, - // toad=toad, - // data=data) - // else: - // serder = eventing.incept(keys=keys, - // isith=isith, - // nsith=nsith, - // ndigs=ndigs, - // code=dcode, - // wits=wits, - // toad=toad, - // data=data) + async create( + name: string, + transferable:boolean, + isith:string, + nsith:string, + wits:string[], + toad:string, + proxy:string, + delpre:string| undefined, + dcode:string, + data:Array, + algo:Algos, + ...kargs:any) { + + let keeper = this.client.manager!.new( algo, this.client.pidx,kargs) + let [keys, ndigs] = keeper!.incept(transferable) + wits = wits !== undefined ? wits : [] + let _data = data !== undefined ? [data] : [] + if (delpre == undefined){ + var serder = incept({ + keys: keys, + isith: isith, + ndigs: ndigs, + nsith: nsith, + toad: toad, + wits: wits, + cnfg: [], + data: _data, + version: Versionage, + kind: Serials.JSON, + code: dcode, + intive: false, + delpre}) + + } else { + var serder = incept({ + keys: keys, + isith: isith, + ndigs: ndigs, + nsith: nsith, + toad: toad, + wits: wits, + cnfg: [], + data: _data, + version: Versionage, + kind: Serials.JSON, + code: dcode, + intive: false, + delpre}) + } - // sigs = keeper.sign(serder.raw) + let sigs = keeper!.sign(b(serder.raw)) + var jsondata = { + name: name, + icp: serder.ked, + sigs: sigs, + proxy: proxy, + salty: keeper.params() + } + // jsondata[algo.toString()] = keeper.params() - // json = dict( - // name=name, - // icp=serder.ked, - // sigs=sigs, - // proxy=proxy) - // json[algo] = keeper.params() + this.client.pidx = this.client.pidx + 1 + let res = await this.client.fetch("/identifiers", "POST", jsondata) + return res.json() // if 'states' in kwargs: // json['smids'] = [state['i'] for state in kwargs['states']] @@ -256,6 +268,6 @@ class Identifier { // res = self.client.post("/identifiers", json=json) // return res.json() - + } } diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index 808f2f01..6327698f 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -1,8 +1,175 @@ +import { Salter } from './salter' +import { Algos, SaltyCreator } from './manager'; +import { MtrDex } from './matter'; +import { Tier } from './salter'; +import { Encrypter } from "../core/encrypter"; +import { Decrypter } from './decrypter'; +import {b} from "./core"; +import { Cipher } from './cipher'; +import { Diger } from './diger'; + export {}; -class Keeper { - constructor() { +export class Manager { + private salter?: Salter + private externalModulees?: any + + constructor(salter: Salter, externalModules: any = null ) { + + this.salter = salter + this.externalModulees = externalModules } + + new(algo: Algos, pidx: number, kargs: any){ + switch (algo) { + case Algos.salty: + return new SaltyKeeper(this.salter!, pidx, kargs) + break + case Algos.randy: + throw new Error('Randy not allowed yet') + case Algos.extern: + throw new Error(`External modules not allowed yet` + this.externalModulees) + break + default: + throw new Error('Unknown algo') + } + } + } -module.exports = { Keeper } \ No newline at end of file +export class SaltyKeeper { + private aeid:string + private encrypter:Encrypter + private decrypter:Decrypter + // private salter: Salter + private pidx:number + private kidx:number + private tier:Tier + private transferable:boolean + private stem:string | undefined + private code:string + private count:number + private icodes:string[] | undefined + private ncode:string + private ncount:number + private ncodes:string[] | undefined + private dcode:string | undefined + private sxlt:string | undefined + private bran:string | undefined + private creator: SaltyCreator + + constructor(salter:Salter, pidx:number, kidx:number=0, tier=Tier.low, transferable=false, stem=undefined, + code=MtrDex.Ed25519_Seed, count=1, icodes:string[]|undefined=undefined, ncode=MtrDex.Ed25519_Seed, + ncount=1, ncodes:string[]|undefined=undefined, dcode=MtrDex.Blake3_256, bran:string|undefined = undefined, sxlt=undefined){ + + // # Salter is the entered passcode and used for enc/dec of salts for each AID + let signer = salter.signer(undefined, transferable=false) + + this.aeid = signer.verfer.qb64 + + this.encrypter = new Encrypter({}, b(this.aeid)) + this.decrypter = new Decrypter({}, signer.qb64b) + + this.code = code + this.ncode = ncode + this.tier = tier + this.icodes = icodes==undefined? new Array(count).fill(code) : icodes + this.ncodes = ncodes==undefined? new Array(ncount).fill(ncode) : ncodes + this.dcode = dcode + this.pidx = pidx + this.kidx = kidx + this.transferable = transferable + this.count = count + this.ncount = ncount + this.stem = stem==undefined? "signify:aid" : stem + + if (bran != undefined) { + this.bran = MtrDex.Salt_128 + 'A' + bran!.slice(0, 21) + this.creator = new SaltyCreator(this.bran, this.tier, this.stem) + this.sxlt = this.encrypter.encrypt(b(this.creator.salt)).qb64 + } else if (this.sxlt == undefined) { + this.creator = new SaltyCreator(undefined, this.tier, this.stem) + this.sxlt = this.encrypter.encrypt(b(this.creator.salt)).qb64 + } else { + this.sxlt = sxlt + let ciph = new Cipher({qb64:this.sxlt}) + this.creator = new SaltyCreator(this.decrypter.decrypt(null, ciph).qb64, tier=tier, this.stem) + } + + } + + params() { + // Get AID parameters to store externally + + return { + sxlt: this.sxlt, + pidx: this.pidx, + kidx: this.kidx, + stem: this.stem, + tier: this.tier, + icodes: this.icodes, + ncodes: this.ncodes, + dcode: this.dcode, + transferable: this.transferable + } + } + + incept(transferable:boolean) { + // Create verfers and digers for inception event for AID represented by this Keeper + + // Args: + // transferable (bool): True if the AID for this keeper can establish new keys + + // Returns: + // verfers(list): qualified base64 of signing public keys + // digers(list): qualified base64 of hash of rotation public keys + + this.transferable = transferable + this.kidx = 0 + + let signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false) + let verfers = signers.signers.map(signer => signer.verfer.qb64); + + let nsigners = this.creator.create(this.ncodes, this.count, this.code, this.transferable, this.pidx, 0, this.icodes?.length,false) + let digers = nsigners.signers.map(nsigner => new Diger({code: this.dcode},nsigner.verfer.qb64b ).qb64); + + return [verfers, digers] + + } + + sign(ser: Uint8Array, indexed=true, indices=null, ondices=null){ + let signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false) + + if (indexed){ + let sigers = [] + let i = 0 + for (const [j, signer] of signers.signers.entries()) { + if (indices!= null){ + i = indices![j] + if (typeof i != "number" || i < 0){ + throw new Error(`Invalid signing index = ${i}, not whole number.`) + } + } else { + i = j + } + let o = 0 + if (ondices!=null){ + o = ondices![j] + if ((o == null || typeof o == "number" && typeof o != "number" && o>=0)!) { + throw new Error(`Invalid ondex = ${o}, not whole number.`) + } + } else { + o = i + } + sigers.push(signer.sign(ser, i, o==null?true:false, o)) + } + return sigers.map(siger => siger.qb64); + } else { + let cigars = [] + for (const [_, signer] of signers.signers.entries()) { + cigars.push(signer.sign(ser)) + } + return cigars.map(cigar => cigar.qb64); + } + } +} \ No newline at end of file diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index f3661dcf..96d1def8 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -12,7 +12,8 @@ import {b} from "./core"; export enum Algos { randy = "randy", - salty = "salty" + salty = "salty", + extern = "extern" } class PubLot { @@ -195,15 +196,16 @@ export function openManager(passcode: string, salt?: string) { let aeid = signer.verfer.qb64 // lest it remove encryption let algo; - + + let salter = salt!=undefined?new Salter({qb64: salt}):undefined if (salt != undefined) { algo = Algos.salty - salt = new Salter({qb64: salt}).qb64 + } else { algo = Algos.randy } - return new Manager({seed: seed, aeid: aeid, algo: algo, salt: salt}) + return new Manager({seed: seed, aeid: aeid, algo: algo, salter: salter}) } export interface ManagerArgs { @@ -212,7 +214,7 @@ export interface ManagerArgs { aeid?: string | undefined pidx?: number | undefined algo?: Algos | undefined - salt?: string | undefined + salter?: Salter | undefined tier?: string | undefined } @@ -260,7 +262,7 @@ export class Manager { private _decrypter: Decrypter | undefined private readonly _ks: KeyStore - constructor({ks, seed, aeid, pidx, algo, salt, tier}: ManagerArgs) { + constructor({ks, seed, aeid, pidx, algo, salter, tier}: ManagerArgs) { this._ks = ks == undefined ? new Keeper() : ks this._seed = seed @@ -271,13 +273,14 @@ export class Manager { pidx = pidx == undefined ? 0 : pidx algo = algo == undefined ? Algos.salty : algo - if (salt == undefined) { - salt = new Salter({}).qb64 - } else { - if (new Salter({qb64: salt}).qb64 != salt) { - throw new Error(`Invalid qb64 for salt=${salt}.`) - } - } + // if (salt == undefined) { + // salt = new Salter({}).qb64 + // } else { + // if (new Salter({qb64: salt}).qb64 != salt) { + // throw new Error(`Invalid qb64 for salt=${salt}.`) + // } + // } + let salt = salter?.qb64 tier = tier == undefined ? Tier.low : tier From 5961ae2b779c710bf4406958f1bd83f758f4bd7b Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Fri, 26 May 2023 12:17:38 -0300 Subject: [PATCH 052/463] add rotation --- examples/signify-react-ts/src/Signify.tsx | 52 +++++- src/keri/app/controller.ts | 3 +- src/keri/app/habery.ts | 5 +- src/keri/app/signify.ts | 196 ++++++++++++++++++---- src/keri/core/eventing.ts | 12 +- src/keri/core/keeping.ts | 52 +++++- test/core/manager.test.ts | 4 +- 7 files changed, 271 insertions(+), 53 deletions(-) diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 137607c5..9c80b613 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -104,7 +104,57 @@ export function Signify() { console.log('booted and connected up') } const identifiers = client.identifiers() - const resp = await identifiers.create('aid'+generateRandomKey().slice(1,3), true, "1", "1", [], "1", "", undefined, "E", [], "salty", undefined) + const resp = await identifiers.create('aid_'+generateRandomKey().slice(1,3),{}) + return JSON.stringify(resp, null, 2) + } + catch (e) { + console.log(e) + return 'Error creating identifiers' + } + }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + setPre(client.controller.pre) + try{ + await client.connect() + } + catch(e){ + console.log('error connecting', e) + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + } + const identifiers = client.identifiers() + const aids = await identifiers.list_identifiers() + const resp = await identifiers.rotate(aids[0]["name"],{}) + return JSON.stringify(resp, null, 2) + } + catch (e) { + console.log(e) + return 'Error creating identifiers' + } + }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + setPre(client.controller.pre) + try{ + await client.connect() + } + catch(e){ + console.log('error connecting', e) + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + } + const identifiers = client.identifiers() + const aids = await identifiers.list_identifiers() + const resp = await identifiers.get_identifier(aids[0]["name"]) return JSON.stringify(resp, null, 2) } catch (e) { diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index b3dafa91..353ced0e 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -139,8 +139,7 @@ export class Controller { this.serder = new Serder(state['ee']) } } - approveDelegation(agent: Agent) { - console.log(agent.pre) + approveDelegation(_agent: Agent) { // TODO implement interact in eventing and seqner // seqner = coring.Seqner(sn=agent.sn) diff --git a/src/keri/app/habery.ts b/src/keri/app/habery.ts index 041b3077..8afa1b60 100644 --- a/src/keri/app/habery.ts +++ b/src/keri/app/habery.ts @@ -75,15 +75,14 @@ export class Habery { } } let algo; - + let salter = salt != undefined ? new Salter({qb64: salt}) : undefined if (salt != undefined) { algo = Algos.salty - salt = new Salter({qb64: salt}).qb64 } else { algo = Algos.randy } - this._mgr = new Manager({seed: seed, aeid: aeid, pidx: pidx, algo: algo, salt: salt}) + this._mgr = new Manager({seed: seed, aeid: aeid, pidx: pidx, algo: algo, salter: salter}) } get mgr(): Manager { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index c25d3e36..a039f5e0 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -1,10 +1,12 @@ import { Controller, Agent } from "./controller" import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" -import { Manager } from "../core/keeping" +import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept } from "../core/eventing" +import { incept, rotate } from "../core/eventing" import { b, Serials, Versionage } from "../core/core"; +import { Tholder } from "../core/tholder"; +import { MtrDex } from "../core/matter"; class State { agent: any | null @@ -28,7 +30,7 @@ export class SignifyClient { public agent: Agent | null public authn: any public session: any - public manager: Manager | null + public manager: KeyManager | null public tier: Tier constructor(url: string, bran: string, tier: Tier = Tier.low) { @@ -101,7 +103,7 @@ export class SignifyClient { if (this.controller.serder.ked.s == 0 ) { await this.approveDelegation() } - this.manager = new Manager(this.controller.salter, null) + this.manager = new KeyManager(this.controller.salter, null) this.authn = new Authenticater(this.controller.signer, this.agent.verfer!) } @@ -187,29 +189,59 @@ class Identifier { let path = `/identifiers/${name}` let data = null let method = 'GET' - console.log('this.client', this.client) let res = await this.client.fetch(path, method, data) return await res.json() } - async create( - name: string, - transferable:boolean, - isith:string, - nsith:string, - wits:string[], - toad:string, - proxy:string, - delpre:string| undefined, - dcode:string, - data:Array, - algo:Algos, - ...kargs:any) { - - let keeper = this.client.manager!.new( algo, this.client.pidx,kargs) + async create(name: string, + kargs:{ + transferable:boolean, + isith:string, + nsith:string, + wits:string[], + toad:string, + proxy:string, + delpre:string, + dcode:string, + data:any, + algo:Algos, + pre:string, + states:any[], + rstates:any[]}) { + + let algo = kargs["algo"] ?? Algos.salty + let transferable = kargs["transferable"] ?? true + let isith = kargs["isith"] ?? "1" + let nsith = kargs["nsith"] ?? "1" + let wits = kargs["wits"] ?? [] + let toad = kargs["toad"] ?? "0" + let dcode = kargs["dcode"] ?? MtrDex.Blake3_256 + let proxy = kargs["proxy"] + let delpre = kargs["delpre"] + let data = kargs["data"] != undefined ? [kargs["data"]] : [] + let pre = kargs["pre"] + let states = kargs["states"] + let rstates = kargs["rstates"] + + let xargs = { + transferable:transferable, + isith:isith, + nsith:nsith, + wits:wits, + toad:toad, + proxy:proxy, + delpre:delpre, + dcode:dcode, + data:data, + algo:algo, + pre:pre + + } + + + let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) let [keys, ndigs] = keeper!.incept(transferable) wits = wits !== undefined ? wits : [] - let _data = data !== undefined ? [data] : [] if (delpre == undefined){ var serder = incept({ keys: keys, @@ -219,7 +251,7 @@ class Identifier { toad: toad, wits: wits, cnfg: [], - data: _data, + data: data, version: Versionage, kind: Serials.JSON, code: dcode, @@ -235,7 +267,7 @@ class Identifier { toad: toad, wits: wits, cnfg: [], - data: _data, + data: data, version: Versionage, kind: Serials.JSON, code: dcode, @@ -249,25 +281,129 @@ class Identifier { icp: serder.ked, sigs: sigs, proxy: proxy, - salty: keeper.params() + salty: keeper.params(), + smids: states != undefined ? states.map(state => state['i']) : undefined, + rmids: rstates != undefined ? rstates.map(state => state['i']) : undefined } + // TODO FIX TO other algos // jsondata[algo.toString()] = keeper.params() this.client.pidx = this.client.pidx + 1 let res = await this.client.fetch("/identifiers", "POST", jsondata) return res.json() - // if 'states' in kwargs: - // json['smids'] = [state['i'] for state in kwargs['states']] + } + - // if 'rstates' in kwargs: - // json['rmids'] = [state['i'] for state in kwargs['rstates']] + // async interact(name:string, data:Array|undefined=undefined){ - // self.client.pidx = self.client.pidx + 1 + // let hab = await this.get_identifier(name) + // let pre:string = hab["prefix"] - // res = self.client.post("/identifiers", json=json) + // let state = hab["state"] + // let sn = state["s"].toString(16) + // let dig = state["d"] + + // let _data = Array.isArray(data) ? data : [data] + + // let serder = interact(pre, sn=sn + 1, data=data, dig=dig) + // let keeper = this.client!.manager!.get(hab) + // let sigs = keeper.sign(b(serder.raw)) + + // // FIX TO OTHER ALGOS + // let jsondata = { + // ixn: serder.ked, + // sigs: sigs, + // salty: keeper.params() + // } + // let res = await this.client.fetch("/identifiers/"+name+"?type=ixn", "PUT", jsondata) // return res.json() + // } + + + async rotate( + name: string, + kargs:{ + transferable:boolean, + nsith:string, + toad:number, + cuts:string[], + adds:string[], + data:Array, + ncode:string, + ncount:number, + ncodes:string[], + states:any[], + rstates:any[]}){ + + let transferable = kargs["transferable"] ?? true + let ncode = kargs["ncode"] ?? MtrDex.Ed25519_Seed + let ncount = kargs["ncount"] ?? 1 + + + let hab = await this.get_identifier(name) + let pre = hab["prefix"] + + let state = hab["state"] + let count = state['k'].length + let dig = state["d"] + let ridx = state["s"].toString(16) + 1 + let wits = state['b'] + let isith = state["kt"] + + let nsith = kargs["nsith"] ?? isith + + + // if isith is None: # compute default from newly rotated verfers above + if (isith == undefined) isith = `${Math.max(1, Math.ceil(count / 2)).toString(16)}` + + // if nsith is None: # compute default from newly rotated digers above + if (nsith == undefined) nsith = `${Math.max(1, Math.ceil(ncount / 2)).toString(16)}` + + let cst = new Tholder(isith).sith // current signing threshold + let nst = new Tholder(nsith).sith // next signing threshold + + // Regenerate next keys to sign rotation event + let keeper = this.client.manager!.get(hab) + // Create new keys for next digests + let ncodes = kargs["ncodes"] ?? new Array(ncount).fill(ncode) + + let states = kargs["states"] + let rstates = kargs["rstates"] + let [keys, ndigs] = keeper!.rotate(ncodes, transferable, states, rstates) + + let cuts = kargs["cuts"] ?? [] + let adds = kargs["adds"] ?? [] + let data = kargs["data"] != undefined ? [kargs["data"]]:[] + let toad = kargs["toad"] + let serder = rotate({ + pre: pre, + keys: keys, + dig: dig, + sn: ridx, + isith: cst, + nsith: nst, + ndigs: ndigs, + toad: toad, + wits: wits, + cuts: cuts, + adds: adds, + data: data }) + + let sigs = keeper.sign(b(serder.raw)) + + // FIX TO ADD OTHER ALGOS + var jsondata = { + rot: serder.ked, + sigs: sigs, + salty: keeper.params(), + smids: states != undefined ? states.map(state => state['i']) : undefined, + rmids: rstates != undefined ? rstates.map(state => state['i']) : undefined } + let res = await this.client.fetch("/identifiers/"+name, "PUT", jsondata) + return res.json() + } + } diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index 1065a054..bf8b476f 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -148,7 +148,8 @@ export function rotate({ throw new Error(`Invalid member combination among cuts = ${cuts}, and adds = ${adds}.`) } - let newitset = new Set([...witset].filter(x => cutset.has(x)).concat([...addset])) + let newitsetdiff = [...witset].filter(x => cutset.has(x)) + let newitset = new Set([...newitsetdiff, ..._adds]) if (newitset.size != (witset.size - cutset.size + addset.size)) { throw new Error(`Invalid member combination among wits = ${wits}, cuts = ${cuts}, and adds = ${adds}.`) @@ -178,7 +179,6 @@ export function rotate({ throw new Error(`Invalid toad = ${_toad} for wit = ${wits}`) } } - let _ked = { v: vs, t: _ilk, @@ -188,15 +188,15 @@ export function rotate({ p: dig, kt: tholder.num && intive && tholder.num !== undefined && tholder.num <= MaxIntThold ? tholder.num : tholder.sith, k: keys, - nkt: ntholder.num && intive && ntholder.num !== undefined && ntholder.num <= MaxIntThold ? ntholder.num : ntholder.sith, - nk: _ndigs, + nt: ntholder.num && intive && ntholder.num !== undefined && ntholder.num <= MaxIntThold ? ntholder.num : ntholder.sith, + n: _ndigs, bt: _toad && intive && _toad !== undefined && _toad <= MaxIntThold ? _toad : _toad.toString(16), br: cuts, ba: adds, - a: data ? data !== undefined : [] + a: data!= undefined ? data : [] } let[ , ked] = Saider.saidify(_ked) - return new Serder({ ked: ked }) + return new Serder(ked) } function ample(n: number, f?: number, weak = true) { diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index 6327698f..a555cfca 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -4,13 +4,14 @@ import { MtrDex } from './matter'; import { Tier } from './salter'; import { Encrypter } from "../core/encrypter"; import { Decrypter } from './decrypter'; -import {b} from "./core"; +import { b } from "./core"; import { Cipher } from './cipher'; import { Diger } from './diger'; +// import { Prefixer } from './prefixer'; export {}; -export class Manager { +export class KeyManager { private salter?: Salter private externalModulees?: any @@ -23,7 +24,7 @@ export class Manager { new(algo: Algos, pidx: number, kargs: any){ switch (algo) { case Algos.salty: - return new SaltyKeeper(this.salter!, pidx, kargs) + return new SaltyKeeper(this.salter!, pidx, kargs["kidx"], kargs["tier"], kargs["transferable"], kargs["stem"], kargs["code"], kargs["count"], kargs["icodes"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["bran"], kargs["sxlt"]) break case Algos.randy: throw new Error('Randy not allowed yet') @@ -35,13 +36,21 @@ export class Manager { } } + get(aid:any) { + // TODO IMPLEMENT OTHER ALGOS + // let pre = new Prefixer({qb64: aid["prefix"]}) + let kargs = aid[Algos.salty] + return new SaltyKeeper(this.salter!, kargs["pidx"], kargs["kidx"], kargs["tier"], kargs["transferable"], kargs["stem"], kargs["code"], kargs["count"], kargs["icodes"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["bran"], kargs["sxlt"]) + + } + } export class SaltyKeeper { private aeid:string private encrypter:Encrypter private decrypter:Decrypter - // private salter: Salter + private salter: Salter private pidx:number private kidx:number private tier:Tier @@ -63,7 +72,8 @@ export class SaltyKeeper { ncount=1, ncodes:string[]|undefined=undefined, dcode=MtrDex.Blake3_256, bran:string|undefined = undefined, sxlt=undefined){ // # Salter is the entered passcode and used for enc/dec of salts for each AID - let signer = salter.signer(undefined, transferable=false) + this.salter = salter + let signer = this.salter.signer(undefined, transferable=false) this.aeid = signer.verfer.qb64 @@ -87,10 +97,10 @@ export class SaltyKeeper { this.bran = MtrDex.Salt_128 + 'A' + bran!.slice(0, 21) this.creator = new SaltyCreator(this.bran, this.tier, this.stem) this.sxlt = this.encrypter.encrypt(b(this.creator.salt)).qb64 - } else if (this.sxlt == undefined) { + } else if (sxlt == undefined) { this.creator = new SaltyCreator(undefined, this.tier, this.stem) this.sxlt = this.encrypter.encrypt(b(this.creator.salt)).qb64 - } else { + } else { this.sxlt = sxlt let ciph = new Cipher({qb64:this.sxlt}) this.creator = new SaltyCreator(this.decrypter.decrypt(null, ciph).qb64, tier=tier, this.stem) @@ -127,16 +137,40 @@ export class SaltyKeeper { this.transferable = transferable this.kidx = 0 - let signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false) + let signers = this.creator.create(this.icodes, this.count, this.code, this.transferable, this.pidx, 0, this.kidx,false) let verfers = signers.signers.map(signer => signer.verfer.qb64); - let nsigners = this.creator.create(this.ncodes, this.count, this.code, this.transferable, this.pidx, 0, this.icodes?.length,false) + let nsigners = this.creator.create(this.ncodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.icodes?.length,false) let digers = nsigners.signers.map(nsigner => new Diger({code: this.dcode},nsigner.verfer.qb64b ).qb64); return [verfers, digers] } + rotate(ncodes:string[], transferable:boolean, ..._:any[]){ + // Rotate and return verfers and digers for next rotation event for AID represented by this Keeper + + // Args: + // ncodes (list): + // transferable (bool): derivation codes for rotation key creation + + // Returns: + // verfers(list): qualified base64 of signing public keys + // digers(list): qualified base64 of hash of rotation public keys + + + this.ncodes = ncodes + this.transferable = transferable + let signers = this.creator.create(this.ncodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx+this.icodes!.length,false) + let verfers = signers.signers.map(signer => signer.verfer.qb64); + + this.kidx = this.kidx! + this.icodes!.length + let nsigners = this.creator.create(this.ncodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx+this.icodes!.length,false) + let digers = nsigners.signers.map(nsigner => new Diger({code: this.dcode},nsigner.verfer.qb64b ).qb64); + + return [verfers, digers] + } + sign(ser: Uint8Array, indexed=true, indices=null, ondices=null){ let signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false) diff --git a/test/core/manager.test.ts b/test/core/manager.test.ts index 29f3d6d6..0158aaa7 100644 --- a/test/core/manager.test.ts +++ b/test/core/manager.test.ts @@ -168,7 +168,7 @@ describe('Manager', () => { let encrypter1 = new Encrypter({}, b(aeid1)) assert.equal(encrypter1.verifySeed(seed1), true) - let manager = new Manager({seed: seed0, salt: salt, aeid: aeid0}) + let manager = new Manager({seed: seed0, salter: salter, aeid: aeid0}) assert.equal(manager.encrypter!.qb64, encrypter0.qb64) assert.equal(manager.decrypter!.qb64, decrypter0.qb64) assert.equal(manager.seed, seed0) @@ -459,7 +459,7 @@ describe('Manager', () => { let salter = new Salter({raw: b(passcode)}) let salt = salter.qb64 - let manager = new Manager({salt: salt}) + let manager = new Manager({salter: salter}) assert.equal(manager.encrypter, undefined) let [verfers, digers] = manager.incept({salt: salt, temp: true}) From a832683c61d31cd66326717c08d3ec1298bdef19 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 26 May 2023 13:00:19 -0500 Subject: [PATCH 053/463] malformed request --- examples/signify-react-ts/src/Signify.tsx | 36 +++++++--- src/keri/app/controller.ts | 33 ++++++--- src/keri/app/signify.ts | 3 +- src/keri/core/eventing.ts | 81 ++++++++++++++++++++++- src/keri/core/seqner.ts | 39 +++++++++++ src/keri/core/utils.ts | 14 ++++ test/core/seqner.test.ts | 18 +++++ 7 files changed, 200 insertions(+), 24 deletions(-) create mode 100644 src/keri/core/seqner.ts create mode 100644 test/core/seqner.test.ts diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 9c80b613..77a592f5 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -64,15 +64,29 @@ export function Signify() { const resp = JSON.stringify(res, null, 2) return resp }} /> + + { + const client = new SignifyClient("http://localhost:3901", key) + console.log('error connecting') + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + setPre(client.controller.pre) + // const resp = await client.state() + // return JSON.stringify(resp, null, 2) + } + } /> { try { const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller.pre) - try{ + try { await client.connect() } - catch(e){ + catch (e) { console.log('error connecting', e) console.log('booting up') await client.boot() @@ -93,10 +107,10 @@ export function Signify() { try { const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller.pre) - try{ + try { await client.connect() } - catch(e){ + catch (e) { console.log('error connecting', e) console.log('booting up') await client.boot() @@ -104,7 +118,7 @@ export function Signify() { console.log('booted and connected up') } const identifiers = client.identifiers() - const resp = await identifiers.create('aid_'+generateRandomKey().slice(1,3),{}) + const resp = await identifiers.create('aid_' + generateRandomKey().slice(1, 3), {}) return JSON.stringify(resp, null, 2) } catch (e) { @@ -117,10 +131,10 @@ export function Signify() { try { const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller.pre) - try{ + try { await client.connect() } - catch(e){ + catch (e) { console.log('error connecting', e) console.log('booting up') await client.boot() @@ -129,7 +143,7 @@ export function Signify() { } const identifiers = client.identifiers() const aids = await identifiers.list_identifiers() - const resp = await identifiers.rotate(aids[0]["name"],{}) + const resp = await identifiers.rotate(aids[0]["name"], {}) return JSON.stringify(resp, null, 2) } catch (e) { @@ -137,15 +151,15 @@ export function Signify() { return 'Error creating identifiers' } }} /> - { try { const client = new SignifyClient("http://localhost:3901", key) setPre(client.controller.pre) - try{ + try { await client.connect() } - catch(e){ + catch (e) { console.log('error connecting', e) console.log('booting up') await client.boot() diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 353ced0e..da19a39d 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -2,27 +2,33 @@ import { SaltyCreator } from "../core/manager"; import { Salter, Tier } from "../core/salter"; import { MtrDex } from "../core/matter"; import { Diger } from "../core/diger"; -import { incept, rotate } from "../core/eventing"; +import { incept, rotate, interact } from "../core/eventing"; import { Serder } from "../core/serder"; // import { Siger } from "../core/siger"; import { Tholder } from "../core/tholder"; -import { Ilks, b } from "../core/core"; +import { Ilks, b, Serials, Versionage } from "../core/core"; import { Verfer } from "../core/verfer"; import { Encrypter } from "../core/encrypter"; import { Decrypter } from "../core/decrypter"; import { Cipher } from "../core/cipher"; +import {Seqner } from "../core/seqner"; +import { PNumber } from "../core/number"; export class Agent { pre: string; anchor: string; verfer: Verfer | null; serder: Serder | null; + sn : number | undefined; + said : string | undefined; constructor(agent: any) { this.pre = ""; this.anchor = ""; this.verfer = null; this.serder = null; + this.sn = 0; + this.said = ""; this.parse(agent); } @@ -32,6 +38,9 @@ export class Agent { // } let [serder, verfer, ] = this.event(agent); + this.sn = new PNumber(serder.ked['s']).num + this.said = serder.ked['d'] + if (serder.ked['et'] !== Ilks.dip) { throw new Error(`invalid inception event type ${serder.ked['et']}`); } @@ -140,16 +149,18 @@ export class Controller { } } approveDelegation(_agent: Agent) { - // TODO implement interact in eventing and seqner - - // seqner = coring.Seqner(sn=agent.sn) - // anchor = dict(i=agent.pre, s=seqner.snh, d=agent.said) - - // self.serder = eventing.interact(pre=self.serder.pre, dig=self.serder.said, sn=self.serder.sn+1, data=[anchor]) - // return self.serder, [self.signer.sign(self.serder.raw, index=0).qb64] - // FAKE SIGNATURE - return ["AAD6nSSSGy_uO41clzL-g3czC8W0Ax-2M87NXA_Iu50ZdEhbekuv2k7dY0fjoO3su3aBRBx4EXryPc8x4uGfbVYG"] + let seqner = new Seqner({sn: _agent.sn}) + let anchor = {i: _agent.pre, s: seqner.snh, d: _agent.said} + console.log(this.serder.ked["d"]) + this.serder = interact({ + pre:this.serder.pre, + dig: this.serder.ked["d"], + sn: new PNumber(this.serder.ked["s"]).num + 1, + data:[anchor], + version: Versionage, + kind: Serials.JSON}) + return [this.serder, [this.signer.sign(this.serder.raw, 0).qb64]] } get pre(): string { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index a039f5e0..c04306f9 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -99,8 +99,9 @@ export class SignifyClient { if (this.agent.anchor != this.controller.pre) { throw Error("commitment to controller AID missing in agent inception event") } - + console.log(this.controller.serder) if (this.controller.serder.ked.s == 0 ) { + console.log('approving delegation') await this.approveDelegation() } this.manager = new KeyManager(this.controller.salter, null) diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index bf8b476f..ddf0f58e 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -354,6 +354,7 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers return new Serder(ked) } + export function messagize(serder: Serder, sigers?: Array, seal?: any, wigers?: Array, cigars?: Array, pipelined: boolean = false): Uint8Array { let msg = new Uint8Array(b(serder.raw)) @@ -405,4 +406,82 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig msg = concat(msg, atc) return msg -} \ No newline at end of file +} + + +// def interact(pre, +// dig, +// sn=1, +// data=None, +// version=Version, +// kind=Serials.json, +// ): +// """ +// Returns serder of interaction event message. +// Utility function to automate creation of interaction events. + +// Parameters: +// pre is identifier prefix qb64 +// dig is said digest of previous event qb64 +// sn is int sequence number +// data is list of dicts of comitted data such as seals +// version is Version instance +// kind is serialization kind +// """ +// vs = versify(version=version, kind=kind, size=0) +// ilk = Ilks.ixn +// sner = Number(num=sn) +// if sner.num < 1: # sn for interact must be >= 1 +// raise ValueError(f"Invalid sn = 0x{sner.numh} for ixn.") + + +// data = data if data is not None else [] + +// ked = dict(v=vs, # version string +// t=ilk, +// d="", +// i=pre, # qb64 prefix +// s=sner.numh, # hex string no leading zeros lowercase +// p=dig, # qb64 digest of prior event +// a=data, # list of seals +// ) +// _, ked = coring.Saider.saidify(sad=ked) + +// return Serder(ked=ked) # return serialized ked + +interface InteractArgs { + pre: String, + dig: String, + sn: number, + data: Array, + version: Version | undefined, + kind: Serials | undefined +} + +export function interact(args: InteractArgs): Serder { + let { pre, dig, sn, data, version, kind } = args + let vs = versify(Ident.KERI, version, kind, 0) + let ilk = Ilks.ixn + let sner = new PNumber(sn) + + if (sner.num < 1) { + throw new Error(`Invalid sn = 0x${sner.numh} for ixn.`) + } + + data = data == undefined ? new Array() : data + + let ked = { + v: vs, + t: ilk, + d: "", + i: pre, + s: sner.numh, + p: dig, + a: data + } as Dict + + [, ked] = Saider.saidify(ked) + + return new Serder(ked) +} + \ No newline at end of file diff --git a/src/keri/core/seqner.ts b/src/keri/core/seqner.ts new file mode 100644 index 00000000..8d4f827b --- /dev/null +++ b/src/keri/core/seqner.ts @@ -0,0 +1,39 @@ + + +import {Matter, MatterArgs, MtrDex} from './matter'; +import { intToBytes, bytesToInt } from './utils'; +/** + * @description Seqner: subclass of Matter, cryptographic material, for ordinal numbers + * such as sequence numbers or first seen ordering numbers. + * Seqner provides fully qualified format for ordinals (sequence numbers etc) + * when provided as attached cryptographic material elements. + */ +export class Seqner extends Matter { + constructor({raw, code=MtrDex.Salt_128, qb64, qb64b, qb2, sn, snh, ...kwa}: MatterArgs & {sn?: number, snh?: string}) { + if (!raw && !qb64b && !qb64 && !qb2) { + if (sn === undefined) { + if (snh === undefined) { + sn = 0; + } else { + sn = parseInt(snh, 16); + } + } + + raw = intToBytes(sn,Matter._rawSize(MtrDex.Salt_128)) + } + + super({raw, code, qb64, qb64b, qb2, ...kwa}); + + if (this.code !== MtrDex.Salt_128) { + throw new Error(`Invalid code = ${this.code} for Seqner.`); + } + } + + get sn(): number { + return bytesToInt(Buffer.from(this.raw))//To check if other readUInt64 is needed + } + + get snh(): string { + return this.sn.toString(16); + } +} diff --git a/src/keri/core/utils.ts b/src/keri/core/utils.ts index d27ccfd0..18715c02 100644 --- a/src/keri/core/utils.ts +++ b/src/keri/core/utils.ts @@ -96,3 +96,17 @@ export function range(start: number, stop: number, step: number) { return result; } + +export function intToBytes(value: number, length: number): Uint8Array { + const byteArray = new Uint8Array(length); // Assuming a 4-byte integer (32 bits) + + for (let i = 0; i < length; i++) { + byteArray[i] = (value >> (i * 8)) & 0xff; + } + + return byteArray; +} + +export function bytesToInt(buffer: Buffer): number { + return buffer.readInt32BE(0); +} diff --git a/test/core/seqner.test.ts b/test/core/seqner.test.ts new file mode 100644 index 00000000..a39dd391 --- /dev/null +++ b/test/core/seqner.test.ts @@ -0,0 +1,18 @@ +import {strict as assert} from "assert"; +import libsodium from "libsodium-wrappers-sumo"; + +import { Seqner } from '../../src/keri/core/seqner'; + +describe('Seqner', () => { + it('should generate Seqner number class', async () => { + await libsodium.ready; + let seqner = new Seqner({}) + assert.equal(seqner.sn, 0) + assert.equal(seqner.snh, "0") + assert.equal(seqner.qb64, "0AAAAAAAAAAAAAAAAAAAAAAA") + assert.notStrictEqual(seqner.qb64b, new Uint8Array([ 48, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65 ])) + assert.equal(seqner.raw.length, 16) + assert.notStrictEqual(seqner.raw, new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])) + }); +}); + From 1094570d141055c29ebad3251a4401566f581712 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Fri, 26 May 2023 19:38:46 -0300 Subject: [PATCH 054/463] randy aids --- examples/signify-react-ts/src/Signify.tsx | 26 +++- src/keri/app/signify.ts | 86 +++++++----- src/keri/core/eventing.ts | 41 ------ src/keri/core/keeping.ts | 162 ++++++++++++++++++++-- src/keri/core/manager.ts | 2 +- 5 files changed, 225 insertions(+), 92 deletions(-) diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 77a592f5..a8bb427d 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -102,7 +102,7 @@ export function Signify() { return 'Error getting identifiers' } }} /> - { try { const client = new SignifyClient("http://localhost:3901", key) @@ -126,6 +126,30 @@ export function Signify() { return 'Error creating identifiers' } }} /> + { + try { + const client = new SignifyClient("http://localhost:3901", key) + setPre(client.controller.pre) + try { + await client.connect() + } + catch (e) { + console.log('error connecting', e) + console.log('booting up') + await client.boot() + await client.connect() + console.log('booted and connected up') + } + const identifiers = client.identifiers() + const resp = await identifiers.create('aid_' + generateRandomKey().slice(1, 3), {algo: "randy"}) + return JSON.stringify(resp, null, 2) + } + catch (e) { + console.log(e) + return 'Error creating identifiers' + } + }} /> { try { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index c04306f9..325e4589 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -3,7 +3,7 @@ import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept, rotate } from "../core/eventing" +import { incept, rotate, interact } from "../core/eventing" import { b, Serials, Versionage } from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; @@ -99,7 +99,6 @@ export class SignifyClient { if (this.agent.anchor != this.controller.pre) { throw Error("commitment to controller AID missing in agent inception event") } - console.log(this.controller.serder) if (this.controller.serder.ked.s == 0 ) { console.log('approving delegation') await this.approveDelegation() @@ -147,10 +146,6 @@ export class SignifyClient { } async approveDelegation(){ - // { - // "ixn": {"v": "KERI10JSON00013a_", "t": "ixn", "d": "EA4YpgJavlrjDRIE5UdkM44wiGTcCTfsTayrAViCDV4s", "i": "ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose", "s": "1", "p": "ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose", "a": [{"i": "EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei", "s": "0", "d": "EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei"}]}, - // "sigs": ["AAD6nSSSGy_uO41clzL-g3czC8W0Ax-2M87NXA_Iu50ZdEhbekuv2k7dY0fjoO3su3aBRBx4EXryPc8x4uGfbVYG"] - // } let sigs = this.controller.approveDelegation(this.agent!) let data = { @@ -205,12 +200,26 @@ class Identifier { delpre:string, dcode:string, data:any, - algo:Algos, + algo:string, pre:string, states:any[], - rstates:any[]}) { - - let algo = kargs["algo"] ?? Algos.salty + rstates:any[] + prxs:any[], + nxts:any[]}) { + + let algo = Algos.salty + switch (kargs["algo"]) { + case "salty": + algo = Algos.salty + break; + case "randy": + algo = Algos.randy + break; + default: + algo = Algos.salty + break; + } + let transferable = kargs["transferable"] ?? true let isith = kargs["isith"] ?? "1" let nsith = kargs["nsith"] ?? "1" @@ -223,6 +232,8 @@ class Identifier { let pre = kargs["pre"] let states = kargs["states"] let rstates = kargs["rstates"] + let prxs = kargs["prxs"] + let nxts = kargs["nxts"] let xargs = { transferable:transferable, @@ -235,11 +246,11 @@ class Identifier { dcode:dcode, data:data, algo:algo, - pre:pre - + pre:pre, + prxs:prxs, + nxts:nxts } - let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) let [keys, ndigs] = keeper!.incept(transferable) wits = wits !== undefined ? wits : [] @@ -277,17 +288,15 @@ class Identifier { } let sigs = keeper!.sign(b(serder.raw)) - var jsondata = { + var jsondata:any = { name: name, icp: serder.ked, sigs: sigs, proxy: proxy, - salty: keeper.params(), smids: states != undefined ? states.map(state => state['i']) : undefined, rmids: rstates != undefined ? rstates.map(state => state['i']) : undefined } - // TODO FIX TO other algos - // jsondata[algo.toString()] = keeper.params() + jsondata[algo] = keeper.params(), this.client.pidx = this.client.pidx + 1 let res = await this.client.fetch("/identifiers", "POST", jsondata) @@ -296,31 +305,32 @@ class Identifier { } - // async interact(name:string, data:Array|undefined=undefined){ + async interact(name:string, data:any|undefined=undefined){ - // let hab = await this.get_identifier(name) - // let pre:string = hab["prefix"] + let hab = await this.get_identifier(name) + let pre:string = hab["prefix"] - // let state = hab["state"] - // let sn = state["s"].toString(16) - // let dig = state["d"] + let state = hab["state"] + let sn = state["s"].toString(16) + let dig = state["d"] - // let _data = Array.isArray(data) ? data : [data] + data = Array.isArray(data) ? data : [data] - // let serder = interact(pre, sn=sn + 1, data=data, dig=dig) - // let keeper = this.client!.manager!.get(hab) - // let sigs = keeper.sign(b(serder.raw)) + let serder = interact({pre:pre, sn:sn + 1, data:data, dig:dig, version:undefined, kind: undefined}) + let keeper = this.client!.manager!.get(hab) + let sigs = keeper.sign(b(serder.raw)) - // // FIX TO OTHER ALGOS - // let jsondata = { - // ixn: serder.ked, - // sigs: sigs, - // salty: keeper.params() - // } - // let res = await this.client.fetch("/identifiers/"+name+"?type=ixn", "PUT", jsondata) - // return res.json() + // FIX TO OTHER ALGOS + let jsondata:any = { + ixn: serder.ked, + sigs: sigs, + } + jsondata[keeper.algo] = keeper.params() - // } + let res = await this.client.fetch("/identifiers/"+name+"?type=ixn", "PUT", jsondata) + return res.json() + + } async rotate( @@ -395,13 +405,13 @@ class Identifier { let sigs = keeper.sign(b(serder.raw)) // FIX TO ADD OTHER ALGOS - var jsondata = { + var jsondata:any = { rot: serder.ked, sigs: sigs, - salty: keeper.params(), smids: states != undefined ? states.map(state => state['i']) : undefined, rmids: rstates != undefined ? rstates.map(state => state['i']) : undefined } + jsondata[keeper.algo] = keeper.params() let res = await this.client.fetch("/identifiers/"+name, "PUT", jsondata) return res.json() diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index ddf0f58e..cda2d034 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -408,47 +408,6 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig return msg } - -// def interact(pre, -// dig, -// sn=1, -// data=None, -// version=Version, -// kind=Serials.json, -// ): -// """ -// Returns serder of interaction event message. -// Utility function to automate creation of interaction events. - -// Parameters: -// pre is identifier prefix qb64 -// dig is said digest of previous event qb64 -// sn is int sequence number -// data is list of dicts of comitted data such as seals -// version is Version instance -// kind is serialization kind -// """ -// vs = versify(version=version, kind=kind, size=0) -// ilk = Ilks.ixn -// sner = Number(num=sn) -// if sner.num < 1: # sn for interact must be >= 1 -// raise ValueError(f"Invalid sn = 0x{sner.numh} for ixn.") - - -// data = data if data is not None else [] - -// ked = dict(v=vs, # version string -// t=ilk, -// d="", -// i=pre, # qb64 prefix -// s=sner.numh, # hex string no leading zeros lowercase -// p=dig, # qb64 digest of prior event -// a=data, # list of seals -// ) -// _, ked = coring.Saider.saidify(sad=ked) - -// return Serder(ked=ked) # return serialized ked - interface InteractArgs { pre: String, dig: String, diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index a555cfca..973a509b 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -1,5 +1,5 @@ import { Salter } from './salter' -import { Algos, SaltyCreator } from './manager'; +import { Algos, SaltyCreator, RandyCreator } from './manager'; import { MtrDex } from './matter'; import { Tier } from './salter'; import { Encrypter } from "../core/encrypter"; @@ -7,7 +7,7 @@ import { Decrypter } from './decrypter'; import { b } from "./core"; import { Cipher } from './cipher'; import { Diger } from './diger'; -// import { Prefixer } from './prefixer'; +import { Prefixer } from './prefixer'; export {}; @@ -25,11 +25,10 @@ export class KeyManager { switch (algo) { case Algos.salty: return new SaltyKeeper(this.salter!, pidx, kargs["kidx"], kargs["tier"], kargs["transferable"], kargs["stem"], kargs["code"], kargs["count"], kargs["icodes"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["bran"], kargs["sxlt"]) - break case Algos.randy: - throw new Error('Randy not allowed yet') - case Algos.extern: - throw new Error(`External modules not allowed yet` + this.externalModulees) + return new RandyKeeper(this.salter!, kargs["code"], kargs["count"], kargs["icodes"], kargs["transferable"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["prxs"], kargs["nxts"]) + case Algos.group: + throw new Error(`Group not allowed yet` + this.externalModulees) break default: throw new Error('Unknown algo') @@ -37,11 +36,18 @@ export class KeyManager { } get(aid:any) { - // TODO IMPLEMENT OTHER ALGOS - // let pre = new Prefixer({qb64: aid["prefix"]}) - let kargs = aid[Algos.salty] - return new SaltyKeeper(this.salter!, kargs["pidx"], kargs["kidx"], kargs["tier"], kargs["transferable"], kargs["stem"], kargs["code"], kargs["count"], kargs["icodes"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["bran"], kargs["sxlt"]) - + let pre = new Prefixer({qb64: aid["prefix"]}) + if (Algos.salty in aid){ + let kargs = aid[Algos.salty] + return new SaltyKeeper(this.salter!, kargs["pidx"], kargs["kidx"], kargs["tier"], kargs["transferable"], kargs["stem"], kargs["code"], kargs["count"], kargs["icodes"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["bran"], kargs["sxlt"]) + } else if (Algos.randy in aid) { + let kargs = aid[Algos.randy] + return new RandyKeeper(this.salter!, kargs["code"], kargs["count"], kargs["icodes"], pre.transferable, kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["prxs"], kargs["nxts"]) + } else if (Algos.group in aid) { + throw new Error(`Group Keeper not allowed yet`) + } else{ + throw new Error(`Algo not allowed yet`) + } } } @@ -66,6 +72,7 @@ export class SaltyKeeper { private sxlt:string | undefined private bran:string | undefined private creator: SaltyCreator + public algo:Algos = Algos.salty constructor(salter:Salter, pidx:number, kidx:number=0, tier=Tier.low, transferable=false, stem=undefined, code=MtrDex.Ed25519_Seed, count=1, icodes:string[]|undefined=undefined, ncode=MtrDex.Ed25519_Seed, @@ -206,4 +213,137 @@ export class SaltyKeeper { return cigars.map(cigar => cigar.qb64); } } +} + + +export class RandyKeeper { + private salter: Salter + private code:string + private count:number + private icodes:string[] | undefined + private transferable:boolean + private ncount:number + private ncodes:string[] | undefined + private ncode:string + private dcode:string | undefined + private prxs:string[] | undefined + private nxts:string[] | undefined + private aeid:string + private encrypter:Encrypter + private decrypter:Decrypter + private creator: RandyCreator + public algo:Algos = Algos.randy + + + + constructor(salter:Salter, code=MtrDex.Ed25519_Seed, count=1, icodes:string[]|undefined=undefined, transferable=false, + ncode=MtrDex.Ed25519_Seed, ncount=1, ncodes:string[], dcode=MtrDex.Blake3_256, prxs:string[]|undefined=undefined, nxts:string[]|undefined=undefined){ + + this.salter = salter + this.icodes = icodes==undefined? new Array(count).fill(code) : icodes + this.ncodes = ncodes==undefined? new Array(ncount).fill(ncode) : ncodes + + this.code = code + this.ncode = ncode + this.count = count + this.ncount = ncount + + let signer = this.salter.signer(undefined, transferable=false) + this.aeid = signer.verfer.qb64 + + this.encrypter = new Encrypter({}, b(this.aeid)) + this.decrypter = new Decrypter({}, signer.qb64b) + + this.nxts = nxts + this.prxs = prxs + this.transferable = transferable + + this.icodes = icodes + this.ncodes = ncodes + this.dcode = dcode + + this.creator = new RandyCreator() + + + } + + params() { + + return { + nxts: this.nxts, + prxs: this.prxs, + transferable: this.transferable + } + } + + incept(transferable:boolean) { + this.transferable = transferable + + let signers = this.creator.create(this.icodes, this.count, this.code, this.transferable) + this.prxs = signers.signers.map(signer => this.encrypter.encrypt(undefined,signer).qb64); + + let verfers = signers.signers.map(signer => signer.verfer.qb64); + + let nsigners = this.creator.create(this.ncodes, this.ncount, this.ncode, this.transferable) + + this.nxts = nsigners.signers.map(signer => this.encrypter.encrypt(undefined,signer).qb64); + + let digers = nsigners.signers.map(nsigner => new Diger({code: this.dcode},nsigner.verfer.qb64b ).qb64); + + return [verfers, digers] + } + + rotate(ncodes:string[], transferable:boolean, ..._:any[]){ + + this.ncodes = ncodes + this.transferable = transferable + this.prxs = this.nxts + + let signers = this.nxts!.map(nxt => this.decrypter.decrypt(undefined, new Cipher({qb64:nxt}), this.transferable)) + let verfers = signers.map(signer => signer.verfer.qb64) + let nsigners = this.creator.create(this.ncodes, this.ncount, this.ncode, this.transferable) + + this.nxts = nsigners.signers.map(signer => this.encrypter.encrypt(undefined, signer).qb64); + + let digers = nsigners.signers.map(nsigner => new Diger({code: this.dcode},nsigner.verfer.qb64b ).qb64); + + return [verfers, digers] + } + + sign(ser: Uint8Array, indexed=true, indices=null, ondices=null){ + let signers = this.prxs!.map(prx => this.decrypter.decrypt(new Cipher({qb64:prx}).qb64b, undefined, this.transferable)) + + if (indexed){ + let sigers = [] + let i = 0 + for (const [j, signer] of signers.entries()) { + if (indices!= null){ + i = indices![j] + if (typeof i != "number" || i < 0){ + throw new Error(`Invalid signing index = ${i}, not whole number.`) + } + } else { + i = j + } + let o = 0 + if (ondices!=null){ + o = ondices![j] + if ((o == null || typeof o == "number" && typeof o != "number" && o>=0)!) { + throw new Error(`Invalid ondex = ${o}, not whole number.`) + } + } else { + o = i + } + sigers.push(signer.sign(ser, i, o==null?true:false, o)) + } + return sigers.map(siger => siger.qb64); + } else { + let cigars = [] + for (const [_, signer] of signers.entries()) { + cigars.push(signer.sign(ser)) + } + return cigars.map(cigar => cigar.qb64); + } + } + } \ No newline at end of file diff --git a/src/keri/core/manager.ts b/src/keri/core/manager.ts index 96d1def8..3553c2a8 100644 --- a/src/keri/core/manager.ts +++ b/src/keri/core/manager.ts @@ -13,7 +13,7 @@ import {b} from "./core"; export enum Algos { randy = "randy", salty = "salty", - extern = "extern" + group = "group" } class PubLot { From d042f273d9c224433b8ae33a0a8c9bbf7d6b7f27 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sat, 27 May 2023 00:18:42 -0300 Subject: [PATCH 055/463] group keys --- src/keri/app/signify.ts | 28 +++++++++----- src/keri/core/keeping.ts | 79 ++++++++++++++++++++++++++++++++-------- 2 files changed, 83 insertions(+), 24 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 325e4589..68215eda 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -205,7 +205,11 @@ class Identifier { states:any[], rstates:any[] prxs:any[], - nxts:any[]}) { + nxts:any[], + mhab:any, + keys:any[], + ndigs:any[] + }) { let algo = Algos.salty switch (kargs["algo"]) { @@ -215,6 +219,9 @@ class Identifier { case "randy": algo = Algos.randy break; + case "group": + algo = Algos.group + break; default: algo = Algos.salty break; @@ -234,6 +241,9 @@ class Identifier { let rstates = kargs["rstates"] let prxs = kargs["prxs"] let nxts = kargs["nxts"] + let mhab= kargs["mhab"] + let _keys = kargs["keys"] + let _ndigs = kargs["ndigs"] let xargs = { transferable:transferable, @@ -248,7 +258,12 @@ class Identifier { algo:algo, pre:pre, prxs:prxs, - nxts:nxts + nxts:nxts, + mhab:mhab, + states:states, + rstates:rstates, + keys:_keys, + ndigs:_ndigs } let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) @@ -256,7 +271,7 @@ class Identifier { wits = wits !== undefined ? wits : [] if (delpre == undefined){ var serder = incept({ - keys: keys, + keys: keys!, isith: isith, ndigs: ndigs, nsith: nsith, @@ -272,7 +287,7 @@ class Identifier { } else { var serder = incept({ - keys: keys, + keys: keys!, isith: isith, ndigs: ndigs, nsith: nsith, @@ -301,10 +316,8 @@ class Identifier { this.client.pidx = this.client.pidx + 1 let res = await this.client.fetch("/identifiers", "POST", jsondata) return res.json() - } - async interact(name:string, data:any|undefined=undefined){ let hab = await this.get_identifier(name) @@ -320,7 +333,6 @@ class Identifier { let keeper = this.client!.manager!.get(hab) let sigs = keeper.sign(b(serder.raw)) - // FIX TO OTHER ALGOS let jsondata:any = { ixn: serder.ked, sigs: sigs, @@ -332,7 +344,6 @@ class Identifier { } - async rotate( name: string, kargs:{ @@ -404,7 +415,6 @@ class Identifier { let sigs = keeper.sign(b(serder.raw)) - // FIX TO ADD OTHER ALGOS var jsondata:any = { rot: serder.ked, sigs: sigs, diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index 973a509b..a3b65378 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -13,12 +13,12 @@ export {}; export class KeyManager { private salter?: Salter - private externalModulees?: any + // private externalModulees?: any - constructor(salter: Salter, externalModules: any = null ) { + constructor(salter: Salter, _externalModules: any = undefined ) { this.salter = salter - this.externalModulees = externalModules + // this.externalModulees = _externalModules } new(algo: Algos, pidx: number, kargs: any){ @@ -28,8 +28,7 @@ export class KeyManager { case Algos.randy: return new RandyKeeper(this.salter!, kargs["code"], kargs["count"], kargs["icodes"], kargs["transferable"], kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["prxs"], kargs["nxts"]) case Algos.group: - throw new Error(`Group not allowed yet` + this.externalModulees) - break + return new GroupKeeper(this, kargs["mhab"], kargs["states"], kargs["rstates"],kargs["keys"],kargs["ndigs"]) default: throw new Error('Unknown algo') } @@ -178,14 +177,14 @@ export class SaltyKeeper { return [verfers, digers] } - sign(ser: Uint8Array, indexed=true, indices=null, ondices=null){ + sign(ser: Uint8Array, indexed=true, indices:number[]|undefined=undefined, ondices:number[]|undefined=undefined){ let signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false) if (indexed){ let sigers = [] let i = 0 for (const [j, signer] of signers.signers.entries()) { - if (indices!= null){ + if (indices!= undefined){ i = indices![j] if (typeof i != "number" || i < 0){ throw new Error(`Invalid signing index = ${i}, not whole number.`) @@ -194,15 +193,15 @@ export class SaltyKeeper { i = j } let o = 0 - if (ondices!=null){ + if (ondices!=undefined){ o = ondices![j] - if ((o == null || typeof o == "number" && typeof o != "number" && o>=0)!) { + if ((o == undefined || typeof o == "number" && typeof o != "number" && o>=0)!) { throw new Error(`Invalid ondex = ${o}, not whole number.`) } } else { o = i } - sigers.push(signer.sign(ser, i, o==null?true:false, o)) + sigers.push(signer.sign(ser, i, o==undefined?true:false, o)) } return sigers.map(siger => siger.qb64); } else { @@ -310,14 +309,14 @@ export class RandyKeeper { return [verfers, digers] } - sign(ser: Uint8Array, indexed=true, indices=null, ondices=null){ + sign(ser: Uint8Array, indexed=true, indices:number[]|undefined=undefined, ondices:number[]|undefined=undefined){ let signers = this.prxs!.map(prx => this.decrypter.decrypt(new Cipher({qb64:prx}).qb64b, undefined, this.transferable)) if (indexed){ let sigers = [] let i = 0 for (const [j, signer] of signers.entries()) { - if (indices!= null){ + if (indices!= undefined){ i = indices![j] if (typeof i != "number" || i < 0){ throw new Error(`Invalid signing index = ${i}, not whole number.`) @@ -326,15 +325,15 @@ export class RandyKeeper { i = j } let o = 0 - if (ondices!=null){ + if (ondices!=undefined){ o = ondices![j] - if ((o == null || typeof o == "number" && typeof o != "number" && o>=0)!) { + if ((o == undefined || typeof o == "number" && typeof o != "number" && o>=0)!) { throw new Error(`Invalid ondex = ${o}, not whole number.`) } } else { o = i } - sigers.push(signer.sign(ser, i, o==null?true:false, o)) + sigers.push(signer.sign(ser, i, o==undefined?true:false, o)) } return sigers.map(siger => siger.qb64); } else { @@ -345,5 +344,55 @@ export class RandyKeeper { return cigars.map(cigar => cigar.qb64); } } +} + export class GroupKeeper { + private manager: KeyManager + private mhab:any + private gkeys:string[] | undefined + private gdigs:string[] | undefined + public algo:Algos = Algos.group + + constructor(manager:KeyManager, mhab=undefined, states:any[]|undefined=undefined, rstates:any[]|undefined=undefined, keys:any[]|undefined=undefined, ndigs:any[]|undefined=undefined){ + + this.manager = manager + if (states !=undefined) { + keys = states.map(state => state['k'][0]) + } + + if (rstates !=undefined) { + ndigs = rstates.map(state => state['n'][0]) + } + + this.gkeys = keys + this.gdigs = ndigs + this.mhab = mhab + } + incept(..._:any){ + return [this.gkeys, this.gdigs] + } + rotate(states:any[], rstates:any[],..._:any){ + this.gkeys = states.map(state => state['k'][0]) + this.gdigs = rstates.map(state => state['n'][0]) + return [this.gkeys, this.gdigs] + } + sign(ser:Uint8Array, indexed:boolean=true, _rotate:boolean=false, ..._:any){ + let key = this.mhab['state']['k'][0] + let ndig = this.mhab['state']['n'][0] + + let csi = this.gkeys!.indexOf(key) + let pni = this.gdigs!.indexOf(ndig) + let mkeeper = this.manager.get(this.mhab) + + return mkeeper.sign(ser, indexed, [csi], [pni]) + } + + params(){ + return { + mhab: this.mhab, + keys: this.gkeys, + ndigs: this.gdigs + } + + } } \ No newline at end of file From e3ea1f5c8a98b3e075206969c500fb949fe1baeb Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 28 May 2023 17:57:10 -0300 Subject: [PATCH 056/463] code clean up --- examples/signify-react-ts/src/App.tsx | 13 +--------- examples/signify-react-ts/src/Signify.tsx | 24 +++++++++---------- examples/signify-react-ts/src/SignifyDemo.tsx | 15 ++++-------- src/keri/app/controller.ts | 2 +- src/keri/app/signify.ts | 4 +++- 5 files changed, 20 insertions(+), 38 deletions(-) diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx index 5ad3a5bc..ca6a7de3 100644 --- a/examples/signify-react-ts/src/App.tsx +++ b/examples/signify-react-ts/src/App.tsx @@ -1,20 +1,9 @@ -import {useState, useEffect, useRef} from 'react' -import reactLogo from './assets/react.svg' -import viteLogo from '/vite.svg' +import { useEffect } from 'react' import './App.css' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import {SignifyClient, ready} from "signify-ts"; import { Signify } from './Signify'; -function generateRandomKey() { - const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - const length = 21; - let result = ""; - for (let i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * characters.length)); - } - return result; -} function App() { diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index a8bb427d..16526ec0 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -4,6 +4,8 @@ import { useState, useEffect, useRef } from 'react' import { SignifyClient, ready } from "signify-ts"; import { SignifyDemo } from './SignifyDemo'; +const KERIA_URL = "http://localhost:3901" + function generateRandomKey() { const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; const length = 21; @@ -16,11 +18,7 @@ function generateRandomKey() { export function Signify() { const [pre, setPre] = useState("") - const [icp, setICP] = useState("") const [key, setKey] = useState(generateRandomKey()) - const [response, setResponse] = useState("") - - useEffect(() => { ready().then(() => { @@ -32,8 +30,8 @@ export function Signify() { useEffect(() => { if (inputRef.current) { - inputRef.current.style.width = "auto" - inputRef.current.style.width = `${inputRef.current.scrollWidth}px` + // inputRef.current.style.width = "auto" + // inputRef.current.style.width = `${inputRef.current.scrollWidth}px` } }, [key]) @@ -51,7 +49,7 @@ export function Signify() { {/* show kel*/} { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.state() @@ -67,7 +65,7 @@ export function Signify() { { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) console.log('error connecting') console.log('booting up') await client.boot() @@ -81,7 +79,7 @@ export function Signify() { { try { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.connect() @@ -105,7 +103,7 @@ export function Signify() { { try { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.connect() @@ -129,7 +127,7 @@ export function Signify() { { try { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.connect() @@ -153,7 +151,7 @@ export function Signify() { { try { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.connect() @@ -178,7 +176,7 @@ export function Signify() { { try { - const client = new SignifyClient("http://localhost:3901", key) + const client = new SignifyClient(KERIA_URL, key) setPre(client.controller.pre) try { await client.connect() diff --git a/examples/signify-react-ts/src/SignifyDemo.tsx b/examples/signify-react-ts/src/SignifyDemo.tsx index 9c4576be..98206281 100644 --- a/examples/signify-react-ts/src/SignifyDemo.tsx +++ b/examples/signify-react-ts/src/SignifyDemo.tsx @@ -1,7 +1,9 @@ -import { useState, useEffect, useRef } from 'react'; +import { useState, useEffect } from 'react'; -export function SignifyDemo({ text, onClick }) { +export function SignifyDemo(args:{ text:string, onClick }) { const [response, setResponse] = useState(''); + const text = args.text; + const onClick = args.onClick; useEffect(() => { // Additional initialization or setup code can be added here @@ -17,15 +19,6 @@ export function SignifyDemo({ text, onClick }) { } }; - const inputRef = useRef(null); - - useEffect(() => { - if (inputRef.current) { - inputRef.current.style.width = 'auto'; - inputRef.current.style.width = `${inputRef.current.scrollWidth}px`; - } - }, []); - return (
+ + + + +
+ + {['Identifiers', 'Credentials', 'Client'].map((text, index) => ( + renderComponent(text)}> + + + ))} + +
+
+ + + Connect + + + ( + + )} + sx={{ width: 300 }} + value={url} + fullWidth + onChange={(event, newValue) => { + setUrl(newValue); + }} + + /> + + + setPasscode(e.target.value)} + helperText="Passcode must be at least 21 characters" + /> + + + + + + + + + + + + + + + {status === 'Connected' && + + AID: {client.controller.pre.slice(0, 5)}....{client.controller.pre.slice(client.controller.pre.length - 5, client.controller.pre.length)} + + } + + + + + + + + {selectedComponent === 'Identifiers' && } + {selectedComponent === 'Credentials' && } + {selectedComponent === 'Client' && } +
+ ); +}; +const IdentifiersComponent = ({ client }) => { + const [identifiers, setIdentifiers] = useState(null) + //async useeffect + useEffect(() => { + const getIdentifiers = async () => { + setIdentifiers(null) + const list_identifiers = await client.list_identifiers() + setIdentifiers(list_identifiers) + console.log(list_identifiers) + } + getIdentifiers() + }, []) + + const handleClick = async (aid: string) => { + // Your asynchronous function logic here + await client.rotate(aid,{}) + }; + + //render the identifiers + if (!identifiers) return
Loading...
+ const data = JSON.stringify(identifiers, null, 2) + + + return <> + + + + + + + Name + Action + Prefix + Salty sxlt + Salty pidx + Salty kidx + Salty stem + Salty tier + Salty dcode + Salty icodes + Salty ncodes + Transferable + + + + {identifiers.map((item, index) => ( + + {item.name} + + + + {item.prefix.slice(0,10)}...{item.prefix.slice(item.prefix.length-10,item.prefix.length)} + {item.salty.sxlt.slice(0,10)}.... + {item.salty.pidx} + {item.salty.kidx} + {item.salty.stem} + {item.salty.tier} + {item.salty.dcode} + {item.salty.icodes.join(', ')} + {item.salty.ncodes.join(', ')} + {item.salty.transferable.toString()} + + ))} + +
+
+ {/*
 {data}
*/} + + + + + + + + + +}; +//make it component +const CredentialsComponent = () =>
Credentials Component
; + +const ClientComponent = ({ client }) => { + //write an async function to get the client in the client component + const [controller, setController] = useState(null) + const [agent, setAgent] = useState(null) + useEffect(() => { + const getController = async () => { + try { + await client.connect() + const controller = await client.state(); + setAgent(controller.agent) + setController(controller.controller.state) + console.log(JSON.stringify(controller.controller, null, 2)) + + } catch (e) { + console.log('controller not found') + await client.boot(); + await client.connect() + const controller = await client.state(); + setAgent(controller.agent) + setController(controller.controller.state) + console.log(JSON.stringify(controller, null, 2)) + } + } + getController(); + } + , [client]) + return ( + agent !== null ? + <> + + + + Agent + + + + {Object.entries(agent).map(([key, value]) => + typeof value === 'string' ? ( + + + {key} + + {value} + + ) : null + )} + + + + + + + + Controller + + + + {Object.entries(controller).map(([key, value]) => + typeof value === 'string' ? ( + + + {key} + + {value} + + ) : null + )} + + + + + + + :
loading...
+ ); + +}; + +export default MainComponent; diff --git a/examples/signify-react-ts/vite.config.ts.timestamp-1685395612909-bba831f8e6577.mjs b/examples/signify-react-ts/vite.config.ts.timestamp-1685395612909-bba831f8e6577.mjs new file mode 100644 index 00000000..f35de5b7 --- /dev/null +++ b/examples/signify-react-ts/vite.config.ts.timestamp-1685395612909-bba831f8e6577.mjs @@ -0,0 +1,11 @@ +// vite.config.ts +import { defineConfig } from "file:///Users/alexandrei/Projects/provenant/signify-ts/examples/signify-react-ts/node_modules/vite/dist/node/index.js"; +import react from "file:///Users/alexandrei/Projects/provenant/signify-ts/examples/signify-react-ts/node_modules/@vitejs/plugin-react/dist/index.mjs"; +import wasm from "file:///Users/alexandrei/Projects/provenant/signify-ts/examples/signify-react-ts/node_modules/vite-plugin-wasm/exports/import.mjs"; +var vite_config_default = defineConfig({ + plugins: [react(), wasm()] +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvYWxleGFuZHJlaS9Qcm9qZWN0cy9wcm92ZW5hbnQvc2lnbmlmeS10cy9leGFtcGxlcy9zaWduaWZ5LXJlYWN0LXRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvYWxleGFuZHJlaS9Qcm9qZWN0cy9wcm92ZW5hbnQvc2lnbmlmeS10cy9leGFtcGxlcy9zaWduaWZ5LXJlYWN0LXRzL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9hbGV4YW5kcmVpL1Byb2plY3RzL3Byb3ZlbmFudC9zaWduaWZ5LXRzL2V4YW1wbGVzL3NpZ25pZnktcmVhY3QtdHMvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHJlYWN0IGZyb20gJ0B2aXRlanMvcGx1Z2luLXJlYWN0J1xuaW1wb3J0IHdhc20gZnJvbSBcInZpdGUtcGx1Z2luLXdhc21cIjtcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHBsdWdpbnM6IFtyZWFjdCgpLCB3YXNtKCldLFxufSlcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBNlksU0FBUyxvQkFBb0I7QUFDMWEsT0FBTyxXQUFXO0FBQ2xCLE9BQU8sVUFBVTtBQUdqQixJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixTQUFTLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztBQUMzQixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo= diff --git a/examples/signify-react-ts/yarn.lock b/examples/signify-react-ts/yarn.lock deleted file mode 100644 index 82e81904..00000000 --- a/examples/signify-react-ts/yarn.lock +++ /dev/null @@ -1,1465 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.21.5": - version "7.21.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz" - integrity sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA== - -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.21.4": - version "7.21.8" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.21.8.tgz" - integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-compilation-targets" "^7.21.5" - "@babel/helper-module-transforms" "^7.21.5" - "@babel/helpers" "^7.21.5" - "@babel/parser" "^7.21.8" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz" - integrity sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w== - dependencies: - "@babel/types" "^7.21.5" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz" - integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w== - dependencies: - "@babel/compat-data" "^7.21.5" - "@babel/helper-validator-option" "^7.21.0" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-environment-visitor@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz" - integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ== - -"@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.21.4": - version "7.21.4" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz" - integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== - dependencies: - "@babel/types" "^7.21.4" - -"@babel/helper-module-transforms@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz" - integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw== - dependencies: - "@babel/helper-environment-visitor" "^7.21.5" - "@babel/helper-module-imports" "^7.21.4" - "@babel/helper-simple-access" "^7.21.5" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - -"@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz" - integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg== - -"@babel/helper-simple-access@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz" - integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg== - dependencies: - "@babel/types" "^7.21.5" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz" - integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helpers@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz" - integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.5" - "@babel/types" "^7.21.5" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.20.7", "@babel/parser@^7.21.5", "@babel/parser@^7.21.8": - version "7.21.8" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz" - integrity sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA== - -"@babel/plugin-transform-react-jsx-self@^7.21.0": - version "7.21.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz" - integrity sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-react-jsx-source@^7.19.6": - version "7.19.6" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz" - integrity sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz" - integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw== - dependencies: - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.5" - "@babel/helper-environment-visitor" "^7.21.5" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.5" - "@babel/types" "^7.21.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5": - version "7.21.5" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz" - integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q== - dependencies: - "@babel/helper-string-parser" "^7.21.5" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@esbuild/darwin-arm64@0.17.18": - version "0.17.18" - resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz" - integrity sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ== - -"@eslint-community/eslint-utils@^4.2.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0": - version "4.5.1" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz" - integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== - -"@eslint/eslintrc@^2.0.3": - version "2.0.3" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz" - integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.5.2" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.40.0": - version "8.40.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz" - integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== - -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/prop-types@*": - version "15.7.5" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/react-dom@^18.0.11": - version "18.2.4" - resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz" - integrity sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw== - dependencies: - "@types/react" "*" - -"@types/react@*", "@types/react@^18.0.28": - version "18.2.6" - resolved "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz" - integrity sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.3" - resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== - -"@types/semver@^7.3.12": - version "7.3.13" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz" - integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== - -"@typescript-eslint/eslint-plugin@^5.57.1": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz" - integrity sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.59.2" - "@typescript-eslint/type-utils" "5.59.2" - "@typescript-eslint/utils" "5.59.2" - debug "^4.3.4" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.0.0", "@typescript-eslint/parser@^5.57.1": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz" - integrity sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ== - dependencies: - "@typescript-eslint/scope-manager" "5.59.2" - "@typescript-eslint/types" "5.59.2" - "@typescript-eslint/typescript-estree" "5.59.2" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz" - integrity sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA== - dependencies: - "@typescript-eslint/types" "5.59.2" - "@typescript-eslint/visitor-keys" "5.59.2" - -"@typescript-eslint/type-utils@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz" - integrity sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ== - dependencies: - "@typescript-eslint/typescript-estree" "5.59.2" - "@typescript-eslint/utils" "5.59.2" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz" - integrity sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w== - -"@typescript-eslint/typescript-estree@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz" - integrity sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q== - dependencies: - "@typescript-eslint/types" "5.59.2" - "@typescript-eslint/visitor-keys" "5.59.2" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz" - integrity sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.59.2" - "@typescript-eslint/types" "5.59.2" - "@typescript-eslint/typescript-estree" "5.59.2" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.59.2": - version "5.59.2" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz" - integrity sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig== - dependencies: - "@typescript-eslint/types" "5.59.2" - eslint-visitor-keys "^3.3.0" - -"@vitejs/plugin-react@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.0.0.tgz" - integrity sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ== - dependencies: - "@babel/core" "^7.21.4" - "@babel/plugin-transform-react-jsx-self" "^7.21.0" - "@babel/plugin-transform-react-jsx-source" "^7.19.6" - react-refresh "^0.14.0" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.8.0: - version "8.8.2" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - 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== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.3, "browserslist@>= 4.21.0": - version "4.21.5" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001449: - version "1.0.30001486" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz" - integrity sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^1.7.0: - 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== - -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -csstype@^3.0.2: - version "3.1.2" - resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz" - integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== - -debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-is@^0.1.3: - 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== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -electron-to-chromium@^1.4.284: - version "1.4.385" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.385.tgz" - integrity sha512-L9zlje9bIw0h+CwPQumiuVlfMcV4boxRjFIWDcLfFqTZNbkwOExBzfmswytHawObQX4OUhtNv8gIiB21kOurIg== - -esbuild@^0.17.5: - version "0.17.18" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz" - integrity sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w== - optionalDependencies: - "@esbuild/android-arm" "0.17.18" - "@esbuild/android-arm64" "0.17.18" - "@esbuild/android-x64" "0.17.18" - "@esbuild/darwin-arm64" "0.17.18" - "@esbuild/darwin-x64" "0.17.18" - "@esbuild/freebsd-arm64" "0.17.18" - "@esbuild/freebsd-x64" "0.17.18" - "@esbuild/linux-arm" "0.17.18" - "@esbuild/linux-arm64" "0.17.18" - "@esbuild/linux-ia32" "0.17.18" - "@esbuild/linux-loong64" "0.17.18" - "@esbuild/linux-mips64el" "0.17.18" - "@esbuild/linux-ppc64" "0.17.18" - "@esbuild/linux-riscv64" "0.17.18" - "@esbuild/linux-s390x" "0.17.18" - "@esbuild/linux-x64" "0.17.18" - "@esbuild/netbsd-x64" "0.17.18" - "@esbuild/openbsd-x64" "0.17.18" - "@esbuild/sunos-x64" "0.17.18" - "@esbuild/win32-arm64" "0.17.18" - "@esbuild/win32-ia32" "0.17.18" - "@esbuild/win32-x64" "0.17.18" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-plugin-react-hooks@^4.6.0: - version "4.6.0" - resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react-refresh@^0.3.4: - version "0.3.5" - resolved "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz" - integrity sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA== - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.0: - version "7.2.0" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz" - integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: - version "3.4.1" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz" - integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== - -eslint@*, "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || ^8.0.0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.38.0, eslint@>=7: - version "8.40.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz" - integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.3" - "@eslint/js" "8.40.0" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - 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.0" - eslint-visitor-keys "^3.4.1" - espree "^9.5.2" - 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" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.5.2: - version "9.5.2" - resolved "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz" - integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - 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== - -fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - 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== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -gensync@^1.0.0-beta.2: - 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== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.20.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - 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== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-sdsl@^4.1.4: - version "4.4.0" - resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz" - integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json-schema-traverse@^0.4.1: - 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== - -json-stable-stringify-without-jsonify@^1.0.1: - 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== - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -loose-envify@^1.1.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nanoid@^3.3.6: - version "3.3.6" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== - -natural-compare-lite@^1.4.0: - 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== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - 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== - dependencies: - p-limit "^3.0.2" - -parent-module@^1.0.0: - 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== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -postcss@^8.4.23: - version "8.4.23" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz" - integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.21.0: - version "3.21.5" - resolved "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz" - integrity sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg== - optionalDependencies: - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -semver@^6.3.0: - version "6.3.0" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.7: - version "7.5.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz" - integrity sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -"signify-ts@file:../../": - version "0.1.1" - resolved "file:../.." - dependencies: - "@types/libsodium-wrappers-sumo" "^0.7.5" - blake3 "^2.1.7" - buffer "^6.0.3" - cbor "^8.0.0" - collections "^5.1.12" - libsodium-wrappers-sumo "^0.7.9" - lodash "^4.17.21" - msgpack5 "^5.3.2" - structured-headers "^0.5.0" - text-encoding "^0.7.0" - urlsafe-base64 "^1.0.0" - xregexp "^5.1.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - 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== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -to-fast-properties@^2.0.0: - 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== - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.20.2: - 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== - -typescript@^5.0.2, "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": - version "5.0.4" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz" - integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== - -update-browserslist-db@^1.0.10: - version "1.0.11" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz" - integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -vite-plugin-wasm@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/vite-plugin-wasm/-/vite-plugin-wasm-3.2.2.tgz" - integrity sha512-cdbBUNR850AEoMd5nvLmnyeq63CSfoP1ctD/L2vLk/5+wsgAPlAVAzUK5nGKWO/jtehNlrSSHLteN+gFQw7VOA== - -"vite@^2 || ^3 || ^4", vite@^4.2.0, vite@^4.3.2: - version "4.3.5" - resolved "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz" - integrity sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA== - dependencies: - esbuild "^0.17.5" - postcss "^8.4.23" - rollup "^3.21.0" - optionalDependencies: - fsevents "~2.3.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From 3fcda359acb827e71eac426383d68608915da4a0 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 17:40:56 -0500 Subject: [PATCH 059/463] getting 304 from puppeter --- .gitignore | 4 +- examples/signify-react-ts/.puppeteerrc.cjs | 10 + examples/signify-react-ts/package-lock.json | 1413 ++++++++++++++++- examples/signify-react-ts/package.json | 3 + .../signify-react-ts/src/MainComponent.tsx | 139 +- examples/signify-react-ts/src/Signify.tsx | 2 +- .../signify-react-ts/tests/integrations.js | 85 + 7 files changed, 1507 insertions(+), 149 deletions(-) create mode 100644 examples/signify-react-ts/.puppeteerrc.cjs create mode 100644 examples/signify-react-ts/tests/integrations.js diff --git a/.gitignore b/.gitignore index 02637b61..53cce066 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,6 @@ dist # IntelliJ Project Files .idea -coverage/* \ No newline at end of file +coverage/* + +examples/signify-react-ts/.cache \ No newline at end of file diff --git a/examples/signify-react-ts/.puppeteerrc.cjs b/examples/signify-react-ts/.puppeteerrc.cjs new file mode 100644 index 00000000..21a646c2 --- /dev/null +++ b/examples/signify-react-ts/.puppeteerrc.cjs @@ -0,0 +1,10 @@ +const {join} = require('path'); + +/** + * @type {import("puppeteer").Configuration} + */ +module.exports = { + // Changes the cache location for Puppeteer. + cacheDirectory: join(__dirname, '.cache', 'puppeteer'), +}; + diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index ddb15358..385b5cfd 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -12,6 +12,9 @@ "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.11.16", "@mui/material": "^5.13.3", + "puppeteer": "^20.4.0", + "puppeteer-extra": "^3.3.6", + "puppeteer-extra-plugin-stealth": "^2.11.2", "react": "^18.2.0", "react-dom": "^18.2.0", "signify-ts": "file:../../" @@ -445,17 +448,6 @@ "stylis": "4.2.0" } }, - "node_modules/@emotion/babel-plugin/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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@emotion/cache": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", @@ -1366,12 +1358,59 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@puppeteer/browsers": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.0.tgz", + "integrity": "sha512-HiRpoc15NhFwoR1IjN3MkMsqeAfRQKNzbhWVV+0BfvybEhjWSyRNQMC0ohMhkFhzoGnFoS59WlrJCGLPky/89g==", + "dependencies": { + "debug": "4.3.4", + "extract-zip": "2.0.1", + "progress": "2.0.3", + "proxy-agent": "6.2.0", + "tar-fs": "2.1.1", + "unbzip2-stream": "1.4.3", + "yargs": "17.7.1" + }, + "bin": { + "browsers": "lib/cjs/main-cli.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "typescript": ">= 4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@types/debug": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", + "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", + "dependencies": { + "@types/ms": "*" + } + }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", + "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==", + "optional": true + }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -1428,6 +1467,15 @@ "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.59.8", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz", @@ -1638,7 +1686,6 @@ "version": "8.8.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -1655,6 +1702,25 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "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==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1675,7 +1741,6 @@ "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" } @@ -1694,8 +1759,15 @@ "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 + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "engines": { + "node": ">=0.10.0" + } }, "node_modules/array-union": { "version": "2.1.0", @@ -1706,6 +1778,17 @@ "node": ">=8" } }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/babel-plugin-macros": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", @@ -1723,14 +1806,49 @@ "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 + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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==", + "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/basic-ftp": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz", + "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.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" @@ -1780,6 +1898,37 @@ "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==", + "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-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "engines": { + "node": "*" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1789,9 +1938,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001489", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz", - "integrity": "sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==", + "version": "1.0.30001491", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001491.tgz", + "integrity": "sha512-17EYIi4TLnPiTzVKMveIxU5ETlxbSO3B6iPvMbprqnKh4qJsQGk5Nh1Lp4jIMAE0XfrujsJuWZAM3oJdMHaKBA==", "dev": true, "funding": [ { @@ -1821,6 +1970,58 @@ "node": ">=4" } }, + "node_modules/chalk/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==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/chromium-bidi": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.10.tgz", + "integrity": "sha512-ngdRIq/f5G3nIOz1M0MtCABCTezr79MBCrJ09K2xRk+hTZQGTH8JIeFbgQmVvNPBMQblh7ROfJnSzsE07YpFfg==", + "dependencies": { + "mitt": "3.0.0" + }, + "peerDependencies": { + "devtools-protocol": "*" + } + }, + "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==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone-deep": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "integrity": "sha512-we+NuQo2DHhSl+DP6jlUiAhyAjBQrYnpOk15rN6c6JSPScjiCLh8IbSU+VTcph6YS3o7mASE8a0+gbZ7ChLpgg==", + "dependencies": { + "for-own": "^0.1.3", + "is-plain-object": "^2.0.1", + "kind-of": "^3.0.2", + "lazy-cache": "^1.0.3", + "shallow-clone": "^0.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -1845,8 +2046,7 @@ "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 + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/convert-source-map": { "version": "1.9.0", @@ -1868,6 +2068,14 @@ "node": ">=10" } }, + "node_modules/cross-fetch": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.6.tgz", + "integrity": "sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==", + "dependencies": { + "node-fetch": "^2.6.11" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1887,11 +2095,18 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/data-uri-to-buffer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz", + "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==", + "engines": { + "node": ">= 14" + } + }, "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" }, @@ -1907,8 +2122,34 @@ "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 + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/degenerator": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-4.0.2.tgz", + "integrity": "sha512-HKwIFvZROUMfH3qI3gBpD61BYh7q3c3GXD5UGZzoVNJwVSYgZKvYl1fRMXc9ozoTxl/VZxKJ5v/bA+19tywFiw==", + "dependencies": { + "ast-types": "^0.13.2", + "escodegen": "^1.8.1", + "esprima": "^4.0.0", + "vm2": "^3.9.17" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/devtools-protocol": { + "version": "0.0.1120988", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1120988.tgz", + "integrity": "sha512-39fCpE3Z78IaIPChJsP6Lhmkbf4dWXOmzLk/KFTdRkNk/0JymRIfUynDVRndV9HoDz8PyalK1UH21ST/ivwW5Q==" }, "node_modules/dir-glob": { "version": "3.0.1", @@ -1944,11 +2185,24 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.412", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.412.tgz", - "integrity": "sha512-lsdxyQVXw79Q1/yUWp4JDopW2M9pFjnbNF2/09d75qQL5ld8ddmGruQBeA0lP4HxcGIhrL0gFXqxJDWR58Whkw==", + "version": "1.4.414", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.414.tgz", + "integrity": "sha512-RRuCvP6ekngVh2SAJaOKT/hxqc9JAsK+Pe0hP5tGQIfonU2Zy9gMGdJ+mBdyl/vNucMG6gkXYtuM4H/1giws5w==", "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/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==", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1998,17 +2252,96 @@ "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-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==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/escodegen/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escodegen/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/eslint": { @@ -2162,18 +2495,6 @@ "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.0", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", @@ -2252,6 +2573,18 @@ "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==", + "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", @@ -2298,7 +2631,6 @@ "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" } @@ -2307,11 +2639,29 @@ "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/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2355,8 +2705,7 @@ "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 + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fastq": { "version": "1.15.0", @@ -2367,6 +2716,14 @@ "reusify": "^1.0.4" } }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dependencies": { + "pend": "~1.2.0" + } + }, "node_modules/file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -2431,13 +2788,49 @@ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "node_modules/fs.realpath": { + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, - "node_modules/fsevents": { + "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==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "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==" + }, + "node_modules/fsevents": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", @@ -2465,11 +2858,46 @@ "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-uri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz", + "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==", + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^5.0.1", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">= 14" + } + }, "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", @@ -2526,6 +2954,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "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==" + }, "node_modules/grapheme-splitter": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", @@ -2570,6 +3003,49 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/http-proxy-agent": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-6.1.1.tgz", + "integrity": "sha512-JRCz+4Whs6yrrIoIlrH+ZTmhrRwtMnmOHsHn8GFEn9O2sVfSE+DAZ3oyyGIKF8tjJEeSJmP89j7aTjVsSqsU0g==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-6.2.1.tgz", + "integrity": "sha512-ONsE3+yfZF2caH5+bJlcddtWqNI3Gvs5A38+ngvljxaBiRXRswym2c7yf8UAeFpRFKjFNHIFEHqR/OLAWJzyiA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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", @@ -2607,7 +3083,6 @@ "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" @@ -2616,14 +3091,23 @@ "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 + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==" }, "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/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "node_modules/is-core-module": { "version": "2.12.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", @@ -2635,6 +3119,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2644,6 +3136,14 @@ "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==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2674,12 +3174,31 @@ "node": ">=8" } }, + "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==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "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==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2689,7 +3208,6 @@ "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" }, @@ -2738,6 +3256,33 @@ "node": ">=6" } }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -2797,6 +3342,19 @@ "yallist": "^3.0.2" } }, + "node_modules/merge-deep": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.3.tgz", + "integrity": "sha512-qtmzAS6t6grwEkNrunqTBdn0qKwFgNWvlxUbAV8es9M7Ot1EbyApytCnvE0jALPa46ZpKDUo527kKiaWplmlFA==", + "dependencies": { + "arr-union": "^3.1.0", + "clone-deep": "^0.2.4", + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -2823,7 +3381,6 @@ "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" }, @@ -2831,11 +3388,40 @@ "node": "*" } }, + "node_modules/mitt": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", + "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==" + }, + "node_modules/mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha512-ALGF1Jt9ouehcaXaHhn6t1yGWRqGaHkPFndtFVHfZXOvkIZ/yoGaSi0AHVTafb3ZBGg4dr/bDwnaEKqCXzchMA==", + "dependencies": { + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-object/node_modules/for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha512-F0to7vbBSHP8E3l6dCjxNOLuSFAACIxFy3UehTUlG7svlXi37HHsDkyVcHo0Pq8QwrE+pXvWSVX3ZT1T9wAZ9g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "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 + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { "version": "3.3.6", @@ -2867,6 +3453,33 @@ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "dev": true }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/node-releases": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", @@ -2885,7 +3498,6 @@ "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" } @@ -2937,6 +3549,60 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pac-proxy-agent": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-6.0.3.tgz", + "integrity": "sha512-5Hr1KgPDoc21Vn3rsXBirwwDnF/iac1jN/zkpsOYruyT+ZgsUhUOgVwq3v9+ukjZd/yGm/0nzO1fDfl7rkGoHQ==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "pac-resolver": "^6.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-proxy-agent/node_modules/https-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz", + "integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-6.0.1.tgz", + "integrity": "sha512-dg497MhVT7jZegPRuOScQ/z0aV/5WR0gTdRu1md+Irs9J9o+ls5jIuxjo1WfaTG+eQQkxyn5HMGvWK+w7EIBkQ==", + "dependencies": { + "degenerator": "^4.0.1", + "ip": "^1.1.5", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -2978,7 +3644,6 @@ "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" } @@ -3005,6 +3670,11 @@ "node": ">=8" } }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -3060,6 +3730,14 @@ "node": ">= 0.8.0" } }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -3075,6 +3753,46 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/proxy-agent": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.2.0.tgz", + "integrity": "sha512-g3rBHXPhEa0Z1nxZkirj0+US1SCcA67SnjpxbdZf7BloLdULEUCzbQozsq+wFwhmMeZegeZISDZjPFN/Ct9DaQ==", + "dependencies": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "http-proxy-agent": "^6.0.1", + "https-proxy-agent": "^6.1.0", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^6.0.2", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/proxy-agent/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==", + "engines": { + "node": ">=12" + } + }, + "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==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", @@ -3084,6 +3802,221 @@ "node": ">=6" } }, + "node_modules/puppeteer": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-20.4.0.tgz", + "integrity": "sha512-0/lgDbbC2LX/vMQ6+cv/doQuguFAf4Ra52fyW5oBOpQd85SzPBtXg4yPk+VhUpgr+oaOVAIUkgvBs98E+8xhCw==", + "hasInstallScript": true, + "dependencies": { + "@puppeteer/browsers": "1.4.0", + "cosmiconfig": "8.1.3", + "puppeteer-core": "20.4.0" + } + }, + "node_modules/puppeteer-core": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.4.0.tgz", + "integrity": "sha512-fcL2fYQLFZEuIIDbMhvf6WF5rAcKXetsrjOxu6Br6FEAet7kEtJlCcrKmnz3pfqkwAIlihjuzwT5ys7jMWEx8A==", + "dependencies": { + "@puppeteer/browsers": "1.4.0", + "chromium-bidi": "0.4.10", + "cross-fetch": "3.1.6", + "debug": "4.3.4", + "devtools-protocol": "0.0.1120988", + "ws": "8.13.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "typescript": ">= 4.7.4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/puppeteer-extra/-/puppeteer-extra-3.3.6.tgz", + "integrity": "sha512-rsLBE/6mMxAjlLd06LuGacrukP2bqbzKCLzV1vrhHFavqQE/taQ2UXv3H5P0Ls7nsrASa+6x3bDbXHpqMwq+7A==", + "dependencies": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "deepmerge": "^4.2.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "@types/puppeteer": "*", + "puppeteer": "*", + "puppeteer-core": "*" + }, + "peerDependenciesMeta": { + "@types/puppeteer": { + "optional": true + }, + "puppeteer": { + "optional": true + }, + "puppeteer-core": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin/-/puppeteer-extra-plugin-3.2.3.tgz", + "integrity": "sha512-6RNy0e6pH8vaS3akPIKGg28xcryKscczt4wIl0ePciZENGE2yoaQJNd17UiEbdmh5/6WW6dPcfRWT9lxBwCi2Q==", + "dependencies": { + "@types/debug": "^4.1.0", + "debug": "^4.1.1", + "merge-deep": "^3.0.1" + }, + "engines": { + "node": ">=9.11.2" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-stealth": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-stealth/-/puppeteer-extra-plugin-stealth-2.11.2.tgz", + "integrity": "sha512-bUemM5XmTj9i2ZerBzsk2AN5is0wHMNE6K0hXBzBXOzP5m5G3Wl0RHhiqKeHToe/uIH8AoZiGhc1tCkLZQPKTQ==", + "dependencies": { + "debug": "^4.1.1", + "puppeteer-extra-plugin": "^3.2.3", + "puppeteer-extra-plugin-user-preferences": "^2.4.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-data-dir/-/puppeteer-extra-plugin-user-data-dir-2.4.1.tgz", + "integrity": "sha512-kH1GnCcqEDoBXO7epAse4TBPJh9tEpVEK/vkedKfjOVOhZAvLkHGc9swMs5ChrJbRnf8Hdpug6TJlEuimXNQ+g==", + "dependencies": { + "debug": "^4.1.1", + "fs-extra": "^10.0.0", + "puppeteer-extra-plugin": "^3.2.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/puppeteer-extra-plugin-user-data-dir/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/puppeteer-extra-plugin-user-preferences": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/puppeteer-extra-plugin-user-preferences/-/puppeteer-extra-plugin-user-preferences-2.4.1.tgz", + "integrity": "sha512-i1oAZxRbc1bk8MZufKCruCEC3CCafO9RKMkkodZltI4OqibLFXF3tj6HZ4LZ9C5vCXZjYcDWazgtY69mnmrQ9A==", + "dependencies": { + "debug": "^4.1.1", + "deepmerge": "^4.2.2", + "puppeteer-extra-plugin": "^3.2.3", + "puppeteer-extra-plugin-user-data-dir": "^2.4.1" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "playwright-extra": "*", + "puppeteer-extra": "*" + }, + "peerDependenciesMeta": { + "playwright-extra": { + "optional": true + }, + "puppeteer-extra": { + "optional": true + } + } + }, + "node_modules/puppeteer/node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3156,11 +4089,32 @@ "react-dom": ">=16.6.0" } }, + "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==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "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==" }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", @@ -3199,7 +4153,6 @@ "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" }, @@ -3249,6 +4202,25 @@ "queue-microtask": "^1.2.2" } }, + "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==", + "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/scheduler": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", @@ -3290,6 +4262,39 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/shallow-clone": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", + "integrity": "sha512-J1zdXCky5GmNnuauESROVu31MQSnLoYvlyEn6j2Ztk6Q5EHFIhxkMhYcv6vuDzl2XEzoRr856QwzMgWM/TmZgw==", + "dependencies": { + "is-extendable": "^0.1.1", + "kind-of": "^2.0.1", + "lazy-cache": "^0.2.3", + "mixin-object": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/kind-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "integrity": "sha512-0u8i1NZ/mg0b+W3MGGw5I7+6Eib2nx72S/QvXa0hYjEkjTknYmEYQJwGu3mLC0BrhtJjtQafTkyRUQ75Kx0LVg==", + "dependencies": { + "is-buffer": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shallow-clone/node_modules/lazy-cache": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", + "integrity": "sha512-gkX52wvU/R8DVMMt78ATVPFMJqfW8FPz1GZ1sVHBVQHmu/WvhIWE4cE1GBzhJNFicDeYhnwp6Rl35BcAIM3YOQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3324,6 +4329,46 @@ "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==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "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": "8.0.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.1.tgz", + "integrity": "sha512-59EjPbbgg8U3x62hhKOFVAmySQUcfRQ4C7Q/D5sEHnZTQRrQlNKINks44DMR1gwXp0p4LaVIeccX2KHTTcHVqQ==", + "dependencies": { + "agent-base": "^7.0.1", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/socks/node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -3341,11 +4386,31 @@ "node": ">=0.10.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==", + "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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "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" }, @@ -3392,12 +4457,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "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==", + "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/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==" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -3418,11 +4514,15 @@ "node": ">=8.0" } }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "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 + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -3439,6 +4539,12 @@ "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/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3467,7 +4573,7 @@ "version": "5.0.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", - "dev": true, + "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3476,6 +4582,23 @@ "node": ">=12.20" } }, + "node_modules/unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dependencies": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "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==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/update-browserslist-db": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", @@ -3515,6 +4638,11 @@ "punycode": "^2.1.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==" + }, "node_modules/vite": { "version": "4.3.9", "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", @@ -3572,6 +4700,35 @@ "vite": "^2 || ^3 || ^4" } }, + "node_modules/vm2": { + "version": "3.9.19", + "resolved": "https://registry.npmjs.org/vm2/-/vm2-3.9.19.tgz", + "integrity": "sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg==", + "dependencies": { + "acorn": "^8.7.0", + "acorn-walk": "^8.2.0" + }, + "bin": { + "vm2": "bin/vm2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -3591,16 +4748,88 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "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==", + "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/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==", + "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==", + "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==" + }, "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 + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } }, "node_modules/yallist": { "version": "3.1.1", @@ -3616,6 +4845,40 @@ "node": ">= 6" } }, + "node_modules/yargs": { + "version": "17.7.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "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==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/examples/signify-react-ts/package.json b/examples/signify-react-ts/package.json index c9d914b2..3fa35728 100644 --- a/examples/signify-react-ts/package.json +++ b/examples/signify-react-ts/package.json @@ -14,6 +14,9 @@ "@emotion/styled": "^11.11.0", "@mui/icons-material": "^5.11.16", "@mui/material": "^5.13.3", + "puppeteer": "^20.4.0", + "puppeteer-extra": "^3.3.6", + "puppeteer-extra-plugin-stealth": "^2.11.2", "react": "^18.2.0", "react-dom": "^18.2.0", "signify-ts": "file:../../" diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index 01f7f576..f7bc2971 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -47,7 +47,7 @@ const tableObject = { description: "", notes: "" }, - t: { + et: { title: "Message Type", description: "", notes: "" @@ -136,13 +136,23 @@ const tableObject = { title: "Version Number ('major.minor')", description: "", notes: "" + }, + dt: { + title: "Datetime of the SAID", + description: "", + notes: "" + }, + f: { + title: "Number of first seen ordinal", + description: "", + notes: "" } }; const MainComponent = () => { const [selectedComponent, setSelectedComponent] = useState(null); const [client, setClient] = useState(null); // [pre, icp, key - const [open, setOpen] = useState(true); + const [open, setOpen] = useState(false); const [drawerOpen, setDrawerOpen] = useState(false); // Open drawer by default const [url, setUrl] = useState(''); const [passcode, setPasscode] = useState(''); @@ -152,6 +162,7 @@ const MainComponent = () => { if (event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) { return; } + console.log('menu') setDrawerOpen(open); }; @@ -167,6 +178,20 @@ const MainComponent = () => { setSelectedComponent(componentName); }; + const connectToAgent = async (client: SignifyClient) => { + try { + await client.connect() + const controller = await client.state(); + console.log(JSON.stringify(controller.controller, null, 2)) + + } catch (e) { + console.log('controller not found') + await client.boot(); + await client.connect() + const controller = await client.state(); + console.log(JSON.stringify(controller, null, 2)) + } + } return (
@@ -198,7 +223,7 @@ const MainComponent = () => { > {['Identifiers', 'Credentials', 'Client'].map((text, index) => ( - renderComponent(text)}> + renderComponent(text)}> ))} @@ -254,6 +279,7 @@ const MainComponent = () => { const client = new SignifyClient(url, passcode); console.log(client.controller.pre) setClient(client) + connectToAgent(client) return setStatus('Connected') } }> @@ -277,11 +303,6 @@ const MainComponent = () => { Status: {status} - {status === 'Connected' && - - AID: {client.controller.pre.slice(0, 5)}....{client.controller.pre.slice(client.controller.pre.length - 5, client.controller.pre.length)} - - } + - {item.prefix.slice(0,10)}...{item.prefix.slice(item.prefix.length-10,item.prefix.length)} - {item.salty.sxlt.slice(0,10)}.... + {item.prefix.slice(0, 10)}...{item.prefix.slice(item.prefix.length - 10, item.prefix.length)} + {item.salty.sxlt.slice(0, 10)}.... {item.salty.pidx} {item.salty.kidx} {item.salty.stem} @@ -405,85 +426,59 @@ const IdentifiersComponent = ({ client }) => { }; //make it component const CredentialsComponent = () =>
Credentials Component
; - +const AidComponent = ({ data, text }) => { + + return ( + + + {text} + + + + {Object.entries(data).map(([key, value]) => + typeof value === 'string' ? ( + + + {tableObject[key].title} {value} + + + ) : null + )} + + + ) +} const ClientComponent = ({ client }) => { //write an async function to get the client in the client component const [controller, setController] = useState(null) const [agent, setAgent] = useState(null) useEffect(() => { const getController = async () => { - try { - await client.connect() - const controller = await client.state(); - setAgent(controller.agent) - setController(controller.controller.state) - console.log(JSON.stringify(controller.controller, null, 2)) - - } catch (e) { - console.log('controller not found') - await client.boot(); - await client.connect() - const controller = await client.state(); - setAgent(controller.agent) - setController(controller.controller.state) - console.log(JSON.stringify(controller, null, 2)) - } + const controller = await client.state(); + setAgent(controller.agent) + setController(controller.controller.state) } getController(); } , [client]) return ( - agent !== null ? + agent !== null ? <> - - - - Agent - - - - {Object.entries(agent).map(([key, value]) => - typeof value === 'string' ? ( - - - {key} - - {value} - - ) : null - )} - - - - - - - - Controller - - - - {Object.entries(controller).map(([key, value]) => - typeof value === 'string' ? ( - - - {key} - - {value} - - ) : null - )} - - - + + + + + + - :
loading...
+ :
Loading client data...
); }; + export default MainComponent; diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 16526ec0..870bc167 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -43,7 +43,7 @@ export function Signify() { setKey(e.target.value)} ref={inputRef} className="button" />
-

+

Client AID is {pre}

{/* show kel*/} diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js new file mode 100644 index 00000000..2843e3a3 --- /dev/null +++ b/examples/signify-react-ts/tests/integrations.js @@ -0,0 +1,85 @@ +import puppeteer from 'puppeteer-extra'; +import StealthPlugin from 'puppeteer-extra-plugin-stealth'; + +(async () => { + puppeteer.use(StealthPlugin()); + const browser = await puppeteer.launch({ + headless: false, + delay: 5050, + devtools: true, + }); + const page = await browser.newPage(); + + + + // await page.goto('http://localhost:5173'); + // const button = await page.$x("//button[contains(., 'Agent State')]"); + // await button[0].click(); + + // await page.screenshot({ path: 'stealth.png', fullPage: true }) + + // const p = await page.$x("//p[contains(., 'Client')]"); + // const text = await page.evaluate(el => el.textContent, p[0]); + // console.log(text) + + //open modal + + await page.goto('http://localhost:5173'); + + //open modal + await page.click('.css-9b1tbl-MuiButtonBase-root-MuiButton-root') + + await page.type('input[id=combo-box-demo]', 'http://localhost:3901', {delay: 10}) + await page.keyboard.press('Enter'); + + //get button with class css-qzbt6i-MuiButtonBase-root-MuiIconButton-root-MuiAutocomplete-popupIndicator and click it + const button = await page.waitForSelector( + '.css-nxo287-MuiInputBase-input-MuiOutlinedInput-input' + ); + await button.click(); + + await page.type('.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input', '0123456789abcdefghijk',{delay: 10}); + + // Wait and click on first result + const searchResultSelector = '.css-sghohy-MuiButtonBase-root-MuiButton-root'; + await page.click(searchResultSelector); + + // page.on('console', msg => console.log('PAGE LOG:', msg.text())); + + const inner_html = await page.evaluate(() => document.querySelector('button:disabled').innerHTML); + + + + const Closebutton = await page.$x("//button[contains(., 'Close')]"); + await Closebutton[0].click(); + + //.css-1d6w9lk-MuiButtonBase-root-MuiIconButton-root + const bb = await page.$x("//button[@aria-label='menu']") + await page.waitForTimeout(1000) + await bb[0].click(); + + // await page.click('button[aria-label="menu"]') + // await page.mouse.click(35, 35, { button: 'left' }) + debugger + // const evala = await page.evaluate(() => {document.querySelector('button')}); + // console.log(evala) + + + + const clientRoute = await page.$x("//li[contains(., 'Client')]"); + await page.waitForTimeout(1000) + await clientRoute[0].click(); + + // const agentData = await page.$x("//div[contains(., 'Agent')]"); + // const rr = await agentData[0].evaluate((el) => document.querySelector('div').innerHTML); + // console.log(rr) + console.log('here') + // const result = await page.waitForSelector('.identifiers') + const result = await page.evaluate(() => {document.querySelector('div').innerHTML} + ); + console.log(result) + + // await browser.close(); + console.log(inner_html) + +})(); \ No newline at end of file From 7e22ff169b3272f1a9023774e0c0707b46978ad3 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 21:21:03 -0500 Subject: [PATCH 060/463] fix autocomplete --- .../signify-react-ts/tests/integrations.js | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js index 2843e3a3..61432ae9 100644 --- a/examples/signify-react-ts/tests/integrations.js +++ b/examples/signify-react-ts/tests/integrations.js @@ -4,10 +4,9 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; (async () => { puppeteer.use(StealthPlugin()); const browser = await puppeteer.launch({ - headless: false, - delay: 5050, - devtools: true, - }); + // headless: false, + // headless: 'new', + }); const page = await browser.newPage(); @@ -25,20 +24,23 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; //open modal await page.goto('http://localhost:5173'); + await page.setCacheEnabled(false); //open modal await page.click('.css-9b1tbl-MuiButtonBase-root-MuiButton-root') - await page.type('input[id=combo-box-demo]', 'http://localhost:3901', {delay: 10}) - await page.keyboard.press('Enter'); + await page.type('input[id=combo-box-demo]', 'http://localhost:390', { delay: 100 }) + //enter key on the same input + await page.click('.MuiAutocomplete-listbox > li') + //get button with class css-qzbt6i-MuiButtonBase-root-MuiIconButton-root-MuiAutocomplete-popupIndicator and click it const button = await page.waitForSelector( '.css-nxo287-MuiInputBase-input-MuiOutlinedInput-input' - ); + ); await button.click(); - await page.type('.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input', '0123456789abcdefghijk',{delay: 10}); + await page.type('.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input', '0123456789abcdefghijk', { delay: 10 }); // Wait and click on first result const searchResultSelector = '.css-sghohy-MuiButtonBase-root-MuiButton-root'; @@ -58,28 +60,16 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; await page.waitForTimeout(1000) await bb[0].click(); - // await page.click('button[aria-label="menu"]') - // await page.mouse.click(35, 35, { button: 'left' }) - debugger - // const evala = await page.evaluate(() => {document.querySelector('button')}); - // console.log(evala) - const clientRoute = await page.$x("//li[contains(., 'Client')]"); await page.waitForTimeout(1000) await clientRoute[0].click(); - - // const agentData = await page.$x("//div[contains(., 'Agent')]"); - // const rr = await agentData[0].evaluate((el) => document.querySelector('div').innerHTML); - // console.log(rr) console.log('here') - // const result = await page.waitForSelector('.identifiers') - const result = await page.evaluate(() => {document.querySelector('div').innerHTML} - ); - console.log(result) - - // await browser.close(); + if (browser.headless == false) { + await page.waitForTimeout(5000) //wait for 5 seconds before closing + } + await browser.close(); console.log(inner_html) })(); \ No newline at end of file From bf64fa590772aa9eda67370ed22f39b640526569 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 21:27:33 -0500 Subject: [PATCH 061/463] fix remote url in boot --- examples/signify-react-ts/tests/integrations.js | 11 ++++++----- src/keri/app/signify.ts | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js index 61432ae9..9612bcdb 100644 --- a/examples/signify-react-ts/tests/integrations.js +++ b/examples/signify-react-ts/tests/integrations.js @@ -4,8 +4,9 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; (async () => { puppeteer.use(StealthPlugin()); const browser = await puppeteer.launch({ - // headless: false, + headless: false, // headless: 'new', + devtools: true, }); const page = await browser.newPage(); @@ -29,7 +30,7 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; //open modal await page.click('.css-9b1tbl-MuiButtonBase-root-MuiButton-root') - await page.type('input[id=combo-box-demo]', 'http://localhost:390', { delay: 100 }) + await page.type('input[id=combo-box-demo]', 'https:', { delay: 100 }) //enter key on the same input await page.click('.MuiAutocomplete-listbox > li') @@ -66,9 +67,9 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; await page.waitForTimeout(1000) await clientRoute[0].click(); console.log('here') - if (browser.headless == false) { - await page.waitForTimeout(5000) //wait for 5 seconds before closing - } + + await page.waitForTimeout(5000) //wait for 5 seconds before closing + await browser.close(); console.log(inner_html) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index df2cd13a..de508856 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -63,7 +63,7 @@ export class SignifyClient { pidx: 1, tier: this.controller?.tier }; - let _url = this.url.includes("3903") ? this.url : KERIA_BOOT_URL; + let _url = this.url.includes("localhost") ? KERIA_BOOT_URL: this.url ; const res = await fetch(_url + "/boot", { method: "POST", body: JSON.stringify(data), From a210d4b2597b3433842e3f4e5ea96054cb275afc Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 21:49:20 -0500 Subject: [PATCH 062/463] clean up integration test --- .../signify-react-ts/tests/integrations.js | 57 +++++++++++-------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js index 9612bcdb..a2731e36 100644 --- a/examples/signify-react-ts/tests/integrations.js +++ b/examples/signify-react-ts/tests/integrations.js @@ -29,47 +29,56 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; //open modal await page.click('.css-9b1tbl-MuiButtonBase-root-MuiButton-root') - + //fill beginning of url await page.type('input[id=combo-box-demo]', 'https:', { delay: 100 }) - //enter key on the same input + //enter key on the same input await page.click('.MuiAutocomplete-listbox > li') - - - //get button with class css-qzbt6i-MuiButtonBase-root-MuiIconButton-root-MuiAutocomplete-popupIndicator and click it - const button = await page.waitForSelector( - '.css-nxo287-MuiInputBase-input-MuiOutlinedInput-input' - ); - await button.click(); - + //fill passcode await page.type('.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input', '0123456789abcdefghijk', { delay: 10 }); - // Wait and click on first result + // click on the connect butto const searchResultSelector = '.css-sghohy-MuiButtonBase-root-MuiButton-root'; await page.click(searchResultSelector); // page.on('console', msg => console.log('PAGE LOG:', msg.text())); - + //STATUS: CONNECTED const inner_html = await page.evaluate(() => document.querySelector('button:disabled').innerHTML); - - - + //closte button const Closebutton = await page.$x("//button[contains(., 'Close')]"); await Closebutton[0].click(); - - //.css-1d6w9lk-MuiButtonBase-root-MuiIconButton-root + //getting the menu button const bb = await page.$x("//button[@aria-label='menu']") await page.waitForTimeout(1000) + //clicking the menu button await bb[0].click(); - - - + //get client route const clientRoute = await page.$x("//li[contains(., 'Client')]"); await page.waitForTimeout(1000) await clientRoute[0].click(); - console.log('here') - - await page.waitForTimeout(5000) //wait for 5 seconds before closing - + console.log('going to identifiers') + await page.waitForTimeout(1000) //wait for 5 seconds before closing + //getting the menu button + const bb1 = await page.$x("//button[@aria-label='menu']") + //clicking the menu button + await bb1[0].click(); + //get identifiers route + const IdentifiersRoute = await page.$x("//li[contains(., 'Ident')]"); + await page.waitForTimeout(1000) + //click identifiers route + await IdentifiersRoute[0].click(); + await page.waitForTimeout(1000) + //create new identifier + await page.click('.css-v8aa8k-MuiButtonBase-root-MuiButton-root') + await page.waitForTimeout(1000) + //rotate first identifier + const rotates = await page.$x("//button[contains(., 'Rotate')]"); + await rotates[0].click(); + await page.waitForTimeout(4000) + //show updated rotation + const update = await page.$x("//button[contains(., 'Update')]"); + await update[0].click(); + //close modal + await page.waitForTimeout(5000) await browser.close(); console.log(inner_html) From 0b03e372466137c7b5a03f0afde1baeb19f0caca Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 22:09:28 -0500 Subject: [PATCH 063/463] refactor to remove update button --- .../signify-react-ts/src/MainComponent.tsx | 157 ++++++++---------- .../signify-react-ts/tests/integrations.js | 21 ++- 2 files changed, 80 insertions(+), 98 deletions(-) diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index f7bc2971..f818e99f 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -25,10 +25,12 @@ import { TableContainer, TableHead, TableRow, + Fab, Divider, Grid, Stack, Box } from '@mui/material'; -import { Circle, Menu, Rectangle } from '@mui/icons-material'; -import { max } from 'lodash'; +import { Circle, Menu } from '@mui/icons-material'; +import AddIcon from '@mui/icons-material/Add'; + import { SignifyClient } from 'signify-ts'; const tableObject = { @@ -318,22 +320,24 @@ const MainComponent = () => { ); }; + const IdentifiersComponent = ({ client }) => { const [identifiers, setIdentifiers] = useState(null) //async useeffect + const getIdentifiers = async () => { + const list_identifiers = await client.list_identifiers() + setIdentifiers(list_identifiers) + console.log(list_identifiers) + } useEffect(() => { - const getIdentifiers = async () => { - setIdentifiers(null) - const list_identifiers = await client.list_identifiers() - setIdentifiers(list_identifiers) - console.log(list_identifiers) - } + getIdentifiers() }, []) const handleClick = async (aid: string) => { // Your asynchronous function logic here await client.rotate(aid, {}) + await getIdentifiers() }; //render the identifiers @@ -342,83 +346,62 @@ const IdentifiersComponent = ({ client }) => { return <> - - - - - - - Name - Action - Prefix - Salty sxlt - Salty pidx - Salty kidx - Salty stem - Salty tier - Salty dcode - Salty icodes - Salty ncodes - Transferable - - - - {identifiers.map((item, index) => ( - - {item.name} - - - - {item.prefix.slice(0, 10)}...{item.prefix.slice(item.prefix.length - 10, item.prefix.length)} - {item.salty.sxlt.slice(0, 10)}.... - {item.salty.pidx} - {item.salty.kidx} - {item.salty.stem} - {item.salty.tier} - {item.salty.dcode} - {item.salty.icodes.join(', ')} - {item.salty.ncodes.join(', ')} - {item.salty.transferable.toString()} + + +
+ + + Name + Action + Prefix + Salty sxlt + Salty pidx + Salty kidx + Salty stem + Salty tier + Salty dcode + Salty icodes + Salty ncodes + Transferable - ))} - -
-
- {/*
 {data}
*/} - - - - - + + + {identifiers.map((item, index) => ( + + {item.name} + + + + {item.prefix.slice(0, 10)}...{item.prefix.slice(item.prefix.length - 10, item.prefix.length)} + {item.salty.sxlt.slice(0, 10)}.... + {item.salty.pidx} + {item.salty.kidx} + {item.salty.stem} + {item.salty.tier} + {item.salty.dcode} + {item.salty.icodes.join(', ')} + {item.salty.ncodes.join(', ')} + {item.salty.transferable.toString()} + + ))} + + + + { + const length = identifiers.length.toString() + await client.create(`aid${length}`, {}) + const list_identifiers = await client.list_identifiers() + setIdentifiers(list_identifiers) + }} + > + + + + @@ -428,7 +411,7 @@ const IdentifiersComponent = ({ client }) => { const CredentialsComponent = () =>
Credentials Component
; const AidComponent = ({ data, text }) => { - return ( + return ( {text} @@ -465,8 +448,8 @@ const ClientComponent = ({ client }) => { agent !== null ? <> - - + + diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js index a2731e36..aa190d92 100644 --- a/examples/signify-react-ts/tests/integrations.js +++ b/examples/signify-react-ts/tests/integrations.js @@ -56,29 +56,28 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; await page.waitForTimeout(1000) await clientRoute[0].click(); console.log('going to identifiers') - await page.waitForTimeout(1000) //wait for 5 seconds before closing + await page.waitForTimeout(2000) //wait for 5 seconds before closing //getting the menu button const bb1 = await page.$x("//button[@aria-label='menu']") //clicking the menu button await bb1[0].click(); + await page.waitForTimeout(1000) //get identifiers route const IdentifiersRoute = await page.$x("//li[contains(., 'Ident')]"); - await page.waitForTimeout(1000) //click identifiers route await IdentifiersRoute[0].click(); await page.waitForTimeout(1000) //create new identifier - await page.click('.css-v8aa8k-MuiButtonBase-root-MuiButton-root') - await page.waitForTimeout(1000) + const add = await page.$x("//button[@aria-label='add']") + await add[0].click(); + await page.waitForTimeout(2000) + + //rotate first identifier const rotates = await page.$x("//button[contains(., 'Rotate')]"); - await rotates[0].click(); - await page.waitForTimeout(4000) - //show updated rotation - const update = await page.$x("//button[contains(., 'Update')]"); - await update[0].click(); - //close modal - await page.waitForTimeout(5000) + await rotates[1].click(); + await page.waitForTimeout(9000) + //close button await browser.close(); console.log(inner_html) From a163471f4fe13a243a57530ef7ceec97f9ffc320 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 30 May 2023 22:13:20 -0500 Subject: [PATCH 064/463] adding screenshots --- examples/signify-react-ts/client.png | Bin 0 -> 347070 bytes examples/signify-react-ts/connecting.png | Bin 0 -> 88466 bytes examples/signify-react-ts/identifier.png | Bin 0 -> 316351 bytes .../signify-react-ts/tests/integrations.js | 10 +++++++++- 4 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 examples/signify-react-ts/client.png create mode 100644 examples/signify-react-ts/connecting.png create mode 100644 examples/signify-react-ts/identifier.png diff --git a/examples/signify-react-ts/client.png b/examples/signify-react-ts/client.png new file mode 100644 index 0000000000000000000000000000000000000000..ff5ce479d00d930f219e407d2fc52779f71de476 GIT binary patch literal 347070 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.^5_#pj|n#XYWeyY!f}xe2?sqOx23 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 literal 0 HcmV?d00001 diff --git a/examples/signify-react-ts/connecting.png b/examples/signify-react-ts/connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..3d38e1ebf0e0596024688d9b4c4b6c99db4720f0 GIT binary patch literal 88466 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ڌjW^mFH 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

!e6%g<({rVE$Ybhqz|dhmfq4sdKkLw^Xf3T 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 z�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 diff --git a/examples/signify-react-ts/connecting.png b/examples/signify-react-ts/connecting.png index 3d38e1ebf0e0596024688d9b4c4b6c99db4720f0..603a13090b25265f41a85a6890fc9c43484093f3 100644 GIT binary patch literal 95905 zcmd43cQl;e_XaABXpu-HK@dUo=n*|3i86ZcB6{y_v@`@!qKw`dX7s`6J&4}BA)?PH zQ3qqVujKRn>;8Aw`mJ>>YZ+(eEoYy-_w(#$pLar4m1W6EXh;YM2*~B-UaJ!j+yGt^ za@`~ZMwDNcZ3BO%(|2O!G@xK>$?p^)&>h}NX&`+ep;n6`s z)k;kE@Or_~_>8Ok1D;f!K;9Q`WkcQ*A05JqtKRH-`@NprL2qhW$%fd^(l0TkJe&`e z{O{I7M}T8^&QEo~`{N0t0VWGm1+&{{1<&p4wCSVrf8nk%C-@%6W(*yR1 z=|sF=rqOL}@1(5tjVo2pLG6%+!t0Vz3=-M-8GeTOD(R{P%_cF+6xYYZtx6o5F^=3O z<*vG2FOqKmv*d?fbpyNb^P|ACAaGrM1&^K0a8$q_iLH}&2~B$u3-P88WwuMJ^JSyX zf7RbW9eu?6dMwUOGgjL*y2CQ@Mz_GeU=nbjdYV+=v#qmPr=}7H{I3jGN8jx}8;Mi= zjxDwXdsxfk|K=kCQRI;Bk4^xucC#V^7|=VD}ROO*33J1dld!)wR_-|Qj zHr+iu(HCc17w$4`t0HbymMCz4x`0l;a{7>)iWIy2Oyj;pBYxHHhSni|`TNcq8J&P0 zByUOf7AWREmwr)DIAj^++4?xa$dQI7rPB3qhOt@^xLV0+;%I5?Gl~b>x%Qs9-xn6cjM_#Xe6{v1(v*GO(x) z3@3@q`9v#B3k(HEXFnw}hKjuc#w40O@o$S8!Jp43P0k<4j{r7-(K^<>iPzHFey(!1 z$-2EECJBz(K3+o+sC?;3u2{L3w$3F}cA1Uem5h4rz`}TLVQH9^Fb^ zuX+Dc-}6HqV|SJ6>MC>}EH);$2hQQpxWuG4c`?*qZELx2k3Aa5;I>b4FDq5aQY~ol z)ic!mpU?Kpqw42Ifgnj~nBVmNfjLA|oF6a1N~=|%Ht^hB=C!8ZyEO(d=!l{#{#Rr<>0h_JlwwRIvWIn*mlQQ z)SV#3Mo%{n50B8TfyWC7ZcvN{l~+f6A;QsYup|w9KAq1jZ?QskTD)*RQASv&7-u4W zq;VOMF$eKZXC-J_8dUGIRN8f|n#JUPpPj)|yXW=2;n*G27Ga1i1%qq#v@1SB#6$pU zW4m89S+5loLb0u}|A_Ubq{r`?fb&sV7I_1wi?6n}n1izl70i!vrtO#UN&OX7*4^s< z>+J?YZrW}$O@V(<7llX9^RFJkg)j)hN;&1h{tyQ6kbgk4^Tp)Y&{Q0*wdeDHsnk&0 zv#GjWqH!~fbMzU8f)M3gj4Uy(@;LmwjpkS0w+O*?pwtt+K5Oow}l>w2uJ>ih~v-}BMm_h1Gz@Oqinsg@h##RaJnA78t#NXi@Zd=mD2{x@>+0GALlZO6zWZqly##VxwlhodD&u z7bW=tyKeF$`I5LB<6{#WBORnN^XD5HT`VH4GZ*KWi|t@Bm?U_I)njyGcAqdfW-i)! z{!@^C6}T9Urgc9$VBhk#N&(J2?z;Qwe6{(a_IxShBCn^XmqorhaM?`MZ~eoi(bKmb z@ta*y>%z^a3gZ4mInYQBUg*>Xl5}Lhp=Eehz$wtsx`gdmk6T5{z+!X#aDbR(X zIyqUi*su}$YxXA#5W(dc;^_2+=bixba6{Bt7avb_K+y>%&Kmyq`t~@^ge1IhC6UN-;}Z&XgJyS z_YqRFVU?$kk~L|#u-hZL8k39lYS=om^IHj8o4aktY&v>shb(9s*4xGnU0ZO$rf>)` z8zRm~xb*@$${d*zs*MA+xI;f24b<-_(Y}ls8xmACs>a~GsG_>uw(Wp~VY4Q~$SN4| zrG0w`Si3kCJ-u3AQA*-9lq0a(r^10p83*Mm0dHxaI}C3DN&kGj8IPTDN09>w9ly6` zGg-T|?JMNeDlM;W017`}3C)mq2evoL}9)vGFv)M0}MV8zH=q>{fpo{MJivH^|NE@T@ewXJ)nS#7%F} zkPA%~B2OMJk$x5x&bq=!YhTufH@TqG($t3H2LM12$iT(WBI%`EUla>xPh!TM0uHND z(b&TTld%D>YD~xiu6g@8u+$itX9)~s|DzrDxrCPTCg(H4hX&1fZj^Vg!|9)5ul2%( zGYS7)P7^PlK=cDC9f0up23(}0wp(Hb0~UMX@RDc8N1t0Ig$9!flV?QzPlcNb1}|2f zY&zhDnnoHqC!`NH(p6CTrT77cnpvrf%~2pyx@${Q9GkSDNn$fL*7gbpr?ajb?`KvD zCyTvU1w&48hb(jfe8Kbj1b+hEd z{63AwmlSGle^C77OB0SFu#{pxP$%Tp=IA9exH#Inh(0{M8Fyn2!`ktFnhGkf{XY6D zvsZx}6u|mbe?JNOD93qli0^qH?5<71q_7~m!sHm?d!9wqw4_}y?>d{7W8A3}^*@&L z$3l^3-nBhK#CM~(*|NfOX9kwGBTD50pxPLKa)o~hV@r~&-(hF}=Of;}l`u}7l~lo0 z+ZD9XOxcP4mN!O8e&nRWYUJth(|$Vhf?(!;ld>VB^Vx}+m@2$P#@V+>I+0vAE9Ls; zdK=7E&aIRf)5V30eiQi0?;H4E^%v{L&moLi7J4&Br-j=m9<(LY?l>VGry&Tf;}~+% z_&f8~{7E`Mw0Im+IJHY+26cX)H#KDQ+eslE)*2(c6{xZ%*LrLFKLv#oN(@Z9t<~lm z=p$r)1J*##e8wHF7V^|Lr&Pbo+CH1=B0@Pa7W@mVclx~ywuX@k{GZzFo|`0i&5}>r zd#aeoaZ#U7M=`kgQqLcj`;Ie^LGiiTxo@7BVzHltK($46wvUVIqst9N*xfd4p@_YY zHl4MEcE^5_+(u1Lw!A)yQ~9*VlaXqS3qOz41M*f^*?MNy4~l8Jso|y%>vr~= zVV8)CqK|}ic>+Lj81Li<^7n6yNzLo)R%jdhAVN8?Ak6>hR&72=!F6G<2j0r5s*y42 zH=e6gqR7Cnp{}1?UFZG+s{1C3yE}3H^TRgH7jOTfS*6u%XjH!6+kQm4DmmddKYawAIRW@FkeBR!_B2ah zLYuFs&=_40T*$7x3VFn}cIBAQYU&vmGjVH6BOUv;=>n{4O&ST_ zlVcOBb5Exxh1Yk3PKnw&4NaY$RH6d*equ)hyq14mY20gby9``&2dPIIx!Jr)bt*x^ z)ysT)5#*OMe)nYR%NH5lGV4&^y6Sx49nZ!_)b>W*tE(N0$G|cU1B6|*S&{5kH)~Z) z(Q}o&xxDZ-B2?GOz7=XT36${J-`@uGN!Y$=LIMv!ff`U2t~Z6m%)~mkW_Q>~kh&?! z(3i+DXIHC3=t}h)9ixlWR@#ix($GMy_~K3`xY4*jSwf7PS=?*&8|{;PZMumG3TDIu zp5?$fo>ba`^P*CxpSAt9ZdQa66Ju*td@EBi*rhHCsb%`5aay9QBbPKYO~k`>$e+T3 zMDw2VIEjRe26pN%HPMJoQ?G7Y8}^$hGT1rF6srl0TJ1|oaI3$DJF3g4wd#vz_FwEZ z(eTo-n)mne^0>tNC-QZR?FLom8~pO>umzrOVgl^W$;+5g3f_gsasIxZ_4!spg9Ekw zg*+0ag~EVWgo<2G_m+Y*|S zu>rT9PX3Ak>Y3S!KR`ms;Q;{?Ut1+PuX}sx{zj54iOp`_GY$M`4oSLDqfkL`Pq< z#{>=v*Nfzx8h7DGn_!ce(S$$yCg-o7dI7oF4s9$hGG4=;D|r!?|sUcf%Rx4dl7Gw>?qXs7|(`Ar4WiuuPDo}KUnY5{zRq3%T63+CP1K?(+n+c>Oe$Zz(f>RqX*00UaQ>nkV?nlm4q=8DM?Ml|>xT7_Uhi4n^&Ufw18C8d6L{Ly z>{Z=-$;LQX%BU4hOiGP?r-^s8OAShal7IA>lePVrfm0JymkSDdz+-(ekAfE!#gNHx zCp<%6;<(hsddT)s#`#=ArSoo!`bJI&1^Q>!we1tUuUBDXqf#()FT!Ja=n6nqx<;j& zcmlV)=ECZMO6C;Td=A1QN-wq<3YuE=o?s}hYibzeQ&5gW7#c20p4-o4Blh+_ZR0RJ z%>_WT-IcG+r^Vp|@{`>rebE$zRr`%}`ZeD2Gb0Pqjm>xmIx(tRuVceaI1RIsEMP9Jf(DeLQIn1vf2Q!31BI)(}9Kac;=0< z&?WF6u?w*^r0@bb=N@;`rFZ73 zKOBg%B>mX*ID^I$tC2 zD>=2IZ6>+DeD|-=gfu9(tt!C}DfvV(oixx%0n%60BOsM288}Ts?VOwkFVNkrbLXE) z6S&4h9Giq3a8PQ2!(Ek&V4UdrFhz4dK;6hih($-2;cThfPS#(7E`9vNd*?!8hwewB zLrKbS)z#SKgH5eFdJ4^xp#!Os@l|B*KtWNrl!IMo!un-rMsu-OW&c4(qzDSg2DS!w zK6RM$EB@4)S+6NH-o^qt%q#ViNh!Tho$v=0vz;{t;`8B!rIWDOu8PRO4Jyuq@r84I zW!_L}kLSvz|$}`RWc(0;X8lSc~hv20%%BdV5KeKN)Hn6$5s%?L8E} zHN!NxgSA7Q+Et#+&;mqMU^&3eXSKTv^^udI5gWT5vysJRQm!swC4}iq($KqR06;~l zfn&W!HOj+lesT=$p;MSuF3%cCC!fN>Ekc!q4M0l*Jae!|aI_wur+sf8;GC5%qg8-Q zR(|r|Xm`I%8khW_ zx(Z%js1XqOQovHkiX6@cS$4n@eI|*Ehc#un487Z%&JWnoF2_$-Uq~wnSoR>ejKl+t zB_xdCaJbsiH|lm0VIEne!zD`v0&EZLZ)FJ_L^onpsYKnci*K8s=5fsIVNI;EJ%P-dXv{OQxl*1w+7X zf8f|k3x0~#)~FtmN5Gw|AB{_Pj{H!OXfmuoEWb3rJS9Qr*M1@;f*juRS6Mivu9f6_ zVNSk(-!N;3X5UWq*1$PA|Nhh_ZinRIBsBd`HGdisx}hc~_u}z%X|&DH%a4Ch%eie) z2Ov|er0XCn;J1Lr^z_tOHS@A+TTWMzb4_pWw!I3apS`wYaNX>d@C%QNzuEnz>E@5e zcR8QUhIRkB@$~d-=eVw-1Yzel2YG&|{i@J8D2kZ4q81d*dc^zpwg{Y0XcqFix}8LB z5?4?waJ{-8MREDYyRZr>VP$s5RGm5Ncn9}h{!cO4p}qe6Tm00X@#3DJ#gDjrHhtd5 z)A5#f^06tVIrlLHAji6X+>g5R_i%XmH&9qI?w$|@D2yCop$Qpgp*9M`ROVt?d{!zT zJyu5SqmDEg*9fC6&pt_u?J~eu_S_0d$X)+dFfDPWFwmVr&yK$KoGFl^np<=BYJg91 z9!IEC91P7T_Le|~Hb0ZM>V%$HHz1gho)i90_lY$bn=39`Bag6H!YBIZ^6h_BSeop% zG7_@H-Qca+B_@d-|8m{rhTNB+_9Bjhq+r_~aX9<_&o#cWaRwcoKtq4iaB6ll=3fF9 z)5x}R*x}a+h>s@SpMr)TaSK*(9(x$mLk(Hp5;;Fx)Pu`u#)78y5!tKfPqt9nQ~PyX zIZAoEDPiuk1nLnos)>}Z%Qn5OgTFsKeL_xE0!c`$3y=@GKbBCCEr=z+)UX(BM%s44 zG9wL19^9jOX3I8=p1y)T+b05#(IQEjDPlF_7smQ~IZ^v!g9n(`2FyE0l2KW-5KU{( z2$iZ(g6A~Vhh98Y-?|nf6_i?X#@(*!&*;LF`Bmn(PM<)YxxYD_`EFcw*g-mj1y0Ou z%l4i5%@Q(wW;Cs;-`$`5l8wqCsP@Ej5`7Ts)%S$3z1phh$7$IF#B3$MiGm!37=u{@ zwX(Y6CI&f2SA$medzOo1K%P%t_dhZ)HvSn8ZcT;`|-d z=Wgf^GbpOmtoTHxE%}2igNaT~-79Hi_fIRDnaVOn+SP>KSTQkW4ddV9Pf2MN4(DN+ zNIDEHqNgmY4I>$O0_V)f*j@IRKA1H~x8)}Ks54411)h}@^*WxR0~xB92!h|s;w%!4 zyAR~}p@zeT-#@p#{`zh`ZR%68tt)Spsm7?O|hPs$k9i=qxG+0Srj+nMK z?1$YteiU!!H#FKSMA`#2l+#@mID{Pv*%tl0u%e5Y-2;Csnhdd#1MbqMgR7Z7uvz1Q zFJX$Zr;h>OXsM7JA)JL_VOnGbl5-hwId_g4_)8c~)%(O@WyWeYXPqw14!>O0<}%B^ zHWFW0W0q;+&vgb(XqF^ax3y{l0`&CdtU)tg&vO0OaN|^nG1@Rtu%^MPmQj*yM7(iv zh7LsA=XlW~9(}Wu$jH;THpN8h&%-Y6ji75N(Mc*TznGGAZXUkFjl(K9j|zpb7;Z__ zov$byrDlW`G!2t23PCrQ5A6PDYmFXA0MDmVduB)6ZKv6 z%cXe}=d)Lh-}L+6^~T}MXUO;TI9WFze%P@03r@u6sT^uI|am?+ve$C5h zoP?FE)27qmbQH|(bvV@DwrEK^08&h+*h}Lki5yz_X)LY`e0x5pO&ELfW~H4J9d{j zi0CI5kLydK^Y_)c3SrK9k9+fFkKcgDdq~>hbm>E!;4<0iqtF5i zPW_gb{of^JC8HQKMD_?cByWTy+?ToYxh>A3tMjMv>jYsLL~-Rx7iS7y!M|UszEn(% zxi70is)S)@eaK39tj^RFHaV0!LrGT?P4~eggv%oYYEos&>_{<_z}s#1&?d^ws;rEW z;jRU$fxjO{SKtiNetDn9F&z_z28?(**C`tBohH^)Q?6NPNmPm3{0S*g`JXYuy*=fU z$sEGohk1LF*-^T_35AL2XxTU#$QrVSk=1Vw z(2MD>h~%DSEKa6z7N%n4PIr$Y8Kc^x5Bh0o0jiv_JsD2q8`d?P3lVv*Ozg&TT zty)Uoz0e#`IXGMu-cw~7F#R=BDMs1r_2H{I+(JNx&jDyL^ZE#YrBaZ$cd@E|_UNY2a(N%j}lUiyXOEra;0CQ`bOc)qtfZ z61|)XiM@d!R)Y;{8aOFB_%m@*@Qj&nf!O2=ldsv}S=;#x#FPnTD@)rG+R)?%a5j%7 zsYDHfY|1FU<$KHTdC6f-bA_j_rKdTNy3-}}CPRJCz-|CTO!+AR!N0u#f77*w(bx;# z;gDz++efOfMvEZ_?SVba5oh6?erlT4>17%f{p^CRfZND%rd+FYRIBX)DLEvXKquxC zkJ1N?KDewXHaj+Dk4OX}1>nL_M;q!YV@8&b{v_GL-Dg7j3-)>ha}7!gH0Kbc9Glif z&a34142x^^yHjhS$gj7Ixf7*NqR@+6(oq1Gn?){(0JQKg6c()W) zcgnzH2H7_N4}{Q}x!W7?lf{G6(B-)b7k^my^pTY~`)2fA4Hq0!?ZwTK#KlQy(6yDi zsGUtsFY7;2i9v@f`U0$(dgGGu@nrYl!DdLw7nrl}*kEq%3^jORa+;Ic%;|gZhN|cE z?v{?WjZ2Pz;<7d9_29M}2TEHAR~2BKM8gj~?c_3eP;Um_(Nqn27PL=q2CSCvgl7F( zH5~>td+tVSH!5A7E97=fA5u^f-svDw*C^v{gJLcYvQmRsHoj zWFA8kO7b^-K+=MogVeC_?{pFfx4$#eL}!rBdppI>kBJ5>5HlIw75$utWAf7}rI7aV za(983BSmKw*09+#eVc*5;SpwX2zU!s)x$oGwe-8;by0PQxVz(1O1D9~>*@gb^*jFX zq!8BA+lU{1?HpBmL_t6(2y++4nZC$a38<6l35@*p`c zy#xs#p?#3q0BuJ5N3z~8tLWC7&yiG;d^ zxYVt0kuR8w4pQLkv^T#2(YBLDZzNZ>rJHfdE5PlHWNSjqBG)vxo8bBa@V#c1@pvEi z_85}lq`O0II544qL)WPgpgsz39^%MY@+o|5x`6#TA8gnh4Wk{tox8Q^Rzyg4M3C-H z3Ah;t^ncp>abc1$FUjX^8oGRd4Lnhe+Sb)$DYdbdk2TpzQz&hkhQZS9ET21L61mF8z|pcghk3}2bsq& zLJQ@sh4$D}L0~TG((B3eed_)O3)B(M%b){eDODY2(!f~a=lQ7RUigQih*G6Vj zT@GxRRY+ct5M67HvD8Q*6St`z(rv2Bg1$IK2U_KJbq_~o#5bA|7$U-@NNf+Va7@3M z|8}mGj50%geFvRs?zl^bN zKjSxwKW4BPjovmkDh>o!IQ$Ij11w4B6u!P=Z2O(rs3KEQn2Xvv7559{Kr+&M703~z zi58WL2aL<{J5!e0J}Bg?`hkN7hMIRO?D0!>#UeZglI=Ss(z7o7iCW&gi38^~M`;u` zS`{WN#xeqMKT)BdYh4Mqj;vq#hblA%I~p6qVz;K>+-ukR<{$Z%FP-U|@%INkN{wh} zx79DcIWNXsF9AwVnUS+PN)$3%-K4R^*rdM6_%cyy^#=eEv=@1gp;)~%tDlsJgV?~= z>~#3(7G2#v&t?{R?Vv{IOj(tk4f^pyQ(Sju!0xLA+CR+Lg_#GVW;-5m9u_X!lHC=f zr=pOfG!+Vp1adx>nm#LA$Nrbr9z{Z%&+F(y`*1JrOFZqI^$71pMGrwnd;i3@H`++t zj4jPsJHlF9DZIn%Kdf`rUTobr_xp#BA1#*Y&v~hr#gNH}k8NQ{aequOr^lOxpgUv_ z8^;8k)6gxy3a{awK#WB;D{pb~2zlUt538JTcS_3UJRH39w)7@d5cOxpusBWp@C5Yt zruUaH{veT)scB?A*-5-iBggJTM++?|N3$$viiG1ugX-AC^uX81>bLHdLgK#zypx`D zbE$B~2RNEUof5&|Gl7h`9T6-xRNsSacicFr_BX{jQR;% zT&{!_&I4cpt7E5?mX0rd2eBAw?E2NJ^0~E58j~5@!d63csO8}&p36|94GEKm&_@|6 zM73Qv7;(e-9<*1_di;{M{yAdUJUH~bQ{BNx4dygAlnE4CE(yAkZ_$+~jjcOrJilh+ z0D2Ko0RMBC)9BM)oeOH*aI){VEa)%?i8`A;-XuNldxc}-Qh~hyqMy!z4wcK|)cGqO zhCDbC?h0`E(eo-xn zw5?M$%QC)YRha<8SfK#y^qR?4*eO(IX1#W^^S6Z`ke|vnm1Vsqr9mIeHErLC;^X1r z8--qbz`v#A3W-7<{TO@k?c-BqDodS=&6Yd`hX5+cHJkK`7}Q zF+L>Aq_%Op!al-00hYn{>3f^xZ6whW80Vc)Vq{nXRVbb4=kB$Ye{N`2HTdp_y2{7G z`)>Uje}RKjUDZ1O45YRAlZByqd1JGS&k>X_`b2bm@r#G?=ujU=X|kPPvW`x+h!D&6 z`cdw3H6dN=apo0}q!4v1L?fS%B2VldgSP6!Z@M>b*d{fezr}Hbvh=}bwi^+(TFD^F z-Y9{E-~9P>R!72*LRCA}ce22Sicf=clUrIanH5r!MN1T2_Ffyl<^D#6HE$l=J$|G6#eYDIT$&yGB4S;8Qjl0mY> zqmPV`n<_zn>rmb#YIt<9Jk320uc(Hx+wd8whTFEr4x#X?14NL-4bL&^g797EEl#^WdQxqk@=)z>j!#P9zsIwPTAvVNpoz-IHa$u+k1oOHuU zp_iW!dEM{r3}WfpgRWI2E&+GC@US)jkA$BUI|r6LZ2glYJqC#~D%jv7q#(&}`|E*; zeTwzqYzoFwzpe@TM>o@w;UuNs_a2U*3JX1O@mh6YW4#%x>M>_0?ZctQ5rMq>vhLSI zbR@ihio(b$HQpwi7F3n%VjgtAV}8x~-rq>8md%PwoH95tNJ^)S%^~k5P9~Fy$(naI z++s>BbFXA65{^3DIPF;3-m%p536aobO8?$Kwie|odh6>txq&D^c^gDo$qXkn;R&~H zaY-4E=q4k-c~p)@#tyjWVuOo#81NbU*};?!iBdyuyLq1_a^|g`X}>j|8==*ZUHF+i zi9A$GzXjxud$Bgc3ZkOJA>U)&?56>Z!OLNOM&!!Yi#wW?A2>d-DCKRhO~g8EWYj8G z$)ivMUYSm08Y58OD^M5n0Lwk6%qPKk+r5?obfatudOPC$8$kkv!57?emOMcU&9J7c zoHu$w(6tX=@eiaORdtPR;kBJ>M}dmPy!J{5f{#eIT5AAF50^NR;44^){IR7YLYWj> zpj;Id5bFLcX(2t$KKvWJ`UWt?55IS(DxUtMUc)uTUMhq@U7pmVpje!Km(BWJ7h2>B z_Fx!tkez(=&d_%-q!K<|3KX)1RzwHq8(Fx)l;BF6#g?@{!jX}i6)G<*F&)<=>Hr0a z0}m}RNcEjQe7#el+Tk6^3x1>MK$agpM89G^*_-6R62?bf1=Tbdk9a?A>HGF&tY~A6 zYSL&J{49uJP_CyU|I=j-%=6nXFX|?qJCkfDzs-_AjnNg2=W_w~X77m`+$zoGSmYCmRKxLnL4XHABPm^A6h~VML<^1fvCx~%-Af+n($=ZZAdNzP@hG=i&Zq!V zO8w&0OzlTTWO|MNefT8<$d>~}#aaXf+s|6A?A{cKO50xtBve7x-7Zx?2ZoIlf|$JB zx{KB^;beieR+euT`)o6A8PSM#I2HX-hIKcz--(q_O+Vn;`h&Y*> z*>rVhYWF?zW=hk*jHW(n*CZ+TG4+}G@O`PcgL4tN5|_l9|3+Bz7!m$`|K_oxgYk<$ zQk}qD+_O?vx&Rxzb#eUf9ve)y5?Rw_TYy|bhn_6=8KVm`Ts%Fhv6S>MB~JSu+jjrLv+!TQd8|FzR` zAW~F*#&BERTnFYe(NA1Z+sU4|ajWC7?O~-Cc=2V_>O_12bKW1T%GzGJqiH}C)T$t* zxQ}adq3b6Tecb>)7td2OuH%4 zdI2Jb%5RVD$=*2JV1o2eW-S5gbfbTR%Hq^7S-1XAt<5$`=%b7sug`5jXy}bMRd(St z4PG}cmg9YE#_o;|L(1;w3#K)Cyosk@m`CWfoPVJ{m)G*3E*prV z72&E}m}Us+&D3h3)UEqbZHUa>Vhw(#LOVXm?(M`6{!QruBQR3hjUR@Sb#VV zp*z(Q4<`o~b~FcXg6~?Qi4DMbxl({)i=h1@EHm~oAi?IQKUZJ?4(q+j(o6*uCY|MA zmu__q2m?h5E>R?E5g-p9`PZdDDGDA~G`g}fkgb1Q(!n^<_*uZ8-#;hzn|+D~C5+HQ zh@%u6;L;_Dda1;9u^oUibDDFl^bpVj1*I&ecjx(xJyQ=lhntEl8ce1%^KaZ}G94`C z90u}tyr}pwFiAAs>KF7PcwaXod-vngd}W!q!#e1h(3Pl(+=HAKD0=o&ms=Lhy;vaf zKEOIF?N%zZ6%R~n{3b|}JRM%mHhI;VEcjM%7xFR+eIV(wZ*(otk@Bz3$$Z7srO$NQ ziu43Zw_I{T_FWnqMpNGR8xcAFz$milxp7YUzI*e4SHu=#_WkC+G{XO;fK8F>vEa9l z9$&N#ZR}|H1UXm8fAHRmoCaGuRZCW6O>kcr&1k~w_CzHb^FiDaTQ&A z6QP}Vp#Am7<|p{d+w44HXg<~*V^&y*T8Iae`@c7e@JuB`n;ZP#o>m^$+!&t``B^zZg^-QN@y83#&iS4Q7@>QY9=VrOR-Ibs&E$NCwCQjA$m{Nh0z~b<3MLt7GS+n1*-Jic5xbV&Nrov2G*Izz`4p!xM0TfilHs-1D)z*8cd4v%2?C z6YfSn4?;5z9uF}4(?WU~H3MLvzc{U_Gzh;Y%%-#ljbF;$9h&jpnFnTj@$rM zcLXAuX6x0~|87d%KS)P_qfw7#tCW5_EqeY-_uG1T%v!t+5c{WX5YMzN9{tB;fSnZu zWvDnJOn{!iII%?J$Z-|FAY!8-E3vpDO)ZVCo$(=L%dgWBP`fS?w+{C%@j8ezAWFJD zx+pQGU8z%{oN}|f6|z}l4z8d_2uB`qJS?xYQ1j6jshAWL%;_nl){>FR1M>0#25_%l zN!j0qI+{@pqa|V`MSx;}7!pkFDWi_x=o)6IItVv13Y~XVR@MD6XWy2J34;S&faGsk z+`a?%o27ReHD0A{e7&T7jums7KyN1g{H*soHkEYa()xSDXb)8Tkr>-B`rFmAP2N|K5X<`6~|dr za@cOCWX?9LOWLh`nS1Um!ltac9?2tQ{xh0eCajAYPC|M&iv47&R^GJ7wbx7KM%9jA zGf-e;jaOWgIr4~2wQZ7EJFUVfUVKfUU2_FWrH}=i$>0+U{h4JQvmjxIc%Q(rk*sjj zMvo%EVS9@mV{^}mx4Ct=05V<4Vgd62{AjJdYb_-jB*BOGmJKOMU6~AlXxCh`+ADXs zlqgFXHpV;dkRho_TMP2KygY6CQ$INBYkxLE zPbUb7&G5+cE0&rkhBC10ys^w%(9{Uh5wb8IkMp_I?^~?ktoL+OeyV%1l|;TX?3!&` zQfIfMQ8!A`F^&=_Y2dNX)4COKil*rYksTlZvTqJ(3_Ohx$k1CE2UJoISHIk^5S!`%LaS%?+jfR8J*mblj+u67$cgcE=UVDG4+t##sd78L?t^+ z0yr(fLlDqRH=j8q@tuz*N!}5A6#QQ^zY}*OT4nc>v`oy_!IS`*4AN9VTN43F&8z%r zX)s`B4z_sMeg360x2VV%py(?Csf%|Z+!BAlh2ZuR&g_+fwNj$|}Q%!vG)U%uM5&Opk zvgz`T2e%@q*2?9{ZxWe!ihozGB-gy13{Ys(lg9=i20&q35jfjEk$E6Pvof?IpZ~)w zHz=#ifXQ|%O-d?idwx43vk2~D}b}s<{t9KCq+~o;r{C9$J)};@2=hp+$d+J zX4eYZ{koh7=M8rdiBdu&J5%zAL2}Kw?;O72if4sTmZsfRH4D<&Nh5(XJ=9^dg_VyK zCTU6bmmJy{Z@pY-nlH=Kp};DSWktaTi%PY8O%wqoV6Ki5n78qy6WvZq3)5vc`@^o) zj1otLFibEY=XWQ2N5p;@Z80LkQSYs)I^ssW3e@Ondr3@}V{}(KOO%94Y`H37P3k>i zHbuRFO~vghmi9P0@@_VEPPCGWkf&fA|Kik`xv?jg{AFm*W5)bxZBfQSKnptANZ?pl z60ZhQ2^bQBJ>81z{H9R4I&q2!2m~1HS{>Ac;_uF9wr`A45+?M%=dT%VelTTo)ideY zGsAYdKYiRqtY)}du%GzQGV;~aSV8tUptn1!vamH&KG6n=WpIjECz_qf_y2$d7zfZk z@y(|AyFG^Boo=Tox?DXtIT1l_mkA#_P(EcrzOkBRAOA97COBP4tO4}VH-J7X(A8QG zqYls_5(jYV-XCg`w_Jd&s}6p+|9LNm$~tRTh63g2VL{0pXD?!W=7El#iej<<0n6Ww zdjuMTFAmrQnWwMGD8+!Hw-Pt4FD#m`Pe&g0`uK@&PzA+6U#lk$-T7uWYcUn;G*~wj0vU7MLrZ`VaE zj@YWh;>{#eC>Ba5_OJAYb8Odd7I-W4PFZ|hIa^E4gwmDp*)b0M;SFLvmHW^eOh+mP?9d{S?T$95oi@#4p@!aNo`JA%j&L#= zKWTs9%(4HJiSwD*%#P-ro`*MY-USs_$h3t@zPp@FOXYWaCyR%O9L6;Pw)mizyB#?L z3#nZx^OlYz$;X+hZ?pY)g}4M$%Z8rMwG1J-r+2^Z7k?exxgH$Ll2^se`uJNgCC^Q_ z$M*y!u7RRZ4?ufO%BTmIx(UI%JwEfF5XN?1^B`Y~-Xu8|^?HlS*kTM&o)_rZn(32U&5=rY;-z<2ci& z9K`*=mI){!gj!|Goci)Iyxq(?Xq(LJp%X>h-bg}}#n0d_)}+wEe1f+>AzZyS@efEr zo__CyY-~SH-7}IGmH*Usz1qr@Ur15=E=`O>x9S`*g##!?;`T$ZUre=TaDMJFW2%D~ zDBNuEb*w_WKcBhIo#bl?6wH|&5`Uiq2c8q$rJmtdc9E8DFSF<4} z%7wUZYI#{yUec}JKTd>wQj@NjBC>fg9j`7)836%Xb{rfCSc?=SvqA8R9~_c8I5;rW zPb{JS4hpBQHI&7QcK!I*9Cm9fPvisV7=!Gq~kFvnhvQS1U;at||KPlQWf1%$+oT_a4=H zD`#zfBUL-@(X+dulJl@Szvv}@BI2Q>2==;EvM48`wb7XYM@QP_q)1^HL*hHDsUc^$~ ze;Vds&WfYDe>(l}CGun6PdOu>O@2r0k6Gp^2$&NH}cNcNQA==x%t#od0<>mg^ws?E`d|OHb*YWo(iMPnGZhI|j zIth8zB1)t+F}Sv^RF#_G;334@^^KB*5ZgD zIf+~MowM&Z{u_y5cFX>|6%;tO{C|DFv5 zqIiAs%vBRmw=fNb#I`u%0R?NvDsDn3(h*oPFr#(UD6$^C~MFO5tR#o#?t{Li>hgx@RERetm8Y+fCeHfbo` z-N*l}#$6t_ZkLjU{AW@FWTcJVcVVwg5eQzJGT!L_**wwvM9Z?4oQJ8U?z)l$6JNuBha?UF zEe~cV%a@6Di@INeu1Eg6`IhyFH@+=~xSwdX7uv1w7={1h17P{Hm1LcmWjcGAf1e{5 z?Rs~T;Z>#}{pr7vcc&m)%NSDpjsHxyVKx-j_TBjJc45H74i@{V2-W5PdOuK8nAGyO zrcwoI{zFM%+t-8tzj@>Tv9tewJN>T3H?0Tq-MkybjD zmJp;HC8ebs&b9n}#`m1@zGJ+9z&p+u&kql>x%Yjqb;Z2qoNMo)FLR$wXOFzAtCsk` z%$9mvZU4yGI%r=#jq(3a0OCk7qMiTm2W>E5{X2&t`JZ&~{qJX){P*ay^nXgo|NX;% z$o2m&&i^kXhbh%DixU$io2BuoR}iHmg#!_LMvR*OgcEd2u6X;wBIEKKsHBBu#X1uP{M zH5{@;1{gtxFaPJK=>T5%39s$+Rml`wyl2iA@J?eSKi_bPSKh4F3e+x0elf@2LA)4anAzwT51?@w~*ry|)WIDP1Ml0xv)wDDqze-|-F zQZg~et0(YYEo>=_8sbun8kDCX^VQ4=mI(eqHulh-|JD!$?$M3}o zRHMQQQ2T%dO-HgD=X^>PE?!DI4ve0@=@%%a-AKu#-w+c+x0{iBh%<9b4F{Kv;VO~0 zDh89m8muJnjPVt=6eG*)zgKFjk}#Oq?5G|0y4*v>4E1qU1zz|~lq9F%IM9N4DY*x? zziA)*(Z~7D%I=Rv^0fHJ!5NGsDK4oaGq3+N37NFCh6j$;@*ELHa;A0Gp!9A1wfdKg z!dL-Om_D*-&7N{txsnGJs(Eo36&;-K4D9}-+0(yrqC4Sea!5+K$AS_;uYZ7=J3QM< zrSm^I))Fxo28&A*F52p4rsLA=TvCi=_gMohVxMxuy5w>236W7sTj1cO1amOzWcxb; z&7xGYCFW6%Z4<~WV-L%K(<-dTIadL9S)A=Z9_UUXy#_D$ZRLN&Ip7YwMK0&uc;IOn z_NrlZZ48H|aG(uD)zw9~pCZHZ@soIycPV;*?&7#<*;3>>WbvZECC1?C`k> z(|3gfY!$Pt)EA)fDyl8~${sx}6#7om8yAm}sFig|NnI>P15UFjgrs9R&GfeMURkBm zI4#BaR81JmK=G4F^a5;(Vr=?fPDLk+@bQ2ydq3$vzAQoTJKcZ3n_*EDJBZeZkHf)F zF@aS~OAj;*$kA5sgqiM>RNl^10M3u-(Ka<5obn4~(uC2JuW@nKJWgYjZn4K$2b|xE zzC?+K&nW08ZJx;z$QSVO9%<(nvMPX{Hk_FrA1nzY@r0iWz4)d_x`?I7#_oTWb#0by z!bxdTcvdFkJ>2;6z)O#MCA@cdB$qB1x)`CCU51yjaGAH7c||+hE^DrAVPld#A33hx zk9ek0BU8^3=m=}<4B=?HelaXo`KuQ97UV;4$*N%toz~3t=?g!k_8?HGqe(Sp(&!Y0 z<7ZjQZDCn?xW;xabE&my^VG9!ag*suk6;CKg{1py)8@*n|1hyq%mIw|N@?m~iskHs zJ)DDR(r(rax+o2JHYrlS93?!Q|15O{%ef$0g7Y!mm9Q#YuqxN1i7lPd31SW9sij4w-e$$R6y2d?SN%|B+!6#w+a`-?~dK4p|@Wo5}J^3Cb~0jn}R zy$Hj0k@)>1i~N5Pl`-(%qs0NIG=%oj>~Lj4 zFC1csBvNEz_h&z<@@{lh;f^LRVaXY`JP+zi&yqQgdSJLIZ7cj|` zt@GpTFTUL)t*bZ23Y;M$$Gak>rVz`S`7kHSDYvPdFh(5$1&=4*qgMT_X2wVPlru6$ zjIW4L3VPV7xAHMub;8kJm^y<|JN{grdDS#nJ8X*L8gIMPxO56FSvmrY!a9}o~F3NFldFGl?z$(W?`hcElmqEuuleFro;TH!Ix7-PGO!q+_xQc!09&(TOH{@ zkRC!yN-iRF-IEH+&Z~}UGtwY}IrlK@)Ai~>0VEmtPf|#6@v<%joPQ;v?p(7F>u=z% zc;6qaBuW{%2Lql&BONYp!rORESL^hiH?vd`sa?Se&ZRdp1KiOJO0IK&t@H5Fb@_r1c;ApHT4^h(J|Li5fkRpr&Y zCHUb*W+&S%B`zri#H|U*Q6XB(j7C{!>e8{T6!Rg>_kNBa)UX6fmFL_^T&`Kpm9ct^ zhmRTuBX%DpX`HU)Ykv_)hWF70=89Is7fzFN@aD`G5OchNOKE;g{@BZCR2X!L&FJMT z7CH)y??V4e#=3xyGJF)Y7VP=C1-$gl%EmhE{^`+BgK4AbNVVK0U#F|_DmuY^W~rYQ z?igbuPvc&`|CGhhiKAa_nk6tmEejq$UA?m-zH`7-SB{TD{`=gTl2@299X5DxzR%F* zM{NvWoD$Nd&mMecR2&d+T7d($J%pL%YCGS$TaIxY7Zw(VLAUX3LILGBqe2v}8t0@K zi&A=}?lH>Lsq?6*hop34FkK`8uM-NQz8QI(sgIzk)d@|U{?ywXJYa0N>rremXD|640`enYlWtx zWQ@Q1p8A=so&Pa6*T!WCnz36}etzUdPOXM2w~fhIZG#s9_!Oq1NmdVa{#<++LryNu z3X#nheItw?^n9y>q$hQ__VAHGrP-p;*AM&p`{k0vy;4<^#L>Sthw{`=MvAU0#2h)` zZhyv|QWBnfC|)o9jX74fl+iprTDneyqi^BZEXk`R3Q$CFaBw}5gy;|PgC+7LyKJwY zqsM!LnZ)@W&5Qp66K8MVm!~g)X$0TaL+i4w)x?E6LX6u(W=T1%&=^0}!{1$COMD`o zeNe>4+g|eSUTcX?bn7#C^tu!FzEs-1s;{P%hPB>Dn=CNczIB3Il!u>&NAt;S-gs7h zAbu>F0dczBx+hbuF;PeB(873s84MyCnbsrc11M=V^IFSSx`6b!duW$}_fxZ0?A&?E zuDm0FEeqY_0y2e}>a7{0(($KaCDjz}E4K!@rEnYDEGM+-(Lt?t-&*L)8-TH>FGD-u zK)9IyvqgPTW|j1ku7Y9~_Oz0kLLcWWwp)!%onEA&?qU+u&#upb0y2!V1h*|Q?9*qY z7$0A~LO+@D+A2*W<`6czFSB1p(6&S*M}3Zo43$o)HEK1Z z*!MJW)mMYn*lsbq$!xfB(RAZ2%O*$faVia@X(tpP(~;1wTX349<(BveP2+j|XWJLZ z)SaULcBt1B?MPqcg>CuVS9YXkoA#O`YZ<$di9J1s<>-0E>uOv_TwHkTVa^F7BmOOp z+wMond{T^>tQHgO7nxalLm_&k|Jt5(3{&5)&n%*Q_p@mitD^q)W%NXC(WVN zEgrmaKdI^QMXO?7NW_ZABirnc4l;YAwdh;eq!=$=v7jFfIF!rnnrMN`^j%T3iA^sy zLBFK{Q23FIBG5YW3QCIglr)=AmeK^@4_E;#23I7emHC^E93x$(3v=mRexmL9sYRU{ zwH&uC9-r%AXDAH=1|zoO@pg`|G>Rz-MJwf3y1M6K^`k=Wtx))TdUM7vx3)mo+gRjz z-3>Mfm`NR7B;prcS;q_{qmT@bZ=?W3umG-+-%{gPrC@vBL{zW1R|Nul{*81{yHBG{d&Gl`qq zZwZ&&PvM8_$T3P(;TIa~lyp|I!{aaie7Sv#QCo6_-Gu0RQMBfn*?;T#DosTW`V6Bo z?VE?C)e{l1pKe2xG!2i`v=oco3%>Tni>n|YnHcXXJw=9f#YSoG^MVZI`+E>$Gs2Y6 zl~26P#BhQYP!P-Vlxnr*lfD+J2J2a)!)%J?JyODuQzUptzYT(M-M(-Mj(Fj%g#$E@ zH0dZ7TOTT!H>cY3)K_l}GKNQ_`u=!DisC9P9KC~uhk2x=8wnK478i;wPea*}FFqxX zlyK>ybTLQbl5N)-3gdPcGh7>%-J4R3FEm!@d-p1y%y>w^%}b+2A03ed)XD)vWva=A zzi~n6`Y)xk#{m9aGt?Xz&{WuKF%RdasiXa^(0tDsPQIsqx(0ntj!ZhmcETbhj)lm% z9+1HjMJmQzZoHr>`f}W7zB|Kyt&yU6)qAIM&?tyD#Oo5-;D}uZj zq92peFk<~hWvO_;pm4yzqY>7VHot0J$#WxNBFtsnjg5(E9M&1_(xjQh!J7mqHNmq% zl!C`TQ%5DvSc|H%KaZo^OS>dw!-g_z1=g{PEf1s9I!3*GA^u^S7_g*X~DT%VRCIJkOO+Tyn zfK$S-*(xv7h*jr{sY;C7EO*&2KcSgd_l7lpBuhP?#Fp5VYBGrw-!~6h1V}K$F<}!d zUF`H(%pk=OJN9drNy~F-ZsYF$sHu|HPn)5m&xyn-7YFiH?N-aCBJ7X%=H@i|<7+lE z{*08`T{Wl@Vq!AzTx-;+_4a}Q=gJ=7F{}|a{gFuZ#k3>jo%8UO!1Gk3&(9HrESHRM zXYSu9F{%%Ah5a}F9?e>Kv^~=N44aNp%wxM` zCanw)9*jD6ip@70c<;>!EqqLS;MpNh??om!`b6gNc&AnsJ4`n_H#a;*Ca7trW~W-{ z@7FWBV#lN9j@R9##Ub(e9)9)JsdBYH{39EKNB*fKBpxf}W;D)&M)n>21CP$X zvxN`B%?p+|UW+6lv2W*VZrBZj4 zd42A7HXE}YYduNFH{N^i&%17P2%11hQ*{#22=U$#nNJtmXutl2@F6o(f1W<|#LCQxfkxbQQw=$pC{$|DS~Lix}vQbQ#?*%wEfv&o~#vQ@yF)v_0;z zI+kZ(NxQb$quLxy!hB7-?#?@r#;z2ZDHLGm>BU9UxSgDw?C0LOG|guw(ZT=Ur=5cG z8Tpb~{)5cFSFcpA(xJo|9&V3Z)i!Wr{UJP;nA2(inU)A^M8#;dvodD#_t&?=o;x=m zFX=*##2dI&x7Tn%wc$VSJUl#1DfHywd1`^H&ZG9tVMh~QJ7YqSU?vN_S-EjH zAGf{|T5GtFfK^u?NDxZGEY~1~P5Y|wp^Cn~ei-ddfpPDHQCrw*G`~5ctpM0{9#)8k$VEyqq`so?o+X ziK4(Bp1#N}G4R#{_w6Mrlcum2F?U3+R6Lz0CD9G+y7OLC7?N={V<$<#=0VlpI($CQ z-M?CGVV74QH;=<+I!G=c*+Vc+b5M8RGYqCofi+L)o`miBk z)Pme5yX&m+dZZKvu10b=m9}FQWykxACf(_ZBqW9QQ%#h@4v$2Scc&oZ_h#aoXW|X% zNJ!=q9q))R(8BiIese9OZwC+KTf5j&^*lGW=jRcg{yB{cVt6UfAK*{qLIOs|SKK%s4dWKHTT z+}~cNM)f5T3dejDFH@>~B;CKx4@>d3(5GJ1e+c>n{$$CBt#Xh*iLUMXIf6@MP#s+4 zTz6VI^Kabr6l9wGkYKA6r_e?U8^rn5)|dx#iT#Ec-r{K~L!(!KU|o z5=JLh(Kmn^hW%o0>4#Eu2dKP$5gB)>*?6}*%_cE4xxtp?>Cm(dgurJG7g(S>JD;t7 z{J6QASQrc+Y3lXG5vyjaUw59)kAx&M$=f|tjEGv#v4h{ffkZyNl-~32x621tp}DO< zAKcuIVw4%y>)8L4o!3ekeFULgQ~~IbHr|RlqidsNP9~#NHAUD@`Xg~4C6n!70i#JJ zrPS}~?=ja;xAv$?h-DAZ!gYVv`kZWTXXn=p&suH6vQY9F%Vr-e)f}u8))U@LFV$Vx z8W?=dXL4b*Ywol2%sRpMwViR+7a~xNfASQB=$tBw6u%^ZZnV?;1%b zcC93oZ>I%XS&xLv>bO{TpD(rNZ+yex7Z=#%WE<)N@YC}0^7{TRIwl?HY0VX_)*Lh; zVuXYQh!Y%w?Kic^9?Rgq>Vw*T>lC^nN9}$xSAUVQih{SGG zkCp8h3v7i4@9uT_yeEt*9WqVGF#xfk4Nth)(9w}jz$IsvZq>ZHT_2|dD4(+*i!i*p z;o5(oc)8$vx1Yr)PxqliuzGoze{sNj@ybU(ruNiLA z`R?tZKFn*beu5v*`$@N`GuD+w+#b};{r#)|61Ma*Zk9u_lWM8;^Qv>ug1!&F7qm0T zmNJ^Ub#pyqEtRv}9inV9EmB;`PGbL0+S;GA$XN}osqqlF$J-~PyIyAy)?U8yy2A?p zE;-BcAwr5IlY-%=K_1*Y!bT=e;I8xxc9_R`SW;YMe3fl<8!_r`a&r1nAa^%iD` z!1-=g=MkGyS6D+PrtXu@{%BU^Yb9-B?AA1RbkM}@`!uzk%0>~cgyNR4QeEz}3X^+u z%InZXOyfP>1w4%Ibmh*&;&zKNrzi>%`!=r9X}$i*#?b42b?;oph0`*18{*F1yma+J z(MSCmz?C9Pq|vdNYd2Ca`-v0R~8D{{M^@5-D84m5XzrfqzlDq;X>ZCN>MQ_amER1&&J z08c)R@hTxKm~DR(<78I~xToo!s#xs!I3Ohl5T|;3dmn+v(XQsr*2HjYEa%j)Rldr} z&i-P)nP~0SL6yTyt1C=vBUi7-Dm9``V$vKDUTD(Xw9zS%H1h^#`8dxKspxKTMI|u? zMHsBYS@f~iX*XHtM?-92tc>J=yrzmg8mT?fZTeI`^jgHp@^C%A_Vz!J&u7~H`tpI- z!o4J=e;Kti?qR1jqx$9=E3?1oa#7E)W^FnQqR+b}cpen7)A<~(e6VatYxlN2^_dr%}FonN)({&NCG>r4lQxiBhd(z@?GCzlGpYS>YlxQeHrxBH=V6vw&GUVKAQ76oTI-?DyZI;k`J3Bx9!n&s;%hl6R{+eo1!$#vWU4u`)0IBq%foMeuWwkW zyB`3Uej2m04>djX451K1_0ivYqEeBfJ;>S+tGx2d)nhQ>UJf1mH@Ijefw<&a^aAlC zY7fix{)#xf%xNme!zQAm5gdDZugSj|N?`;%zF=PM@xCie)+RHpu_^|Fj zjaM=gNdfIxeqM!GGTHp|ld3)j`bGY~n)qnKpxQmd#~aEj0)+PySuv7M9FIm)2bWnG zZpQvp5AbJi3TSIAbOQ`$jR0ZI$Jw_{XD}cw7F_3^d?)@1%usz!^WMww}{aruhdxkI=fLZh5-iFEk z<~*Oxa8X#41C-zJdv}Cc4Kv^2%q97F-v)R$`{NxoKs^jSyr2E_OZg^%r4&$gU%*h< z97c70@{QU1@2<;0^;2Qfxjy_dLkNIZE{u`{jk>b3sB_;DU272f<$Gol=$VN3VjfM2 z!j8u9%v9f|8G~p@;|;ytzC0FqPYuJ%OFpP&f1q#ZK|ucmks)ychUIG)O}30VS!6(E zzM|Ym7B}OV7pdekfq=QtWH7VwXqo*Q3^Ial$45I8cJ^y8-@bh-1b7_fuT2Tt0~5gQ zW(ZTPb;%IjYKSw+K`=6#bD8kc4R*l$HG`%JHlIb)*1O6b=XTK?rmbgxYyU8wOP3tU z528>RxoTFRafL#RmG*tMtJ#}Ht!xw~#+OPN#!zV10P8j?^HldP9V5yl>3B1fYkN=> zB5N{E*H$s;I}G!YX!l8s*sozE9fvP86c^j^2e|h=&C?*4iDbm@IBQ)VXsftbV`zau z$?jIZ4=n;yX`qJKtW3Z}zPn^5L0!AoVfSxb(qc4fh!g(%Z_0ux4Dm>IP7~bv6%CCP zhBWBDH&@1PX0NxYQmM5w29k;KWW$R!yOV7@n>bxvU225w;cdm7 zVF=WUl&~Ew+pVWRCWh#@v9AT1M9h1?C#i|>=2F*e;VF!{E@`GptJwj;CzXye`>8`K zMiRWS>)ay)k38;v-zto-7TnQO?i4(%+B%{3M*VC!{eA4mygcrIBPK9Q2z#1#zNgLB z$_;`2mR}vO{uh;k09NQBsjbP(MOTtVz=?7D zv15ueA4K)K;!P}$gk<7Y*_uGpN^_7AhFY{MrKz!6gMj-5j9NksI z{y2dPcaA9FGCK>2=dY4Ty5~U2W?95fNA85C6O&2%6+N|Y8Msy72$wdGlrFthbeG{i zI4Ib-p8)gQn8|f+kD1+{X4;+6@=%2022ifGZQ2Qny7&&vpaRZJO{%rx-*#;N;Y3GF zp@f+DJ?rNzxn7zf*BC(gQA^SLidfpNe&1Gb!ua7k01V0uHGJXTXr7(D-Q+Up*rUvGVUZs&m!n z=j5Hhm;`r<0XU{w?&)!_-94@ioE;dA%gae0S~K1k@PjkQKNRR-weX?<2JqORSHq>5 zLN*Arrc8=;=g1$K)2uwkSYi;@l?T;Y`w!yeG4sGRBpyTGm1fm`j3 z@bJkF=A6=t|5m2#|5zE0sZ?;WK9U(Z^(pc{X2$>e6+uT399sqXAX;^VU|3ZRo&$sV zpSxgD7q4ttv<3gc^mAuCWQDqzd5K%7}JC^ z)ad?ah4H?XK8BYCq;;GP_*ve2(Kp@U_Z52Ja$aO8$2TqXWt&Vjg?qbTFyR29WC!x} zO`t`EA?nRBJNvaUGsGrR;t+Wmx^F1CQ9%X;Cq6pA!BE>a6v2NO^W zGyqIYvzw^ld-Ch6x;DPAKhTC}Klal-y>9j+3<%^~vJD7dp#HO5Ix$`fIS>w)M*I{E zir9tbKT{D2XgylShq7K>I~*@1o(^f^YH_HOp=y(-U)l8E0VyMo6eDR2le8>wI%s10 znW>uO3ZpDi5%^qI^u+K_DSUa2`%1ES8`B=oZ`Ge3M2!zR;&3Lsn9ud^ui#+xemVEQ zd}!eJ`%v^I`35}R(EW<17P8hs4?>q!*1Lf5UGICs)Az*gEM!IU(v5a)V@-aH?e*TQS z(-<{V*mzwFoU^62dKTuV)K=bB)||qCc!`BWz>eY2t>5a{BE*=73*$Ze6sMGN<1Oan zC0*>m5B(U-CCFh-Wd$5bep2$&7%pT_R75{rfS*9JJFS_Sa#zF9kcR~;*%B=~e5FYN zF-8IXm7<+A=9B)^**h2vETQJl1Y*qboqTD`Lo0an1({y@VWb9r*6rq3CU1TQqUC@G#20u{^C}5J^Em+TJW*80H1GAQueH!zk zt1C?n&d|VefBL*d6M&I?o%Y|GNJ}||ZjT+y_oQ&k>8{RTg>jXHH#X)~bTaWrJOaV7 z@Dn0T-w*!JHUz7ReB{zrLV*)!Fd1Et6Bu@Z`fSXvRXqw_t#;pnLck!=bo9Op>GB{L zNir+q%x`jIB@h1l&Z|Ksj##DJ@U?&Sb?LphsG=gd;?X9P^^24i4B7LPX84mn&LH9+ zYL75@V4H+0SR8m(KbnSA!2HjB_N!RQ|I%Huk0Udx;8_8&uQVTe8@1RHLfkek_AvIy z-`$v36k=cs_Wh(4A*CzaPvtxPufS@u#VXwb-sL_v+HY7zJDh76w|_@6J}H$G3ftzS z9M5uMF&MVr#fi$OsHoW8or+`z2kP7pqzaG@;Dn^XEH7X;PD66MZ7~9)6%$kHz05m5 z%fIM$cn(*&IaXkg0?g1|Sa_8isKynmq}ecc-^RuU4HBho!n;_>o3IKk-9Q^r%LJZ( z!6*~h07S6*!h(iB;#H8;B(&KjgNjPW$_B8yh{84b)0MI|8OkFkn_kLOvpZ?5RVpJF zN%t;q2jHZV{yXP4Ktb-?o#a)na5y=!`-1ewd9<^aYv+|M^O*lIR}b*K+b8{ltM@;r zUzK3~jQI0LAa^FCWC*V~X|@`$Zr5ZtIG#@4_3Xe`JB?tL@$zu-Pk@9%TfO%Z#^!*U zjD(>cYS2F+W~|bMFI$H!QfylXjTV7K^mO`_&Nj|T&GbH^z+%(iTrRptazg5t*k-@@Wz+xmp2qk5J`V+ZG4l&%z|fPU+7lPJFpxj&_BIUnPL7YJzG2gc z1qXxjl+{rDtZuME(1@`-^U!f`mk#)=4AOk#hDP zM{EeRm6?p3zHIGgAP9O>t_j!-lZ8_7+{qWxJHK~GZ2-L`XyUoCPPxP5rjV2lWN@lI zTDB{Mk(ZE`({SdI34{siJRkG(c?S7H_TKCqAFMV5--)*_sM$WDToUadmUW}A7mAES ziaetvwkYUT_MmDu0^X+G+S>XFg!jJz>3Y)MZ9UiD0aOGpS(W1&0L%gf6aKR!L9m(1 zERlqSBx$eRY%(>JI|Tlud3~nsx>i&5>|3i;)VeBNR(Cs34m+Q^A;DBu_Avist9Eia zMl}MB9em!0yRQ55nNw)OMneLc;|zD}C?-LPGk1!pMVUUs<3ojL2ZV!Z?*PSPi+UWW z&NU>6tbgEn1Y{7z*6uBL4;a>dLiab_IchUJCPni%n!14XPZ%?U321Fj;zXFK-VnVvXfS#kuQu*9_m2D58L`={S0t8Dl1UCsN^`WRcOB~iqG@$93SuV_c zjq(E9oiJb&t}!to4)_nC{ZYsQM1`Z?i}HGH+0N%C6Vv6}uZaQGKaiExbL!LlS!y?7 z+6KkJ6utbPCIp;ylx-Kp-*uQ{3U-GFYRFL}!1qh7R@R__*3Nq);kCGzd)4-^6%2N% zJ}1ZalP}ns5YOuzyXAATdJ>Lq1*jSlq=5zpqsge|aE7P(zS+BrFiLvF42*hibf9q% z3Wa?$?Z7PGD&*(x(W(z=(+ygrhgG-Qe!AZvw_F*#gjGq6B2}{7V~Sx>AW_7 zA`yAiX+VE%sMA|uiXU1TV%QN~brFV7Q}<_Kh+IW`2(k0Sa%)Jh?G3O=NU=7Nia;aI z(Ho>13%<#JGG66|r2i&FiGhp(E;&Trog<{745D*4hZ+7dh}`4TI-%rTA@s+8gGfl$ zvQ)h|eu(Xinsz=0*V)?FGeiwQm&12;s76A%Gy=;@-b~|o8wp}u$NF;%FmZ;V;nBe7 zXiKNY(@oZTp1%)y1XrszCSTpV^S#_mN8YCv1!ntOeom&6LxP?8p3I>mKtk^fy!PM? zZu?xmp=AgPhWPHo+X(_(A5@d*&=QM#?Kgm#fE*DLG_Jp%3BP00)z~kXIu}TPrt7Ys zv@Z<+KuSSdJ*25pMdsiCa``<7o~|q9bH>Qd0d!)9UAG`4H8>aanvNmg=9`^|9>)g< zzlM&1*j$s^KwpbRxm^(1CV?LUy997E|0)ygV#l9bWl*$HRNPJy7yE!{pS`4$A!`|L zSek!~3OxDPbUAR8663&8x&p~Ei9|L&lcpQgLdZ_h6iJ^nUIRMMgY$Tqx8IPGkYLk1 zkqrG-2NV>Nl2MbTB1^$!9a@rusY>pN@w4Uh5CF=t&Qj$5v~ zLeWDOP0)XhTVGv4dQh{9;MlA9g1?yNfwa@QxKngdA zqK`$sjtr;X3jIebe2-y6jMPsS&mo{krhx8v5zO_>QCI3WTyA4C6@geHJ%pMO%52JLqg@@g$6=`j8K9@5c) zB%4~u&W}J&7tm08Cl4l~JrBLjz-{5P*Jj9+y44p841MD9yJ9j++u@=s+|`@imy_s~ zFO0%_+qLgUi2fK5nBiy}sz%To@#P?&WJ9!fo3=)DqgbES+@ z5+A{Iwiv(>Y&$gaikJGXkC_ zEA#y&R7cS2A$o-bgypc{|4w2*t-anu=pY6bT5lt&9w)nzCzJ@Nhyv@m22tD46i#h2 zTx4NC`^F6XDq?XYn;Gg^$XCD%JCLZN7}BN&8aNMi^*>$Nh$aaR*LW*>-Eo02&# zW$%-NiDs~1Oa%x3fecHuZ=$mAlEQA}u3RETp+#Zn$w%kC`y07u{-xZrGuTbYM8RDv zeDA~U7s}k_EVSG{>oG}T%n?FN(9s$CGzhJ{HT!+}A3TUx3Y+Qd zmkOJk0IAX=nhp;g0%RruE9^i~n?h1BVQfG(^q>2oJF4J>xRlni}@T)Hgqk;%&Fa6s;R7_AE zL+`07zV`^m(aTW&-tPjbJ_XmccF2i{Ln@Kb&ZwhF$6NmS0J%%!BY|_&sG`+?|3VH% zqopFhgkR_&0Y*_)N~7nF{pL@3qz@S*z72FgR4*oZeD;(PI=BNdg9_b)BM;jpJD&sH zMCW0P!l(1y!Gr5F4L~uQATk;K)%8x%3jn8V?Jw?ZSFBVlP69B1{(w6W0o<(+=yN8S z@0>$QC%kWZuZ0>m>~AejfdwlJ+D*mKPA%)+{?Tk3JlJH|^&i1N6$>*lm5e!$P>OrH z(md^wLJFcQ^f?o-#Ub~Lvln@{MvVvA@oyp@1;b8}h1Vt#FH9nYKh)1qdY_k+$Aye5 z02KlW7>K<^-1#F>LHo&u&8S~c$TFYTA%=Re(1h8zO_~mLk?v<;)=V-i37TmKqVc2Te@&8LI{ ziT+N&Kf!RnJASfX*Um=$7?^V^q|qS!h|o+K_$N#%mrL3PGhx`Gs-Ave8GHmRa5!K= zS=qLY3%27`!eZ&AV%fB+z|7~BO@;vEjD%9%h}?hwB$cDMtM^F}Ys?II7(fm&avQ}k zCZe!Mp@?b%Dq8=@Uo;!R_w>U3{RFk8Y=0qp3ILXs%kyLH+I`ImBc#?hK?GcTF98mU zDgO(1f&qZ=!=QpB3tBupsCqQW@6^Ni8$ArjVI6;jg8n29&&o{%z1CKkj zam`2l1(@id2lzlmx*Iej9;h=E^j@2Hkp#0=-s#0%t%_y=$hB~Aq6smT_nKZGU}iP9aVl=IQiDAWRY9LTLmkQNbf-P4Is2lSi^P;=;eB4;jXpd3N3hjb8L z2L(Cjdu=CL{|L~z2Z3o8h2Z#Smh?S!<}-(cVeN#c8{AY6qtQf-*A(#oos_1DN*PEy zc%f@s&I&uw;VoNbXywQZ49Y}4fKqN@VZ>jO+MEqcD zkpgD5lf-db%G0B9#wP}FGEbWV#`4bY5hPc|l;c=gS{j3DxE7o5nZe-n@f-o85#uaq z3@!1UQM{=ZkD2q34$uIe3|fuV+8(rV0Wn#} z#*m9tVhttlb*%vPape`<1T2Xl*%V0GwtT@Yax%Z7Itr%1c`794Vq!%HsZh4w%Grb8 zij-xpWA8Z7!(!M}BZ9f4bgZho0RUWthOQ%P{U*C`&C_1@Cdl(s$r+HBbYNcX{cN9w@8^0KG{<#J=5 z_TH6mL^BnM?&%&FCKy&{9%cWYSVMX~xL|;vsqs4aa6(XO#=Z>7c`V^~9&lihYcouM z2snvK$jJST+t9ideB@+h69F%At-w4nCkKg%sA-j16>G&pA08VwX!*tG)wVhRcIW>(_@7?(%ptZ**y%Bpbd^MXD znF`SmYQO%SO;9%zk^r*EK+kKdFZTzz$~pyRrid~|oZN5JbTa&;W`zh}dwB)yn1 zUYEz$5h_*bgCEGR_}**-EZJ>;Qts>OCj68sC^rZ=Nvgg{WcR6c0&{%XqWfJ*(Ni;v zD`Zh#cgfCT=}}6OXuOh=4=}oWzv1p-R&WH92uIk#`Mi%f*Mpg??nbF-DGw>7bcL^Y zRD7^Vm_9yk8EsQZNLQSf9@*It6;*NUtloKKQSNpiHmA2(VDhqhfP~F~?VuR1BC|xc-q`?&EJiII< zG`J!fa`*0C^|KqC`Bjr$Yr6YR7Qt25%2MV^;Gh)_9-ig8_*1fV&B%o3Us4Pm{r%zl z19N0$du!|?q?uCXaEORXE2}fKHNrwdEDOR#*~#W&&a|h@0ZRuM*%C8Lln3@y(l{PN zZi45uH=U6>ZdCf9oy0ifp@ISq*rp#AtLW(^YLxe=skyFCD;`3`lkemj){dt-4v<#~2)ZaGOw-y)FyEp~z5IQx}` zOdN>LZh@HZECkwwI5-6&G<_ttwzkgoSb^^-&hKeyVGIn=0H$|P;E&!2`7Gb2S zT+1D?js4`%>~7*U-$XW|uD59-JwJudnw|7&JFu-@eSk!otAFc*@Xo?X0Mn7`*LyQFxMY@59MM|7~)1lKO@} zf6PP0b(yuq_V@OrQq+>m$|!?~=$oLeKm0Ozo6b7p!-of+6U2L?5l%zYb$@VjwL$?o z-Md6?(*Xb|DlRTCH8s^rBwjSko+Yv1;ztb)4W0ANWE9Ev8e? zDiBSl>?oRd>9G}3SaGNj{<>7V&dk$^Y$R;^Jh{+?>$zqkvZ z)%0;1KlE3pvfS&Rva^x<;{JKgmGSDE;D!%qX;F}smHh>6QS#wKhRdq&t*^6tLQPfE z)O_re;2CS_ren%;NY+OXmrL8+*LM-I+0UD!V}hXf^?X2$8q=Ol-}g17XwcyhY&a=`M@S>&`y88S5*C!)s29j5r0;=8e|TY1 z-bwhtfbY%ifg59fluu4a9Gyxpe6a5HQi9$oyK4F*zGW`7xUs*JN%#&i7G-#oDL&q* z5m?JUvC>wCQ!2+6J@4Lt_2By}bp3R#{nC6jB12rHpiRD1nCd|MlyktehOO zm!MQvQdTZBZo~`KRKB&|EdKB-M)c%xJ=t(`l6?hLs61AvODH@~6e zNKQz}`*p!`O66N)<5?pkBL!7ed0X2&86&^L@_C?NW9TvqtE#K{+}0m~MTp9`+|mXl z0634t%&k|3ks^jUhUXy=y99UGe$CIn0Jb?fIT`aHm)yO2eAf7~udq%`kQd@CqHIUp zC-}9js<~NNSp`aO$;vADNPcf^l?KNO%?c6!`!uPw;*ZqiC9(=QMeQb_LT!hKz9A+l zJ`;fz@Z!abZW}ipa%$>O7(DLZ{>0O5exnSm#A{HWbo_0BpRuoqG|u=1J8t7GL@@%E z)xMO4YA6L38G0C3IP8=0i}~_pIXt$RX(@l^&{c*lqq7H^uOF9gi30wShPL*Im;TK3HwS5Hzp;|_iRIzwil>z_wU1Om^bw)-^Z-2jm zOB!8p@JAaXH3ivTLR8BL_GRIbx)1He#l^`vS@LxXPlM#%0Cd+Qmv3R9HYop&{vv}P z8X8JMO^yH6J0qELX^8r*wW_Qv790X%@TxU#3~`s)0!+x7JM8)QmsDs4i|Df*}=qo=1wOiN4f_3%M!&{ls2v=RF$xrC9KXL;3o z7f(4dAYf$ze$8C~-_|9-uOFn3R5~w5Yu)UJhLo$}!3Bf?+t@L*%;l2Upyv7@qM+JZ zpBVaP67ZA8j;Dc%sC4K~u9j}jZvnd2Mm3dyZCJ8$0|#2upFV1uwl`^ z1r&`;cAs>1-?09?UfvZ$3XquROLDvV9`Zf}Z9<@v(a_!#AhmPm%R#_JF^7j29$aO| zdXN{b)*BrOwDB+-Dzmwg=SLx0jV_P=s^w;>E3%{M_8ePny~3M9EIt zdlzMVTU(WAgr0nzU7MPk%3xIKpWWi*=8n^P0B0Mj8-rrueAd@T*S^))p8+v5yKgEp zGgG-wA>xOsd57Ow{B(|Yhlie3VErN=IXXQ23)WZ+Z_q;!8)`aCmPgAkG)K~7KlE;g zt5`p+T_Twizkv14)XCh^k^`{F_@g^B!)LIs;(xNx_F$c`3+)klo=lMq1nCHV#tfJ-I6D+8OqvO=Z00WlUo=?j zQ#)pY>-TWYLs~CcZW`(aXsxGswKuDQdDaS2zs$BW)|U7PnpKX zD_!#Yra+=pzx2Sm189)+0^aM_FC_UKm-jgf3k$M_gLXIZ>S7aAEE z&mn9>aC7{NS>$F70-*2QE-kF>?8J{RYHDi2ly9cOI zgoPi2zp(N05<`(a`_Nkqu}Rj$MT#Qw78X}Pfaf{;cYBui#+%#ZwQM;A+DT#_B}Emh z5wth|!uhZ%zz^`L6#;iL>k;+=dPsWTO~2sbv--#k$b7dMAQ4W&KqmPG#jB;Qt$urX zWDVT?1W*W`Ln3y}$)>3Ng2_3q#s{M2FHm}n{QMXF7?MAHI0wvZU6DmkR8rFFCX@Qp zSjzV=PL>EL?6ToI=@-QAFflQi+4EgsO4Z`E>}5X$4gtfU*^iD}f$SH4i~6p$^;J60 zzfxG(*aP_07{@LR9UbUSqg1Dz)>reqrICFd~+d;Oa7 zk(n8@urL+S-o8OW*sqi_G*~~WXBBwvIRGxdQbZ%+E$Y6r5)O0EjfE<(U)907zf4RF z3ky3h3goXEN9^CVwU_VD#3}`VvZxq3pmXqR4~*q!*VfhsKR?DVdVmg@VgjU}B_}hG zk&)?W_=D_*4}0eP+$%xctD>>13w{%n-IUh{mnNa7kA%C@(9%Mqxf(ke4nDq&l+?4v zg(8_C!bYIKMsu1^wXa&(o0n2v&3#aeciprdgE<6swi$w&;N6`dIKyfTq#n2|@ayX8 zq7oCW`Pv6zdQ2IRv;|5tI5M&s=5aLfSPy}dckai#ls?Oh2@;S`rElLp4``?NPgLF5 z7%h;;ji4R9Oh^cY{V;*KO)a}`i{qPZ`3(7$kIowRs<}a&`3md(7vB05FVW+?n~C=` z)RD8J0Zu(wIdXR)SsYTb@h!g<1I}qs-w@?iH!?!q*VotmWC{>C)ytPJ2?$RvkC5S= zeWk<-|2-Aauf#WS5_z||O9_M2U6aDpsNjzm(K&Q={&=q6zkjO-+>!C~^DBT}d!FhV z763T;-G-=zRc{9kYpu9LRr}}(n3~NMnhy3C8K1INO!p_ zr9xI_+GLhds1OmA5#c#b_kI7L=jHSHJkN{g#dCeUu&(R3&hvYIzsGTWk2CQL z8h8(Z%VG|F_`?fNinrVQ(N_r)30aR&22J+~ac?&?>__aV$5r--hup8n#b8d=VhzZg z_ft#d;Xe8O!#XV6qzOL}$cvG!MYWq^m*AuE7?gm{pn!Or9zH+#*Uj+eX48DTvNwZ1 zzToO>AVZvl@M34vLlLHy7xyWBBO`G@ikiqMLbkg0TQ_h^*{Hye;ECA_O}j1Z9ULan z`LY~#rJWdbbq*iS;t@lN0*ab-t%{d{sj2A$Sn=Ep7+^jc^GFFd?%gB*yn11h9s11u zIvSsZtUeZ>A8&DQND8y^&-}-w2GsqsVSfe&T$sWrm`;fLJzv|KJ=duEh#&?gf+E|^ zq5&;S=0_uB{b0+tJ((Mk$zCdMwkU!VO4Y}u#Z#}Yt2B*_yhZI)kBA+PIM|gM#7Tj= z=V&m9-2v7xb|H)J*pfWcnM@LVO7KugDwQI5H@4OAXZ@4x4f?}t`&UKA$iej3Y>lhdq zCVu|ZKX~v?dmk_q4y4V`o;}k!b4Cj@id?|2vF^^a_PVv^_V(w?%T;e^g$RJkuZDyT zij)IKFW%0wa&%0@rP)6Y;96W<#F?!?+I(ngCi6kc$dnR4TRCJhc##2&BAI+1c5l3U zmjxA#uD!kBE{Roec!<*tXWZ6)r9o=brih9PbwvSo3u(&=!BS~QI(|0B;i*6iOUvrs z-rj!a(aws${^I_s@bKY76m*7xvTIwej!KWH-VFY+gHkM@W5;@Dba63fUZ`YxJ~M5) zv{b3>!-tTBhadmO2$`CUNm(1N=kCwOvW7=3Pm>|Cv&IT#gTd$XiQGIXyCiV1uWGj+ zJrW?|x3NN{SVZ>nM~_U3GEgkk>L;z?`Ad_HWo^Ulq^`9bni5$1#L`dh)iO%6NwBlG z?|D)A=;VN_X|BbMjHH;D!ZqP2r}1*{{47HgubUPh&x*3w%+9X6tJkBXtIHPomx+GD zmlHf&Hi?U+H#m_~!E0TZURsi#o`Sv1rcKAjyp(KFwpKRQhLX=@`1dnMI7h5_?zX$* z#_Z1z_-KU;4d3b(Sas$}iQ|y@gZpnL#>AwgW@k%E?76{2;a7Asm6?eGi##WBAV4?Q z!o)IQ^XAP`Qc|ILc`~S|Z697qeEZc8zeuuD{aenl#<|hJz)yBLr!>>m)g}5gyNb0q zKhL<}*?YDHQPobNZ`};`?BPHe$w;;B?Q$r|D=psYSkMXpAu7h3Jfr^3uMRuyBJgV zbapu;5BsUz$;_;FlE>kz+S@Hh%7VF8MWMp^zr5c?b`wwZ4|hcYrm)bqHVdBBtEnfg z%`7Y;@B>qr(_5pc2waF@`Bi3eJT8A#7gH%orm*@MjK-Y&d;@?_@p8w-HrtvzI&NmT zhE7-WFRs0}@!WDY%9F=};li;~>p&WC)x2NQ($Yy+uf|}F6_Jw4F`T=6D^M;I zi9x04tHdqWc1g*|=p*;Uh|T;NqaXj}Cs*83oiZD9Y)sC!|6R;(A>J3>FPET?AXDc6 zf)@T?l!+F|W&ij%2cqgxLl@rwc_$8fc1AiZ6lM+%33u;GW2~m#zu)3A{NT?mex4WB zDpt7`<~q-kaF!`_{|)hp&&d%3)~78oapHNVae4d++wp~5?4O9B%SnIqX6+-^j5f_e z%ou6{?P)kMM>N`Kn9nr0zX?pZ{(;+ z?+d-trczcsap#? zMcNz|9c=_=8Yj_?8$mtES7`SmttL#w_&~ksUN*)rqRzc{YaWd-UhwDJnOl+K+uPra z8T2{<7_z_WKxEmT?C=X0R^~0A!xnzF=C6Je6BACHhr<7yzPKXFB-5OQz96JPeQz4| z^vZ&eLpnHkLBg%X*c|<&13mE{Wq4RHP((54l7rB8*Y+bWE-pXHoGp7KZ!JIVAZ{XC z{dW{Ve}DIoWy@DDxmrZS#YN>^zL(F2)^bPB0A)eVmVsKOpa)vT^uPCEeTa)=2?z-A zQF4%M3pw*SE$tb0U?1aWTM-*G99WC-r*`>~4F99@a)O_sYW?`}DYb$e{u>T&YGcEs zqEZ%kV&LMZeD;(ZR? zy@;IL$}eBOAV}~ot&DRPRT8?TjR3fE`JJM-SdH0O+TE4TZ(mQZtAnZnIe2hL2-M$_ zI9Xi8&zf7nI>dE3P3`Phkul%Dzvc4f%Q~6ny33IY|FKgS_wffAGM@;>v@Y>+x+#7u z!$YfsiHPxzlzD8=_C2^1-e=i8oJ$`c@bbi+AVJBj5lcmk8qe=A2@DWk=i9ToFP!A7 z+!Sr;W7ya*gk&#TzwKP0yT;EGS9@Wbktm`{?DC0=7ZoO*Ei%tV48zx*+eyy&8+F5v zB-6#ERQ$Jdnua(DD756iSBMu$U;Zd*Wf!wLa-b)2d2q_+uI0IFAsuh{xURp!e)1~L zf5e5H{$CoKc=BXF>p$2fv9B^t4^OYuz|l-i#@pv9qrKy$LXOSt~?3?3cVa|J}aurDhl zCV@AS2a>-ajK^(oke$r$HH=ZXUykxT!JdD9=V~{KaGtg0I)_w zjf+?P&KBB-y-2qrC!m-F`#|~za8x|MK)6>&e zwYFYbb)4LZb_7HKXl5vUExG6B=16yVLC;n|?KjC?R30U?!SUl;NGh6~yuslYSFN9QDZHvmhdc+d zyydGH8XJ2Z??BETPuZiceitt9-xos3e=lM-tQ3OY!~jzQqU3E-JaJYd8_4*RBSUes>DEt5!dz57a?BfwM_a^uAe914Tv*ru zh@sej)Jj}Z(iPlFIV`*E(xNdp+fw-1PHOlcIKdcg&}Ow91jLXuLDR{-`M{I&0B*p9 zo+CrmY=w)Q$iaYjXZEu))OTJ#C(1=#UV~F?5Q;$5gyPx)yD=*W4k#`mkq%B&Ab~Me z{Zs?mV&nrRoXX4FmZev)!(F_2GjU|ZJt8{# z6XtXkw13BbrrYGT4q()W@N@lS%=j?*7KdX!9Plx--QB2ffYx3^QP z7m)p?T%vL|TggAGDqi3$I`z$R)fRd2^wKEY3$s8+66G9ha|KQk#TTmb zDhNlh6&LUIrXc{NBvrwQyFe{7-1BfN%Bg!NhW6N(`_K?v64=NH!voB)*RQRZq&|2_ z8QhsR6k?R-i3>a@iuKH$^`8l@qQVCwmiy&J<>fXhSBmrV*$6ah^5)Fe)52k$&q0G*`Z$7mC=`~wD< zLP47g2apw5mYe6wAAH7n@X#UW?ovi1V&bLTQwjy9Z5!bPU^fCVBjnz}=iHA$kP;LV^gsD@N>$O* z#W>6^LN!BOk6N4(3eoF&s2b#+{<&`vyRi)XI^re43c+7r8vou~p(3_^{UkKjbk>FT z)zCr8(pq7`96T(?Uou4<_jK>hk33h}CBF$XFbp%0YPUN?bhD5*1_^kIvezetgoFYh zFzz26l^JuD=a)ab80@AffJCHi^g6$wm9_QG?(^F-N;HA6ze0@br^L19@F zgchWu#pIkIg+yjha^WVKe{~6CVo;i&o;^#?$Y}d(XPT)K)C~ZJ!k-@u6Ja8>F8GnR zl|iR|0W19QX<}xEL~+6|5IR*zgC9kpS`$=>w=JY)r+-dNRDlg9V}vP8#1n-}HMEBm z3N+MvD^H+&gUDA;KuiO!vP-L>4dtduV^TmN?pP9x<8 zlYj~_*RZ)G3Fau<{DmgNHY+Mx2#m-K4Gl#nC2_)}?(v5|!2$`}ZA)q~retN=4Gj$e z@)#UGECIi@{ogeZ?)icHySTdEJN@(UA7GyR%E$PDd~vN_&5*F&RpFK>1#W%Zm}08_ zBRp88qTv3R1{(=P(kOr%KrS|Q@$v9bD3Ep(I2I@JE7Z7f7~Bhine{QpK7zku-U6M} zLY5R4ACCf*oif~>ccp!y&bezKIC|hAy>6&^u7R(wLW!+s7@~jBse&jj8No$yx+qMl8VPYbvb>0#Bpff+}QZmV%?S!M*dxFOxj(NH`tWL30-pO@Rru9{@8B?w5L2M0@sBRkM%;(V_>Is+wy?{Kpy2~&^` zv@D=hU}9q{vB}r}1spT$!k^-Pk0NEcu zj)R1ytl$tNmxQ$ua9}tz-OQoCX{lJkDV)5#gYf5UYFa_b)6F#&e6oo#$fbPv>(`?v zB3(QhS6L@0U)wbcJ@DA{OH?XO@-_}iDJYOu>T-f501`_W0A$8MBB_D5Mxr7lE-}k_ zzO0RUcb{=OtMrW%cap6|d|SGCu&`ZRbo8m37uc6TI+-H4_U0}FKh1tgX)*UpsKfwG zq7uU+0WHDF$w}F}w`uf;*e)!UpbXXh)Yhq;8Yfi!`Yl_yk@gaW6n?sgXCD}H%Gb9V zL>7!*6d{)C!%9~kFiAjEA2b)-&e1lV$)e%j5Bk7G(o6tVmh zng`(LRgKg4>sPEja%=0Q=Lb*Nojj>bscLL&9C*hVUOlK4So!2b$N)pBZ2|7$R)KGq z-hD88V|5uU#ONw|n&jkUGLo&Vc#*ebRC$)QROU9xJ$0A~%6Q8J;mEtP{i>Jk+rKTO zjW$KS+j7v|V{&S}GiV$HC1q>?RIxyCW*tt!=q>FyP;WP zP)p?i+0sZ9y@C2s1+t$-hXx0u5cW;tlZd_ptCk_w_UZ9n5A>rCHg8f>696I&DbWh= zcf~Zw1ZF|QW~cFhH)4X6_pMPcnr2WH1B1a7r3kIK6LEmTTc#s`4WkK8YV1TgeQ=Iw1S0VylYoU*LN^%yfBXZD@rgrDvCC=q-ux5 zz@K=^oiry*rzjxKBunWSIgQSM3xP8XjEpAwu}!J!NBp0HwQwefM$Y2tua3ZY02wg} zJplQ=yf$NDO7Xv#^r-RgCPTL^*POOo;|wy4W|!R7b2XG*@+E$dtW^2@op0ObWBLZ2 zYe^+{IEK&K#h9O$w?jftuWv-Y2l~Oz?o!b4z|ik~SOD~FXlc0`g`}%OcA7DpaQ$zF zg@uJQ^IQOa2d6XuuYx%MRtM=Fy^|yJ{xnmO_3P=tGxLsp8W;fD4`6SjY#p-ivfF57 zmy(vQK_lu&swexJt5ap1d+J5>N0GfBz`H{1RD zkKWS+wgQh{Bb*Ne%vRoKQO7Tlht10?5gFMLb~Wqp*z7>@C*i$Y#qZ>u(QuGpH!6y! z!N4xEfQ~7IN>$f2ko7>40;Fv_CJho^lrJ&o&zIPycG@E;0=Pl4^IYyGGb{zFXa1;? zXgE1w2-b4|D!D31&LYq>>jXmY*_$^}dyXu=JOOs44=D*`2*@V-!8tUKPD#ni)lo(xTjFMy({%xORrmn2LE^@=rr<8*WTen(Vxf&(U$S<-G-?8|GIQZcJ9}+ z^%soWqeD+yegaj(!^=y~Uq@G$29c@w?9!QI-KFdc^D|^A`t#?H4~TY?dBg472jJ*P zR#NcfCMG6H2(J)K^x>qI@A^vNL>K_ukG_QP(epAG1bi6o87FqhjnsSltyZnTautY+ z{H}fHTco>x&YCxxo4MAkU$3^~`;Oo9=8Fqc8f>SLxKr|HI&GH!KkfA73dR{`A7UDvL`7XmR#vV+2PJ2VZz=2fyTht#6%CZ4@E>o zM922LK~d*=EiEBfL#~4S5es!V%#CzG_mW43d`mWQ4dMZMU*5TlKLO*H4$fXdK>^w0 zZNnhoH|W(`2Z?5B`4W2V4UmHtWA%?utG;>jCaM0=Pjlq$8FXb&{P- z@9GTJnpZ}FZg8Xu+tT*KJ5mQK3XXMZ;+_?#E76j6YB?OtJU*%@@ED32j2pT{VeLf3 zQ^T$fJUMb`Jc%pQhE-SKLdAzz{Xod3 z5KmT0CBIOHs1TqH@@9aH@u-GtK*75NVY%6bExON}5aj>H4MBjiAi35d{OTGQL?}kz zqW%Okk`A~OA&vYN3FlZ;9x4$iA<5dKqeBS`4^Oko^DKoL%MhQ3I-nm*#KeRT;#wuWf27ax6A6Fc3GFP6n=y71O-9vrV|%b3wr-UrPM$PPR*)m8bYwpsdas zJJThR&JoGij|HiXGbnA>zTAqyg5W@&^hcj%gy^O|qHpt`&?_+^b_4jAfVs-$qh3EI zqC2GyCTNr&Ry8*8qzTs(do&))XE_iThR-qRcviI9cFU%N6ocsrO+5ooX7cyK_qI18 z@c}u79pzqq*!eyB`${o)kL5MII(`$dll$39MXLi6^g1R&bPYV0kv-0$$T^#z|?E$y-EHB>>fgqn(nHHUY8y+k zc6l2Vn7I|FKK{sfDYQk}HGE7UFQ-MMclx+xO?#%V|JEO$Aaqsv?^?54 z>}^JRm*7?Z$>Y`9!fcI$r!V^KJ1}pgszT+atL>TWN!6Wo_7YbMD&4aXqer8m`pSCl zgF`{x9U85I7CtetEv|$hItGA1;ix8CrbZ(-Yr@>w~)U+gDq>lRZv*L{w1?$soO5mw3wK>#2EDiVe{q0(jfQ=T-S@L|vGg}6yJ&)|1{8~+W z?8d5dq7IszTzzp`)n4UJl1v(Y4{3uoD{EYSw`Ob9JPqZ?OLo`Iz8EDQs?+~Tls7$~X%4{4WXH#E5$OWjpwvY7~BtdnSsn(aC^nsdC8c{GuC=f?}@Cms*Fs@1-n z8j=4bo4vF6w*>@&xs)vSC)17KBN7NTMP4}!3mahPgc|+l7=t>R6!3!DMb;(W#T(-SfEE|~ol}1LmEo-z8 zf&CFwIrk=T)7A9QP>jr_eWhzBo$r?p4twN_cvJnl-}gW297$VZSATLf&nUQbTXB#7 z6E@tSH1FcIbCKoSlqAIfg|Q=){_|N$F%;{s)0vMu*lX(2o`z8bsavz1_l@=!RqtL} zJMu^0KGtvP@2%F}AGOgT}GSQDw#@|8szFxsyhxSm@;ZM}bbHt12`-#2ga^Nq>M zO59&GP>7ReKRFZRbX9o!FP~#Vwd;mVe3kQF3{J0zy4K{u9V)!{0Q-uSl9uT?EtIo+ z`Fd39_%MvRQY-G|Y6KZ^vT+m!{&{|m_VS{4j3Sp=5TR)PIjG;v6^6(SO0SP6KJDd- zV92Owt2mHL2~*2WOWN&S9=KQQ!veMcG%)E^!7T>4$IO^W_i z?FBnAsq;;RVHuI}N*q=~5Yk%yFI*X$>r(yHdx}n534A#IhioQqVLb{1--H^J?z?4|HEVax@ymRH*Ql?=c*VXA>M8V%IbEB zfQQlwlTmvnnx)b_vUDsJr&=!`)?R^_L;!++?w$C{uo|z_R92Rt6%Sq9R8AC^&ggAp zkd)o|-W!2r9J4H*$xy*9x z>N@AL%IF3`UN0?6mohjgD6K0DglGb%q|EqRGl0oDO+`M%@ z#+nLOi(Td$Q`Gx0L`o4eYV@KJu=2;6XTkjBr#{t?Hisjb$tzfUVJ zeLufu$*%5BPD`k$w|zwQo_D`n{}}i1^v7bPkOA}f_R&T0Dz?dY0R}|4Z&N= zE7Yy;5f~ZWi|N2rKmZV7CU|L{ABVWt66Gw20y@gBR5j}J@V}xUSs=J9iVl=wdZ=AE z@i`#ut(Yx|1SBOT4mdcnEIbq9BR(-T zDXP$+{rS_ieaZ+x2MqAC3)el#!{0IZi0S4x@*uNsV<wEf?&?IqWNzLY6{=#}Ov8`nBNhn4QOa!~jko3pbuh~)e z)j_&^0cm6Qg$l^`zo8QVjiz^JXnJk}_8&lduMUc)N>3!n00|nwj={%??|LJ0MjNX8 zYUrG!0r)V5ePIYj&nb+p#9-dUY?Ap?SOR3xVAHJ&FcYAoV6Ts(DpJ9?EfcVzQ49V9 z*)3q^?h$2O&f<{ylW46Hur6#{lJ5XVfwuUiDzp%ccm~0MY!W1oYR}4T$tD{#9Up>{ zfqtLcuJqWwM<3xaF>!Wj<}4EjM`_R>l#?2OTT$YcTkMcv;oxY19SR?Ctmx!J1;^lP zgueuMoT_z3*E0%His|#{-;>HEpcgw*cDg+Z8Xm+Q6@#2_uI4Pac znNbb1lXD=MY&}o(RnfpagvYjE>iNit6DKA?pM0u|T}4D{D1bV|7bJ%OMQs%K16GI= zz`l-h*=JNZ&E`vjJ(Rc4{Ltf*FMp*L4-8V2sReTy>tLFT{ zlZHaMMA@_;$~q@u>vt!8Zp4?ia_p?4AT++`QrkF$=Z_s;J@DZ5SyNN#&=rd+-&8Y; z1+upYEQagpM$#DVlUBH!Es2Gktmm6QkF3*ry7e&IPkm}aQb&p=-;1QCv}S|0JtV(B zUISQrlU|MX!q>h0=&41HLptofbx{eQ0zqCCimOq6@DaH;OaKJOhX|j7PNg@wjS`HJ2!z1CyoxK)G|)Z|dvcGB z;ug6US5>@);FfUGz{rRItB@Pl!7ND_SgP>Z^W>^{lVbtmD$A@cfWq+Et5@_Ch-axE zO5wR?BH9lrvjX~h5dU-lD?np`1|H_)$Bz@0F5o>Uz!#u5%2f9N>%^3mdws7Hya;if zfSz^bi!DZ(+xfDa)f$8>yQnD=8GBN{7)$dt9aOt6Ph|B-sR2Idv9h znJ#8L3CVZ9gQ>WHFzz^a z2CxOeuN3@8u;}?QU%Pf~79fmlR}6$qDDnwo3-QUaAW3EORYvDg%|^1|{Yxtmwvxjb1>E zcn8D12KSWk2a}|a)04<@$!ytk}cE*p99%qO-X|4{Ph96dH zeQ_UQX2Elnqa)-Z$Wio!1*5f*_=CwNqIK%Kv1mW2bTZrZ3!d11QGnWkSkl1!OyI}Q zpJZnjCz$8tyLd1_q}MVATHoqh>?eqszwJpSt~b2j*v;loif3|{RR%HdY*^ufX>OYL zs@h4iEN@Arji3Hcz+HNo(jz!eX6*e9yT-hOy@#pc7EAxda;)PdBB z>BfDDDQ=&cr!ZCE?&9>a{g=9^$GY+w0nF4 zI77lLWcwHjC4UAi9dJ%Y3fnq09&B86xBVm$*57ksK;s}C z%-gxV?hY% z<_x2i@ni7l`pZij9a>gH9KU}3sv|vOa7JqDUO~Z=oWyEPC;zk*#)T>PNEUW>Vj~{` zasl)oA=r6!%QUf${VFFzmBsUqvuU)k=}Y|+pVgfzvhk(0hZh3^y1 ztF!VztnclwcE9i-#QUxm-QYvU__#Pue*Sj{8^zPJ(()AgUpqXssgx8pbFhD_{%p1L z6LiD{kZ||LGpw^vCnTiL-Y$h>b8UljXxOY`W<65sgjC+Q*Cx z4G9Mc!LJSoAZ*MP306k=^jSC<$oAd@tJJ%42{3L1=n)YnBJuF`y;qVH6Ri6;I+osP z9wF>hTsc5B#_$?6!3+SyHdp#+eITU0?-OmI)hgOSLkj^9^h#4GndY(AwjSv^#)lrV zWEty!;XqI*Uqg>UO=G@c0IfpAF(c5Ed)2DUZsbSzPv^sF(75d9j~|;#9m;)lZQTap z4MbHhS%9N#n0YRqaShr8JsJ0czMG%<-UtOZQB)jtD>2E`BOUC!u8OdGo&?LsfcX>- zEMF9H8UKthj-Alf7DK84lDWLv^@gf1Epc!oy>vXQuSM6OM-ZEQu_HNdKtys=5?P)6 z_unpP?j`mLV>3i$oSt5=!At0`z!CB}7VOXS7o zf9Bq|urUP}PL$k7zmJ3o448DG46=}b(b@eSF|&bmz5&A*g{A?z9b%{kEsCHY_+N+= z)SwXi|v_@ zc>3EvM8+ZpM+ZtVL?eN^{b;6>Km3Y6eja4oB+M$>`?X@*6G9i7nJFN%p)A^H*?APX zi&UFC6{=Po`b4;;IgIvN#-gnJwIG~O{6;p&Ber1~VKp%^OwrT1GLn);0&j@=3*w`0 zPi=G*ZckkyZ{1gk26oOxVq+42zh`O1;>}3seL4sE%&K+t4Gd3goVlz>?P)E^xOUho z>wVUj&ih*)Xk=x|rgWJ-xW8qey~%U&dInQYhWDrF-_IQS`=jvB>qD>PS>x}Y{!lbJ z!ZNsj@aE~mp{M5`e!pPCfCi!P_AE+YU!RD58H^(!P!s5pQ&2FQeKaoM+r{oY66AGo z%Nn#QT|`R?q+~=IgbuZi_ePL6Ob*l&QOJi${{rypn zpHh%YgF+{Lt1zPT;JbwT|pcSD(?Y;???02EJSg{pocgJcf3FIb8xqy`pI2G zrRW229(xUEh++Cjd?e{`G?l%pIf#znK7@yAFdsxd_6KkGIdw{94N>5ttBV8mVC%!m zk`f-i&GuE;MVxqWz^=noZqu$kdw3hP+?quyZ%<%lliIlPTt!7tMtBW+YOwF1HPhJx zr@yQweFxxwm;iXBGeT*#T2FcJ-o2{Zwq5HvP*L-&xhuT1w6vH?ZGTwc#c6g6ra;6l zl+tE-J_`&P^CvJao!7YMaVM0A7eO^gOf*(k)1aQ)J|in9*9fZ^+K2WWXeLODyPKxy zY=S7?jC>K@^sS(yr2&vr9jPjTW4bu25ZBZO;Kqe=^ma9 zr3#Xi1gl5v0*XwXMS0l)A?V4(x)$wdy#C6|Nf;L~f9zz>jE`GXXUO;3C!k*vrk?++SaO^5#>FH^rMIp*OJa-bZFdo@iqL2rXKtp31JqEYVFc>AH z1ofF3u_SalcrN75hEVfj&qL4tKrJ|cQQC^As7~oji)L~kI#igW*Ma!Sfd!?%z1SFo zP)*oPz0S`#3@H(Z+rB;>4Ze0Ch3B2DEIqM{P7vmiRQL1oZH11N(uxvuNUoZx9@fq& zK_}uNyhExUA^j3Pr_}ht&19%7?IdfKQs~L4o8jU5mGd5VrzjB07wvCQL}Xz6K96Q! zmIL#1bIQ{EXd|n^!cu(vi;44#QMB}nBnvF9zVFqmhNIWu380!i>c^SQ%;I2gPueUI zwO1fzRhy475FWS;D+n%syDr9rt=3pMKyIA{;m@dhFv9ha(|%EiLBx=)NUa>(%66Hwe*aU8X>!Nc!4|BnLVc8Va0riR<2a4Goy5qRl!ECRwAsov65^BO-u}5%Gq9 z*7lcQj$;=XQk&I}b(bY1?ze;M0UB&Tt8!Ep_I^AwFAIA{eaZ;c8W<*qf&?j&9y5MK zbxjQ7-+zZaFj%jlaVsfFu{q&1hx$WOm+$VZur=LUUr0q6wX#NW=RKQa#jGbBAUa1s zI|nTtT|YEjWD`x)pE{_(?m>EZsoe&-WJU3l_b^VG5(rd`I6UHuHeu`_w6-#d({#lK zLI{JrjfOV1a;z)uYF6MFnCwn$SMPt7Sbw5z-;wE$0I54_y3WE-Iq`Xj=doixpPzAw z?$S8Bs6o0yv0IHWB5EBZfe}d)v64552;dIiGxxn)pZfHNJ)dV~Wo^y1Xg{-#ZiG4@ zEz|DdtO=%dyUZbK(F{C(c74cx@L((K9o&n5c)}r6@0pFM>Fv(dfyk$70w4_a@-ev^ z9lZkf$I`)Pp*83qg%~C+yeuPQJ+w4=od%gmc-}n;sd&y&m*T`>y7%KEtQXk!{KRH~ zp?jvXCHy?kqlqc?O%Eg$t#;aG(#ZpG=Ue)fMY%4<9ZTj2ZU=>Tv%Qpt9AG>t*~*!9 zd#Hv+Mr0|g3Hkx$7CJ#OPusRH_cPN#m=;+yx@V2Df%>jCufxrMA*2u|oRJ8!86i)W zR!aJ{ahofZm73_GN>H9hPbgo_eGDFz)4kfe4MlHroJ6q^9U4jjY_%54Cs9O^A`3xs zJvd;XT%?E8Ur%(mK8KD&C4Mb=<7HFRO0kPf2=7F9G4SaVY0iTCZ8d%mbns}iDljvd ze8X+9)nZ(C@3pRjGUdYowkHEGO75vHQb&j7COA28|hgWa&h| z8Ya>C@dKTZR7OfyLlP=*%qN}L3?Xpsk?{B>OqklpMKe9DxmU zb9EieX{tcoqeoa5auBbNPZH|t49M~cFqoJUp)M9C%gYgydl23LrZls%Vw9AW42EoU zx4>Cv=QPeA56jD)(5tUzNt7@oCxvS`*{+(v=f8jdCjP|5&~G|xkNK!TmqYrg!JqqO zC9Ys(bV2q+qSGXdyY)9;A#NH#h!2Km?exgu|AYkvi`ohcEnE+`u zFJH1E-GYz>sn;efFU0W#H_HhRUd=KB&l$VXtb>u?X-XBKaCqXHLsyWFFbnws(TtI( z0M`V4+`DtGz0%r9G%oFX_vQFDbhmHVwa+tVPA&L?fRf2@RqD-~n|lg-s~YO->ko>2 zd~jrMc>Cq9*4L7|t~wnjJAB2w_3TQm8Xaxklx(5^DK88oGSDXsvr zdo(5Ns=0%MY;bS$Al(e9xQc;arkWu6k;6Lm;b6Uu1N^keRyvX2Q8g8Nf7Bva2Bobv zeg(V0oz}0I7Nj{S)L6X5?pC1!mOE&mq7e9zNvvT%elr$YIYJITqbmA!hPuh@PYU9vQWkr=lec#e>2H6llu8gFfA zU_^?tx?`c$QT@UAJ0v(<0s?UW<_HM_H0as$=L-9$+>AqdGY@T9L$sC<ptTCl>95HTU;S9Si9f zy3KKl`n~DuTw!=xTwhQwR5eJxjNta>V+U>o>Y2BGl z?=<${Ku$sM+j~cvghXeHOG_J|?jakctr@H7Hs#>p(A#>6pwXd^M8hPcuw6kF>`y2; z+2M=n(%oy2llh0Ma zd@Osnx`?MSpT~+7(Tog{vcFgIL_w&9P>zRGh2Ed%&z}QoAWnjzSTIX08{zqBV9>DK zS3?=o$rknCa6gseY24?p0x8l2_5)yU-CXaY0Awi~W(qw&la3=T)ib>c4 z-4S09H0bD=3c#aF$KjB5**!xS7cn$JNJQAV+~darRgLM2DRGVnsyaLQ@T}oLK=I3N z@3h>%f1?FcO8V)Q@GNBh`|rOok#8soa9?fDbP(-KDu(xq0Q&;9NeR2`ZLhpgk{zoO zu}i|EZL#az-HlTY;eR`Mc_o5tV?%Yyt7f@`Wbo>iLoXZ_Txki_tRzhMD)!r&2?|i$ zvP9M#tpDqz;a|6I9e9wC2bc|2i6LMi%59*U?_iJ|-f65JJX_rC>kpUTsgq*f0 z)ispcVoNs*3k&yqjNN_k2t$v62L1hMWxF?DVQp=Od)BWk-=}DGsX2j-4^^>!*juL! zw!L1@8!%W<-(JfmfTaMm^LT7)g$^+ z7xGNsg*ku9i0LVe-~^$)`u<~Gma}RyGB5l5+c4a`f3*#Eh+Q-$-7TU92TG5vDLwX{ zmO`9W0L$kxTHYe`yxB{le`=#7CMJ?X23b8!O3#61yR^mP6HV`+X7?+*jlmP9mk&vrIin zcOKXb9o9fXBm>`<>@$834`;EiuD*aET}J5P_PlGI_~iLZ>}Q` z-#+GGe=D@p+}ylU*Eu-&G3S}-?;oF#cCWuuA)DGa7nmXlSNBK?Ck82q$j>*2OJzxlLM;>8t zuy*RGv;F${bCtj=Vo7(byoqnk)s`$tLg25CkFD~Xpjm-5#So=(H#`hx85}CVjvOMIs`x&Msp{r_UVCCF=jrN$UYdEkL!O*!! z$X*?jzmUBuT71c!$&a{y+xUuI>9>Y-FW~f=2)?>tQ2mCSJ~P}2vv;fvhN?C1$8IDK z5{!c8MuB(V3;z9saVcAK%2NGL_rnvCFkeeVj*{_@!WIZC0Ufbpk(qPK2`o+5dxGz1 zA*JU^xj@`b5zPodfeFU0Q@N)bpuGH{7d*};`DJBg)o*GEHrc#u5G3?f%^+p8wV0Zj z(M0Nz<%~3`&7${^l5^eTF}%Me8nf5&5M+q`j6KZjLf`!Q1^{Nc6BlA;_!FULi>!oX z1;Ta{ymuF{k?XqDzLr<7b_J|MKN)e;g?rrN;!4;i9XPw7C3$0*kaf13kx!zl%;i2my!liH%1-cd ze1H?;aNChZe~RRDq)=@3@Bf^TtQ+sbZf3oGpg@0#?(|S(AnZ1S7gw1KL;vu?RN-3`_-^ zeCcXTE{Am@j4+e^tk)BQq)LreuJn-Po zuO+?wuPCf+x+}(eq8AyFB z$wTe=E|YS^cF+7DnM*M_$6aH*lZk_YM0Te6Ev?RA<2o z{Oag#P;sdb~asB#rA3InDa&n_J zf(P|F*>!Rf6f_1fZd71eRs&&fv5yARzEG;Z-tOCn?@sQd3ezp*(Y+XU`j zRGcT)05p{H{iLeC_!iYtZnwlEf5rQD1KpP`FZ{_M#6kNwu6)UINZ*Ii! zIO?~bl0IG2tgXs>(x(sp2@o~5_+h{z|9G_Owh~A_ zOf(v_QK4nb0D%u`fpe%LYtaw*xhv%L21&^koka(Xfb65`s}H?qr0i&Ieeia4%iz$^ zCs_BA?(tm``tW;hhTJGsLP{1+?2N#$jQ8x>j`zXN5WQ1)D+8EFnI-$6jT};)?dU2Z)jckRY{TF-@v9qtPgq3z5DI<#{OUq!=m>do zDZ!4-Oo|7c)JA@Oitv8Ma9Kf)3AZ^gS>A0A1xA1@Ag>PW55WY*+I9{=hNAn}v!Gl= z$$xk&bxhJuX;+cEJ0EO{fJ4zHSy|Cb&qXd8i*Uz|?=aps^L^vk)4f12BcGZH%{`td z{2o6pcjdsi_+tr#3qQvzT}4f$0uqFCrLZNoH@_QwGBl#KS^xXP)+n(hYKW6w0&C>$%-CU#{SXln}IAa!wpYOU57#;7T_jx>U|ob;c@#lcjMG3wv4KQ zq`*&L;}l8*!$zPF=;pt$+!DxEkFRWVLfk=ySRJ&h_bEE zsFYryLXhEKDRxG!37Y617W=2Yz*7eZC*fcyBX8~^5Eb9Q@BYOsmu!MSEFkQH_zgV6 za*HKz$J2kU|G_KBPCZ29ARbuOJ_f6|wvOU!#CgqZ?RxImF0AqfONXR-xZ>+;&aMi6 zW$SFwX0>}lq4jh~TYWJ)t^Ylwfq?`+tKY~TnXys#sOOclT=AjLE9-_w-8*jQHo}A{ zN4DQv0nZpuSpsXjnx$)zrkH-HhsT9D+kK%j6J6`Kq;@jY>WH}$Gb)l*a4CgNtDWd_ zPBIWXXCPMH;Ojy^-DexQ6i*xU?4EDW*#oTpwR(kn(N(nWIt<>I-;rc29%ho+{oY1h z{Iaoll1XNOuhRxb^}j__4a4l}d7l+s)XjC#@q5Y@Z!x?n@7x8?)eU~uPEINw#+l}+ zopha&;_1`>^#z$}jxa`~xa;Zk=Gsdq>!q3MNL+%UUrkF3_o5ed*vkRrga#fPF|o?E zDDBX{9kgrT2B}NWfv3~h+1UZu(Zf6Ng?CFQr`!m8RfYQ{@LvZ=!tHee?zH;5H>8nu zif02iGcd{aFSI4$3y3uMO54pCB5#=}n8KG$h2M38+wKVG}V+1_Ea%5fq zZFp*<_|xf)bpvO5g*o1FyR`?qFGQk|7!6?k0a1}-R|eE z6ZzMIhOF!YIbN2yhA^8=QP8{?h;ey!Mr?;TKvFzkUFlj^_M_yCE_Tn7r=7<-1v5f4 zpuqoM_X5`lE34A#sFY&kRUBKyA3tqNHP7!YHmDddeNZ&*3od>&xcKEkvwaI%d3%kp zA9cRO%A&aJN&=!`PEfIh76%62|5H^>y~8i2$Zv_9^>k zh?w=to2ttzw$+6>_b=4iOdJ_L85Kc1vcN--*CW=hey84U#Str^mWA3jr7u$wh%Ep1 zioMlzl9JD_NLW;v2wY_rM0ADZH7qpX_i0I!jWKrk%>TLz)+iWYuutpRFD-M$B(fOz zJ^k-_k)QtSd>|k3?*Yg;E?e;|pX~qh@2UDMk?GWE64yN0mb650eL*;EPVdE+UnrDh zllB+uVMdhRk@Y)B=jRL!j;e%MFXnyu9o(9^PB9`{zvP;CDLQA9pnj;5ILi z()hZ1?Haa5A(S^Ynp{x<_}`U)$PXVrT=S6yzi3k=N88={=U&mm*%d2R@bK}i$M^+D zTd<9Ue0M{93$-Hgg%E`0*J3X@RdzBgyEI-4{{{q!FUT&iLedcdz-WhT6lu^~3P*lG zeu9nMZRB>4WvpJbq7e6DE~Us4>IxlnDW>Ea;N9G@^pH-FWg5y>FdEI!uB)o5R&{ly z2(#hVk7G+`mM_aj8>^(zEwCDBoG4aP-uP|kzla&$jG>W!QWqh`BoiS8=F_?^E@H%v z0Bxq2Z5=`qxNp=@Og1cBgvv+rdd)}1E@#r5rX)n}=g*SPH7)d!DNzzQ6;d2w^}=#3 zl59ej?qrkSqUUfVEwrB_ohLy6LJ?44WFHKy6G_hxl35?72M%(H0}s(%WBDPtS@Wde z3FKPnWtykq|Hw_^VTmM}ulra(?!;S7i&Ja3LG2;wuDosfVEg}hMtmh}Q%Ka4H~pE0 z2|pSUN#WzmBb|ND zx0#s$SWv9U1Mih%ThLFNUZT#B!Tism|C)}b!HFiDFx<0w^|b+4F|$#B$uuVf_5xhJ zn&kc!9zCnt9Q-_cN?HZ{6c8Vn*-prYKdv$h^bAjl=^S1dTlvoopD#5U0Hz;ZW^4smBf zdb4XhgLy4>y<~v>2d}{U1xc_|sKq1U>w;SCb%)TN>ylSqisI{{vA}AJE6K^u;Nfrz zL@}S@8}Ygb2{s5fyHWTuAJ^ddp>H*XtdejRRx_0 zXlwp$$Hnst3fB51qK;<pHwGX` zDF{d-N~d(Ags(^_A+ab$N=l@=1f)@fMR#|1oO$c}{m$NF>~qFB`<$`=*bEer#j~F0 zj(N{{&1+tB2SP*X_|J!zQ2YhicMg{=OW+uSMQUdQkQ^boi0*@wc}*yjYWn7LDM3XF zba_B3$*UL8VGIW0t*5T5c|i~72qDRb52+w>w{5xIEPo?x6g188FzCI&2&E&F^=D9ni{YgUXg?&z=qa zcz?0Lb(aT8%>ea|KK&Xv@hH#y$9_@uUq(Jq|3%36B8Lzd8ehSggRBB-3%Mww9r3Ly={1a438_23lRcz41W(L=sJa49^IcWkAqz5eCeYi2M}@3jqh=_{o!?NO=^r zeB&XS`kIw>8>B@MX#mKINO}*3wi>9|q$rpO>RiJpfT z7CpuZYU+my3K&5_K@{LZYMlh-Z}(w8QUQk;OeY!1((tYWdOj>dJlX>5Jq)ya{4zdC#%Jo&awC&uuY9}H%&t>8(`6V z{`^^IX{Zt^+YEp0<3i!tLB9+%mv3J?g8l_GrQ6{^w5%}!g-7sRr zcYVk>cB1lr=e9z84hIkh12HhJcOXko5{6_HBCaZ>XZ`>eLwgBPr@Fqk+$*r-4t8d5 z4wsslnUMqS05xE6dLUv5MmPrPl74!j+0acbkCj%tS1?g49kdDUbD7sw++xxH=`3+NyK(#x;W;#Q3 z4{oFjT1X zO*2@7ay&x2piZKy3zE^$xd^Fj=mE?N<&VFdV-PzTgmp+-k6^sKy(=NO0PeR$>>x-? zp$Z|$-&L6*_yVX4C@lq;YS{pH#|*Il=wLzXn3%i;6#1gCux8gOxO80HImBRq76$I1 z?RL}j0rY8uc5A4&2Jk#*qgKIIVmts+m@1{n$%j^>T9clx{kVT3BF@0}qoStvgrSE< zwA!kknaRob`6w}v1iJvP2LelM6dVAyLKNNbJCT5!Bc1~n7Y+0*=WrmeuC88=J=~Kt zOvWT@-$khz*hqj=y^@eGwU~2e=I4Jh$&Y+606rl9W{0~CzRq{Z@R zBy8xqW8+89E4Rp3s1X3QhtOS)0t3(ng6bh*2SpXA0|0RM1R#MgBeF43vH`{dg8{gX z4?x^LNosv%C8epp0r2r4C;M3 zyu6U*K}0;@S$N^}Y;AMD%Ky8bcM)DN#n`UY0~WfJQW~))VKKKQ$uj|YmKewysMZyd z8NjD|3l;})isrhqsyM(zA!HLA1ymY@id^9ILM3iMaK&04)Eo!Mwdc zf@IQFl?>D0s&u=Ij!=nY}G500dAgcn9z`9zq2l zme*ng6_X;L3LHkzID9x+07(P1fuN#KwZQUxk^SNgE`c3rS!M;Ka@0deHP1An#p=4_ zyfdJ%z`X*bf-a2>^00T>x`Fo`ZHC%{}6g&Kpyir zW(iU_pCD^0fEzI%j0axhZChJzB$xz5%3()~hD8+F8;gEV7sfz9o(Ksw5Ly#BgnT(Q z@)3v8DArKBB4_*!IeGeyrk+|EQUefQ2+V{XDAVLM;ucP1` zAXE{;WCZ-87Xx|+Sl}J+<8d(oq$sryp2%x&?<2q+K}!-AAfAVuI3ot~TOi7R0>oNX zp+^^rH36Z4f;G6tUFH+W!vmdH%16=;+ z5C_+|@Go#(;G88r=>twGyk|RUA{LcyK~Ln%FzzVn2?^>P5|@)s)8~CAe>uet-WcGB>~+YP*xMNKQdSzS%Von z#n%3=x?C(&;I&{YC4z@yyaZ2<^e? zQwXnxK1R=A!NKmg&ShZnga zh%z5NlmKho^9P?zpB)267?#y-Xz>aMiNz8h6#HRjDAfR5K$Vi9a|+2Uki0NoIzZ{N zp&<`ATV0^N_nmeMASj{Er$eu^pji^~X;54XWzB6sY(jeIU`N3BaOzNoGxLt6uBm1U zsOL?&WTsqOTUui83BR2!(FgGbteW$u-oA%MUwvU&;`{!#z7QMpU~JbzKQ>$t+ZVz? zXFo9cL|DJ@r&p%hg;Z<_?hTcjh~l%KVdDyc!x1tr$OVJE`5DL>LhB{yAxR0&J1KxA z`lP;1&CUK9ia4m4#T=)5fjJ&|rK_iB1lTG>f$d5~pt{cEz#!`y$VJ?&7gGOBLfZrm zLZmYS#4|aCEihLk+6K>`pNEtq1PTS#lN68$B#%kW%_#LrJfWia#MH>>4IFRuWJ8gj z6O&Tl`;(b7fr~&y!C+{K&BA4{m}cw_(I0BfBUJAJTp5a)3I3unrx8r_NpsuK$YE zI0nm^z&i#3z7lrvpWslTbUd_Hw0(6AN&ykm0oC~+_nndPhSxO|Y6;j}0j}Ofm$-Ht z(UXu&Y?k)>$)IRo%5D~EOaqQJB2@SE9Ibnzu1>!%W|T~ql#`=m_$4mlk%2Vev8B7e zpBty=7Ln^O_@sP^gG#!po*p`+?+XAbQu%{2tGg`0$e)6LS=eCIn4sH|Q~t@*r;p_u zX(fTj2i_UB-r9usq2WJ?C6X|FZZNj~KF)NuOnQ*@MY{8lK%C*K#ru8xU6xKFcZP6W z3{f#qH{j95m`~_JhzokVwZiJoUq#qLrKi-)u3h1*>9R3VoE?1*018w`fpqvcIol*4 zNdX$^aZu!4dN1UH zyN|qZ5K}+|-eK?%Rm)uXzdy}l4^3k|)@mXjk@i5b;{p&)W==M{8WugLdphNrYPUWB zG$vW15R6xD1zmi?sR3L@ODa7bbe4gd#M4klQ{9Z^g%a1dh^sp`HUyp((wv9t@oO^9 zWv9V`h8T)WU@(xmG1aBI#bRFh% zacgY9xjJ4XqLXrKX_yvh3qWsxGaW_2alp+(m?f<4^#Ch-``4fu3!VialL%5lT01~9 zN4y>waIXeYsM&_-3>qg-M^D1ofLVJDWr7HWF)E6bro9XKeu&GJj718J15%-bHmGPH zKWEIDLsAB722e@lKtj+p!*$%Sk?crHq>)des;a6EX!jz=9%JkMhrlfdQ0)0wT{dlM9af8vsMmC80dZ zslB`RS8kx6-*=!^l7NE=9mx@!Rp6z|14ynSmjQMca018<_TZGg4Q?BV3@kyedZ1$; zg*O<~`4a*kNegGiFYgy8`kI%wu(QHyD*pjLYBPX@b)6X;NRJ}YS09biz{|y~U2Q^b z%u#nnh`xRmYBHbr2wvhH$w%{+^Psl+hcuKZ3~LS*jfHEak-juFHT5#`iL^3=&ccY2 zXbDvix-OB{05Y8+7v;MBaU;?Uc28AE9wHvrX%@by8JdsWh4{Fravt_Rsuo7>=eMU> zmkimAa#D%80V^YCw1(DtY0xDa{Qlp)6LWLd(x{EtqRiOt;?81F;kei)opA$13g23 zlX4J(#UMcv?}~~FWl~aZE^ZV>n0idqp{ghj zoO-a4I6>&oRrqxvYJ&ruA;LIdLiu>^#I0=>}W21#(lff0l2 zu;7lHkVZ~pBjaR|s0$!3w;W`kF#-hYNQ1)DfY!RR1>S~))%s0LTosNJ=15Iwl;pn9o@<}X{^f(kD2KEbinW!QPsZb@@ z)NXXBxwve*-$cb&yB%MlA;Z@{;L9fFz5+U5EexnnM6JXtyGS81w{?jtjU? z;1!{AV`P+|?iL9qpxz@8AR)36LbL#W1~f>v#-AF#G3$OuvK!WEO5GR3B?F|e( zFe?a12CGX($8|qEh6sbyZ=g&IaXO(evI=4qz#tFLz!qghk{Y0a46x>L$mhVIfCqo{cB)Te&rQJC1nuTL zAi!jF+ZrYce9XDO3swX*N&{(11fs( zG5Rf0PZrgJdce>ADMSo5y$T3I=o)bFR{;B^a?@;zKLVf+;Oz%O2zd^gd4u+X7&s76 z+5qA_WGPC%P`NbC0FQWC=KUa$7?DH{1`R#fPw>y*!rh~d2@wjaWAR>}Ra@yXiIfK; ztqbWgmd$k#p#vmnU}!RfwXeUQ10*BhriqXoH$+L0zwm+e`?1QQA%s;xaR_Vtb$g}_(5-$H>QV6o*DDFnRQ^51N zz|4HFYXVjf5RYbLL_7KpfEzjl?7-VjPDOH|u>cT5xpSuCo5a$2kYf9e8nl3}ar7>o zuoD+5MFx%|tqUWhyHKY^l-`0QP*e+l9sCHiSSnx>4rN_8f)gL*rT}>Wl!aNQdSi35 z4j={?DI(80aCRu+uKw)~Vw=a$$EO4Jt^&=R7~6O4kfwqS3#C#gpjgb*Mxg*y<`B3B zfDAZA_=pEQ3;`*3fqo=-4T#C@0>v=`fs_j62f!IVs;xap6o_ZI<4mX^zb*tBDu_`L z_Xr0`P;u-S9tp6b^c@f3PL*0sID8HPjgba(l;a z>spsc;&DyeL;jm8m+2G0cezd4?)N0PHVA%{9*F6g9{%5uHXk;!-nbzFhz8IEhsVbg zaAJ4b#Xf>H5jfVCs>B8(Jpw2fG^_PVPrr^*e8a=KYh{SH4%-s~MbM3}0(1uv2mlB6M)Zd!N0Qg$M-z+>p>v=skM`(fr!1Aae|QO%fpL4nPs)oBn}TyR@!y zkN`w2I-%JJlrWVZt?*$3y>1vMbjK4D%8Ny|ktsfKYmnSQ01yGCkflm9HP{e~7mkxP{Nf_?xL~UwGX<$S)Xmf&4K-GQB1Je~*E1fQ zXzu0#FYFw6TwqwigY$U%_5ldHAjSM=&nh67gNPtKDIPogvT|}h{{FJTUua=I{ayE9 zZmUdc6z+bSa0oPR>FpYny7&74mHT<@Fhz2U^7`$UFSyy}pXo85+VU|^wQyI==N`Ay zo9R8&iVaLIL)wE#4 z`)Emp@tEd{Xv^eaIZ2D(FQ-6alPl*bQVB2QOtCHLmfBLu#Cdy*sQ{f$Gqu0X;@fbX z0{qTT8@dDA7cpOtPwBt96E~YfJtS-62W?|K>WvMq@vC*=%nc3MZndQo!mmb1WBA%n z{)53VX!nrr)(T_*lgRdbn;HBJ7cN86H9e2Pv}G*UhBV_1I(!_y_wplLmIW?*)rRgw zp0m2(CLX5ZUhPqg`Xc>RT85j)X-?ty-%%iGDwM-7v%|mh5^&=71gar_o&eKQi%%5_ zsw6gox6iXDC7w88=TsV9M~LwNzTxkOVqJ24SFRBjMZ_JSk{AAbvx|737CW$8rFzl;rKkb}*Q_v$ zA6Esr{nQTl4Dus8tS#!3Q6*_Qa{GMS$sSTl^}AJ+eI>#;7h^rft^v`}eFBV!a)+8Q zrRicTLGSKr=3q~#iAXNT;jDP-Yy9fkF58^1Un3NbPn{ZnLx~qIGH-g}R!^jt|8y<6 z#ZKE!$-@4umlpHoIcdA79meZwxZh@${$Ro{_h7@&w1T*a2L^YtwzsChO5NoC zRselolk^}46Q{UXpxa2LJFGg|_wxop(@Dj^ml?l{maIn=yWkF8f4{TTO%PpeAed(D z(9ey9`exBWgWtG*~gnO7f zwuf)zKsx0Ez)so8ziu+a7U*0LF@B;n-TG}{KPAUc5?hxMoX)0XMAF0p!(&V5`LXs> zYjcNJy2*){Hfsej5}3eQ){YlI}ismbqLV6t-6 za@2`*0^`&kZ|m11;1k`Xq<8xQyEY=O$Nd# zBG@6Rv_j~6<9+r%)zecvuo7$ic`pDSorY(Ued!O54wOOv?aHP27ZevTc zA`^!l7B(sGfu-aD?($+|Kjl1AcDlAhUqi|2`e_y^`s}p^4sec|We8YlEo`k`_V2A#Js2)pckC@6;GNi4bPaUdJYq2JFKXZOdFKPO zcDad))|!gF%#I7jBmPZF9j3x++E?;gv%kBgW6Z{nVT|!&rEyvI#xNQ=7$B*jxANLi zt%nPGtDRv{oVwV|@)x$|4y)ta5g!z0E9Z%`ttLNyoDF@!D!Mr}UO0U{uyHmft0?{8 z!-IP5vYEX#zt9h|RWdpJ(fT98_!u2iwxf6+qb-dwC2a1yk&>Tpg^OtJhWb0Ul2hu> zcM_yfw&={WhOMk5MFkDIRzBf>Zlpc1mDau*Prkddtj-(QGw~oMhYc7QtBQ1FIc1Km z3wzrJxbYU^4GLLK5hE)LM%UVrl5KH=Ne+V>QWgmzqOLXD(@e?Zu@(bdy5&r^JtHN< zlX8uM=2U9Y-nc$J+BP%yze!EV_7S=G)g9UB_mzEB?jy{yVg|lCi$1V&mIi za-Fm`14S9u!_S(@HG{nODOiUdqYb3ToK{{RPWLG_B+LmaHDfbMuf`s>yszvOOOK)K z-%}`a+sx3|bPjvo{V8Uz=IYHK*X`#UJOwHI`8GllT(^5wwBJ2S30K}b9a}8wzF9*Y zpvr4eH&DGj6KFTlS!_SPsqG@?Hvgsl5!)sAwQs8{7K8mU(Yq9Z-HX*7PEJ=7_F7h3 znheTvxhc&>`NnZiS$g*BeO$Mvu2a8`8I5S!oXYUueSxd}S^eX1k>7y%$vZXS!i9i& z#TiamqZPmPFhd0^^sW5Dji*l1TkQ3pW}@ZxFwV1Ue7RRy_m+DbZL8HlO{?!5Du;d3 z)3dBTj~C0W?gFT>8CZ-beJCbuvAtEgJ(vHsPKzruDD|?cWah)=d`qoM?mND#wZeIt zoIfXQ!ryF?U_9QCq7kcYpx#+YZM}wHXy!~YS*ktI*6A3#-`OdYGpn${m^M*AdGoB* z;5YG7$L4l9*`T=|(RbwsRr_X}lV*obuw{M4mc!ibWaTvYHl76@I!|tVWG!tidgd5o z-`$YMWWduK^(Dd~5Q8xc{Ij@6vkb1+?+uJt|1v56c7B)gaj(GQ(6HK#{eBBSr@>=P z<+qMaJ`Q3&blBgSo70gk-pyxhx?En!U%vHQ@!K=EOJPx2%-Xy4EgXUFt91+YoQ%2G z9-Q773)FVgD%*)a+im@|bdnuwCRZa~%J8FBA!%6WIK>v&$*+WF1IsxVCRnq(C!QO` zzH4j|`IxRJ>NY!Z@m1A-JK}niWz~1XdNp^=FO0unmCBMB7&e})?D>^QE|a&wFVynB zdZ9Z<)P2>PIEXn=M9<1?+yG~@SHRgZ(fNAUx^CaOXU9n=M8}q8;35Xo6aVQrhR?h& z+sL80xLu{GRi0-K`vM#CIXeJO8jRGv+e#++3_rG$t~Gsf3`M4T-pt39yjd{}XKv&^ zvm)v;{jy|<^fEdVn%ob)vsVfiO`CnrDyCLo19(K2{hJ+Uhaz7Gb5Ji*VKDO#AA-^5 zUFiOu!#G4p|2k(U;#k1`d7RuHAG@K=Z?ioh8$G|`+$&tXTIoI*&g{6Mr#!|V_~hsEXsZM^`tNSq z_+x)+ORh1ntKvrDV>!^_FKePxS9g1&O+CJ3bL|pSjxDbPqcp`DfGq`!)x6 zJ4$wah=ZB0eps8}mRIlZbj&mtSa>kl%QI5u%roCwXWk#h%x^ngviGYssz(_M2SWMw zssWkiVRmbV$!v)-B@^wBMc1(y=K9FsiE;P6swct528q3DXu$Evts`I^~9hz46o=KUy^kxTIFwjQ#|o9T9s(Z1!)_F8`47#uD7V3GOZY`G!2>s7LFCe^wlUS2xL z)UiO+;$TW%(#*O#;O=&NYg!{y$yU^wvh;R*SajIs82hIpcC!iTb-=hu#(MML&(!41SNEQulK>myv;zt;~fVp1qWET@&Q? z3qLpymedOmc6(nZUbtKzv>i%yei*j@YEtZzu&akl>W(_S-{qN!;vC&K;M9As&d+|&a8uT1&u}tuqtt3!bI}P$ zwU1>TEj^X)nu?oE=`g-KnA&0drNj8c^{Z@((wX}k|JW&S%tsFo5Y)X*IOhDKaz@0J~ufWp~B5F6$nXv1C=2qwov#4`Y;p#eO&akj#{6B}7FHhVVt#GK84PUw7-LoxGW1AF+h!&6C{+_4%A?hyP5 zGL6Wy3sm`I+1Z2Oz=IDDusQH?9F7q9fVQLm&%anhwpO+gnh#iV8Ty&k(T~y{;#*5W z5Oj%v8Lkqp`Rb02ge=Pv^$C241vur1ir$0MZrx14=*fh^1e~s|6wCkj4IyN3-l92) z@fh{zU~iKp^hS39w-)X??_#XR7V1-mB7(MhS{xs3_%V3(tRMH4FCpX~z}qkKM#2 zW*n3KMitfO*)Qu&(hyO`X{PJ_p5RFPN;zc*?~%$y83U>8pwG&wm!x72!xJtB^lQ&6 zJ|@A4;b@b?vdepTNAhZE^EeXImDs42j~}IZSvYdjR7Z}B(oKT?3b%HKa;j7iPAf~u z;2IPEl9Pi@*;jx#_<0p>P7c4^zGyC}=cxTBM6cHCQI5V=L%`m?XG?Aq-C6Oqyxe_i z=g{fr3{{=-?D(8e3Hz?nX+UU*A?BS+-FQAZ?46SLCt!tMqIz!Z6m8e9Egfm{1+c-X zRAj=;zcD@kQaxzE80V@rjK4td;^N$YP%`Rs{bEm#_PpTJNC-5WLbc0h#y%QXsil7a zHaIN20R2usd-@6)1vdg4?<^h;Q2&Nce#@bXHrKL#xB5iCR!r{*bTEaLW)A0v$%pj`D}$R&t4!H8hF`3zfnsP4+z!}J7r&79 zM%$6GV+jFGVhd}$J9~nssv0mEkX%fF1QYPefzTm!i-8s&BgUJooC;JNc}RamK`!N^ zbd`i^*A@kWn<}E{%?N@g8mcGSzG~b^g5Ly^TMJ|rZn+=qK_Sr1Q0bb>Utv_=IF-g2 z=SBiKVjNOI{5DexPEJlfY^2z`RX&|YKWe{;@xp$~HqM!@(>vSFK&Q+WN;T;0w;+Ou7{?b(wyL6LW?*5&O6&e8FWt*pcsha4eZ}-Pq zSdf(v5fMpTBkB+Tpz#M>f-*7APeEVTvj_qF$%*H#FriqFOrqg+=O*^_Unf=XH8yC- zS~~t`@22JudByh+gpWK-SC+g+)~_bp#a9*zcF4od?__7LoTxctaGsC1f3IXJOHK;u z-=R0OPp{JVXJ@Zh@YcO}&6LoyxsHq2yE*U@;0JMM^&TH^x0)MiSP;HSuN-!059oE& z@aTqBIMJl4J8byayBUl1Q`S^X?eOVjH+A8D?L&SC@LvIr&b86bp-gU?s4L72sgVlz zNf3;{o>Z%z$zBgj78__nmS&vWLnX*8pYw(kY{}CSS=mV3Ia5Nf^v(Qimf?GwcuhnI z(2_WI49m+dC812i!vkN4eEdfxb}29zMQ*hroW?`Gf%Q%WtCBoCgyl^go%ix?rX$Fd zSl7|(v8q<3kMNTS2fOm?i7HOW)}e&mGHo%~Rl_3!Z6t|eUESIB2|c<=6<8?qe)-BD zU!K8W(k0ZfmL;PS$MAb2>`bp6MTkn<sMk}l@^c&D3TFcmg*snV8dZI)@P zcnETu643MZuAdqnGRzOGrP0G+SmL9_EIzea-ZI1gvsOT*j@&V)4Nir`_In?-k~&`9 zxf7?35S$LWqjEOdvmPdCU+%%C^R4&ssErrPN6>C&bcN+NrStfhwzh??Z|xk(9>@9A zNRGaYuXT7i>`*5UjuR%FOiy;m@ZuH100C-Q4k8R#iF1Sj%CGJWCF6vSQ`3QU!+O1{ z$hxOM!l0-`58nn8dRAn~z_;yWV{jhC36B>ppo0O!zDf9>69RqvKXZ7Y-}`@c+WqhO z3sO!KMFbUd#fJyGlSP2;VZ_2vR0AK$SG-1lLcIz9Q;Q zq}bZ5Y^&iW3)Lz7=~C*eIhIJTt%1L|b0+Bi@*KNH9?q4`Anl#OkcN`D)bXtwOn=0cO|iHvQRF)5{Vj z7F@3t_cBC6o|*XKUThEHSkLT^?o1zO3WtnvNBN0g$MtTXWt`n)!tk-dm<}1TzZ;wN z)ZW))$QGzSDa9CZ@lfGVI!HZnY0Kb}<2>zVf9x26EKWOkZ0=z|F>n3rq_)@0jwbEn zi!9sum5n!LSCV;J4t0a%$+g^W2Q}96nac;!2f2ufC;$EuGFAnT6v@MAUz8@lGEH-P zS@nkW3R6&2mp)cKNF(f-nS^_W6qRvw*x2MFulIUJZmtic-1zH_sD<2w>$SHG2kosBn)!|UGOPGoAI8w^pIuxRx>Ro+93|4=+P+`BlfXO}@l3ru_PzUcq42RD z(w6B5%X`X6TlPa#!7ip49l3BPGEBeux%%DUzK{#d*AkLV)rGf8b@hS*lSm5m+c(uR z200o7Mf>wEJ4*UaK9qm>G51=1%9)JcUoLN3`EHIcJek4qJ|g_qe13R@Mz{UV8H(5L zA)gLKP2-z;gGw&fyPi2?d|md%o%VG#-^uL-=KTEbL8qWr${0aS{ZGx)IXseOF{_UV zv5lMzMP||~?m-%&y=SA2>`O7;UtZmL&m8;U;Tu2;P6A3MmS22c{OddBu*-$F#KnGF zUa6;iq(rfvlq{eTF~%WVC&W@8p_k+C>bsN@HTGPOfwR-5^?;^Q=@H>$f6RO#YoZ~K zdi2;yy&P*vMM0J4dtY)Rlw?QW6#XBt7eXG2D@-nzwA828neiH#;u%QF{(W3!ao^_ z$s=jc=8T*4u|&J8zj*@8a5njlT0w6G`P|Yrx1CuBk|h4w-eQ)Q=CCcM8tEhoEM^rS zAHFW7e5o)eB|2h9Q#NQaA^Yc{!=)pE%|F~O*OU{h2bs!o`0tAaSx^paeDmA0KZco- zesu>krN664_(4A9ypc0f1ECkTww)x1ye}Kfd5oHP4nCN6i5#Nj6gs&> z>gg&RGM2$`rtBJH(*C+^SZmXi;w^(}O;-G@&*2#YYP5NL_1VE`_aFA#T@erMw>C(Y zr+mi8tPyj;^2~f`RP0y;D}Hxil7qI$`!WA`hT_ZO$&cl!h=ecJg!FXk80z}2leS7z zsSXM_wAivHYTaZ=8VseW98pn}Ii@Ypk_9*uk9^CI!O(iX@C)Bl6T+Q#t7sG})I$~b zWTHdITv=b`v{GtW$efH#8SMDH#rrvW{bX+zmw36lCi|AFN>E?|NhA(Bm}m*f29jf% zXcYtT;;_OY!@ikyvX*lVWQW6L!iv4eKWh3L)g`ewI{8SRlAK)|eN9xpIrhUiMLA5L z&!(Ge;HBc4JN8C7JGIIUkz3W3xDS2<`RcbyDr=~NgszVU9=*!iDQucX&>ee$i=kC9 zGGIS{nPRR2@)~E&Tb3rShz9?>Tcv+Ffdm^ovbk2r`8%^PhpT>;b8pqjAjr%btY4h) zpSfwC{h7;2IkZBfC@C-Z@F!=m-RG_!%&bs7*I^))WmRAHQ*P#kKd$&PbzqQ_qE~*> zvpG#I%0!ZJ^ZK!>xZ+zHW{z$>nK>mw;tA6w%(H3>y|GUP3?IoTx;hc>7qW>PhSSW_ z2jmkh966K0Rw`Jn*q8)4fv7K~XEJs)L!PdN*lC13J^RD)%z>~#=bAoWUwTq9;So$x zB!CBP&2q*?d!;n((skBW0_qlKY;=!3$C(4oo%UiA!(TZX_;U9Iu=wM4b$oR!J~ezb zkhMH4BePJoa`QDVm*XP7ADvcjuNE{&KUy|1JtE(-Wzv(Y_Td7}fw?a$jy^bwvt_we zj*5=yeiq|MA?vHGl<+q^Nl*2BQtg>yHZ)iAysk+1S>~*Iy;*spj{a@*~Uo@y+n&n^UTfq_VhfKk_Obef$w0 zV=V{hy-oJElvc=v9I$2eLn`vV$CsOEu;Ec3y3@a?g$=(;cD!Eh$jUb97WL_uu}MJ2 z(%2r&W8M6uF0N5}Pwium(heOYe5cEk^!X~zw!WgldNJ2bT#oMH*ed0%$?2T_nmxTD zrN_vfH?Eh%{h=cN^8UinmJS^r{0A8{4xA8)SB*dv*(D zeOarcm9PPmUWtu@oD2;37)?oV+xizqXsj{j(o`jv#Knh;$TCG$q^Wd-Z`JJBwC83| ztCk6FxoQRUxvr0pW!7!((+Dmz%DRcb(TS(4=jltp8lyPsxSp8&*~P|px?V5+VF7zh zky~&F$%q`oW^#S*lbC14&AMIHW(?ZWD<#Z}a?94c+sx%bDa|GkEj&yNd&YGMXGE_= zwQL%(^!=*L3VW{qs!9`F9I?|7LR9=5`b2Yn=q_ugLGjI+kgi%a>vfvYhm_3QPC+UL zBmGvFXBB)1vfn=P(r>Wq%pb4QWI(8 zKhx6wsAPbXs-;CfE3elkuit?}*r>cHt@~wS z7vyJ>qiPwzKII*`?wKzd{?vG@k#qm$lrPQVq|Jhk>!Tnu)>nP5(=O81*4hFQMK0n& zOrMi|OIgK#2z4ASnKoPvk||+rc8E+0S!`%JverIq8-ZoFwrC%((PKP`?8E)M>-9;Bget{BE?32$_u1@fwU5u%2^n{7a&iK-?~+Pxvvp+Ptc}`p3*SjA zW#8%Fn~5YOn@J=TxFpqTOM&$JRG3BihxOf3+?|_>LW7s2T1<*cZT&0dJgX*bNyBU* zdsn|2tbx7odGD#Or7asA%5vP$OR@clLIF?BqA_bt&P065N**;9dm~@HloZoMTFgiw zmOmrEvgoND|9C!E?fv`5X7mPe^1axdN75WYw6m!{1DT%d+ZmZ>eCQLLczAK%qNq>J ztngBGroEuaVl;NFP!?w}vTjbX&SPsiP|JK6ImRiqU{sh{c+_&Ad1tLUu`$}b?S+Id zH&^g*O0Oa}wVB=1Z;KDP>n}elksSPyMSnsh>cVkZUvh(qR$Xn32WiR`LJ#wf;0rl) z_p@~G3w9X4RaA1Ezt1smU)2B8W}BQfkv4EVky%^z1-p2S<}Ax`#SV>#9NVUNi5`*K zZK;P@_M=1N13CEv{nN5x=+*`}c4k@a3eD^6u{UDdUkrA`l&S@(E6%O-E&O9?=9608 z(mIw%p&dFhsVnb$v|>7$C;AOfZ?2H|4;A?r>b^4rowkCKtHET%xb(%JSz`e-nX->$ z$ce%DLL@e&JWfU|ZqlyxSj*ifby!)}+I{8>#Zj=L=XG!0qAk&Dif38;Or}z|f2Des zCE)ov@$e9ueGBrV*t>Lrik*|y`{lzKkYzFA;4cfo7*3J zfh*knG=-aJ$e7}pfuH#uVnKn=3SP}tJq(D5eOg-gxy$4Er>|dQ-iJE3?>k+txj*lH zX24;*nzb{Iq49v3N#T|>(ZVa$ z!(C>IhJW%$p=V-V?Tz~}m30QW+^BB1x+%3A`bjdlU+RFr`cPl!y5e975hmOU07)_4 z;#=aEx;JRr9r6>y^$V|E#BudTk6k@Oks;SKrQ4;%1@P!4M;q*<5L-=;doE3JyNFff z?pg>ZhANr<;b;`-}IbLP- z4B`)u-P*WOqprBu!kwD9m2ar-JGfc<`V<5(#>9cgFimH`*w|#3G2fJ1`N&NCXixVb zo~H6U2x+(E`H@MSy6kA{E2dY((6q!tWstBR{eUTS*eGtWb&c5jtzwA?ll(H>p2JdV z&{LJsPFXovV^XyP%MOo&3@&fy)4Uw=hf`9qWPtdQmqBxTMJw2%fV?x}!qtxh^d1Z5 zjrvyB?GFs;xjQaxJo25ii5uUlOG;(|mrK#>Rcwo8TMvobL_)H@shPcakcz$&TeaN% zEa$ay*}LkBMymsrnRe097d@*!Cm(gO^IclE^j*rL661MQrEicxk|@~k>dYqKnywv| zmtkKz`_F-Yf|VA4(;&?O|RBe%d{@`be#b()?0H(#f`aZzU17a68bb?=e-}?_2Ao1*? zyByHmo-YsKx~==)-^k^=Xs;ggWgSWw>l3rwRUq*L?!A8j$c?_({?fR*vZ^KWx)cDW zT3||P#WbpDig3AE7?zQ-(*dUZq4r!nSi>sxwc8}kHdQ2(LLWr zv710(X5!@~EG&Fi8>itW8{=NPy4t-fitWuC_&~nP`&lis#a0Cm$b~AbkH6^;M+)hV zQ?I<@)PC2fti|&*ZGhz1ALOd%mxgRtdwVc6e^pBD_&vL>k+^4|P(P8wJXII4FuBK;a z>33%4=VcQfajer$0ib25zIyI66(Nr~JuU5hNX;BQMo;Jiz?-X@J%@SpdOOKc$m1wc zgcaY6Q3O&aul^FW)?`cUp$7N-?R}N0m3$$YS69bH04z5{*#c&An!1SI{r2)m}SV%!9)ndMiVPW8z?gA zDy<>h{?Ct&oYarK#RLhx8LR_d`}0hU@E?Ua8k)KlR?N6tOco#qGpo_;c{KJOERdh^ zwtME+C=u$5Ch#vX|L<%b|2wJwS6>*YA!Vpx57W;Vu#F`QApdLA{)b5aAB-O3q1U|= zyW`aGgY!}m9cWWYeWzVx=+FJvDSgx_dd7(ph7O{rh_A2)_ z%1vpHl0HZnOB;7}oSQ!O`pY1N%Ix+oeg2q{yRH2~x07M*uI+q!?<&*5K}?@Z>yLL! zInPV^*S`;ZoJE}9y=U?nJH4?J1o`Gn`OOC}onm$aoL5fcELsi@)T9%hbp*v|IQ6_r z6VNSaUbNtQr@h}s;JAC5S9W(57_~deu(iWkh$(O@CH4bYCQ%!9sc-s576)72CM%z_ zPd~5U8*VjN?6te%?zTVSvJueVT`+6uHXh6Pqr7yw@7h#!M62cDcyaN{ZftkBgzgS? zi(1H_TW7uF+RTx=?SA%i^gk$h7@J}>@>%VL9L~K?T`$?@r02{`ic%4B>rRGK`84mi zq-X2;V|gLg^3}A*7ZVlHyc#TYh3300e4Lxj9M{zDk36Q_+~{89vbI5YFjr&pOU0;s z=X0IpAh6@_DExR>N27r$>ToX4GrPiEGE;SFdp9gPCgE71#^NF@!<7YXp^H~fTQnUW z>}>SqZtEOO9mB3{oX&{Z5HWMxvUHmbrUYy;@#JAAa2RA&GGr2jZv7)@^iV#=?qEb{ zJIZ=>F8Yqbzr9lLm^O20Jp z(ZEiL;_BW5Ihi0dRKnW5cHgZ;yBsW&?<|MK*!(JREzs#GfoBkx3Ubchm>e3eH&X)x z(FE89M#j^=FNfQi@+4lDyJKy`wHV%I_S8o=#=~NAgx*euS{JCbM$=Qsn8eyGWKP7E zJuyB0V&s+d!7Qh|`EK9gc9h~TLB9RX9`(HOVS6CoJm8Nk4ndKl*)ZIN11!MhD|kBIm$ILFKo8GUVFZt_w)IBJj*rBrYYE3&&LL6 zb~jKely#_N+i|9f^yj_VH1y_TlI4Im~YD%5Uwr$;T(yD!Q?9k z`vgIMwoRd;OZNc51syDPV6wZa?jUH@{hNN->+uNZb!s-dnm;~Hp3gQ*9vLLGk~c|*kesVt4;X1D|aS$Tc?n7NQ(HZGT-I|>fFYMy&4^T zuX*%#YXMPmkR%pCa{iGpH5Tw*f{RDzEO!?q-K6U&{V@g2ELAwI^$+Cy{zaa-T1R)n zMM)8Z3U*t-A?#RB-V|tdX97t#s}?z)3c5+@{v-AD3);tP>~5*TP|n$*OR*t8g~3P$ zChK*OS|#04 zziU&qAknsbEsJkQx_@A}cjB%R$))QVIN<+a81644mdTmNCXws2lz3Q(cJ*+zS|$3U zE7j0pmb(Sp)N~>pmlI z5{K(GVf0{M8+HKe#TaOeW_53+R+RYl?+(5MeM2XR4zB<^%H?eQL@lR|d_D!v45&nm zJ9c*}^Rn(d@RKynfKgTF>$bPX`6H{P#4`ei5)$e4ntOA}{F4pg%U_E|213%I*^^y2 z>cjVT6R3OiteR+5Xtv|OBD&yBPim;~gL^wd{c4!S1pMC0v}Sa^@W|5W(**XuXbOuo z`Ze3gK{T1$$uCcNE#%r5Y{aw9Pa61#`g!Krby##;Un~y){F~lV$eWK^*d44|<*#T6 zoTDxL!pp$!-P1N$X_P;G>B^fCi;fXY2z+-Ip1IOZ^!EBtmyBQK^-5TFI$=UR>=d>e z6~TD<_EpI!Oa_t=*sz^4q2r7xD{QaX3r8N4&i?ezVkUB(Z%%X@Sb|C1dg{t@ z4+Ver=A}6U0=B-m4pMIOfw|x_c;U%TP2iP<>O7>HY#J%09gPW=R`mfGR6{jp; zZzx3@Z>t}E7HeFK~PtrP?pgmv6 z6#bdVK2jh{Q)uJao48!#|47|DY*y@g)e*=Sdie|hxVRY7!oW{x2F-Rf>^<@EcC3a` zccVj>M{+99;j^nwF|+j4^3DW#8Kl@Q4B=sQ-WDvr64wn|%Phk6BJqZf`I+^3%F|1I z24TI^he)dxW2d~=dWN^>%O6b4Inqx9HQt3bZo6T5Q&a{FBaru}h9Q?yK5 z^}dVmOB}bjhA52fy zbwxq3XhySHMSB6pD;snOIEn99j@9EIsLge`6Ahr)m7X6TA1?U@2RwRfAR+{A1SNMn zq)1>^YO9PIrxrVp;>V-*&=}18Yk1Ut8*ujXO3((}(W1ZkYmYW8wcX)IkCoc1TfZ^* z%7=yTCd>8{xjOdL7Gr&S28|E8lP@>hJC&!GoF$e(N;Y!BpcXAH#~Y- zLIZb*@~ZvS!o(>)Epd||0L*#cG6-uBamqix;PXf*X91J)&pdX839x6I5=VZ8xwJKG zd=Fi6++{eD8+I}amNqD25jlGe>s1Nh}v(8Ke_$jjz zWa#+CR)7@204PyQ0Pd9xU_p}|`F&k{7G!>7>%ycOwxTVUs&i^zU{|xQFC}BQ=Qd_w zdk<>YgX^%waMYf_-pXF>3oz>))^dH1ZMO7>br!QxcYTSv*IvzV+?@#eeTjjd&Ix0k z-6g}em3HS_W;SZ}*t+#Q8)q@AI|@thV4;$G(`pSXmD=2f5^4Zl6CgRMWdn#@0BGfh zLTS$Ai^13f)Zv}2)z1`-lAYb{Jw$`UGQF3DNSx5iF8@VXsLXux?I`jh1agj4Qy1HS z-YTAV`>y}FE;eVorJA9Dy)!@G1lyQ@xA8ToK?1vC_L7eqVu(nSzT&=eqwX5cnmA204XJQbw|p5zspz^5xD^8a;{oZ*!9(PTFpFhTelMULl5qSDNI( z$~Slqh70ga8H29JIw^keL6kL?HL;p8)(`eVam-)Yz<|(6CoCp)rW`&%r)aG6)i1At^bLXoE|N|53zAt(*m$ zPZ`%dJez5L!?JcNPGSpRMcD%#ITh+_Z<^gx{OVz=#)>%OTJUj@PG-4C#c2^EGCKT9 zSa7fv8ze3w1naWP*SExuY&Wk7OA{jX>gt2nIwK)syE$H%r< zi$cF`1R`y41Yo4Rhy$zi-kB!UwJ=`}BC0CZ7)Npi(&rMf+l;|zuv(mN_pxyS9-Z2> zz2C{2YnVCgYu%B(t}YXR#?lOs6B$3uVD?LYgDuDc0RG3dU~<*3P4-Q*9F>wCg9$CI z;+>tR(p-_V!#3Cf8ht_B@yFB|28(sc+sB6i04Za^Y{a5XKd?}f0eiN59}03ftJ<-( z@d1k!@~CUa2yP@>RP-~mD`|&ds%o0MI6tonfK7h`NSXuykc5rmlhXGx6+k}Bzk^pS&rP;yX%R=JL@$gJE{%(@O)4S=0#*)rH#?7o6@&z z^ETPu7&qjHT_Q071WKl(HYieEsl%@vu zf}TiKw#g^*$!ao@yF`#jwgcCUM7&S1J@1kxzP_3tjN$OdVr2mI-h%1vVbEqguTch$ zc=~g#-Z!xI-vG90VK)>2^a3=QWhb#N2v<4M(FtS|0F40A^==Jg5A4^|#Tv2sG^8s)ovy!}7t zw*UH-wV&6C&pPsz;)owMi}kweK-2xh9kX~mSKz{$dX10C70R)MZGF(@*4LNdslTir z5oRQN(VVT?j&eIb3|JSm&(pkbeQd527XFvIAHABgs5$T&Km+SXmdg!a&Isq%ce|fr{neQw*B?v5 zl88%g>J`*7>|9OQyk*1I{k(TT&{(6ZZ=AcCak)&}!A5u8KX1&rjw{zmSb8;VPpHuh zKu6tMgnqc&pPiNCv$5t}u^zR8KQSl?@jU?Dy97o)-1`NEKuS$y0ECYo=sllCA;Y7l zyl(fO&wcevaSe}Ev-pW>%|h+O0c>cP0YK6pU<1iw&Fl~S0#7weS8k#=c`N(eZ-AxS z#wxbpwbjspe+rrhG`@(fyc^@6;v{ge%+g#8Sis;odZr8Ve5D-j?f*Qm(4|gOLdog7V6Od~0W`s!FmyM2A%z5l`}fjlWa)bBq|VV-AgN7?}@O)Fle)c7~ThvD?`=1R^3kc8Z|xGJ6U zX@9p9`Nl21h;+1S0NbXV8&$zYKqm6TxguXZ?vn3Dq^W9TUmo)Pqa`?E=RgqRjDCiA z(VN#{f!+Z#(9KQTt;#Rv=iw>{d2J|nzBId}+I)w^qg95AE_jvz+NS&5?fB=2@4m{5 z@%9D2v;D1Um-xfIEZ8?vL;cIvU|}lIT_Aa&w8E*Q$ihF|q2A zu0QDVyd5AxKq%Xq+Hx;K%k6=DfOzqDwW} z0aH8PKWW^O`$$`qlgtX$dFMMlh-2o@ztX;(Fr z-O$!D_1>2Fu@Zu&k`KeVBfrJcA=<0`bb(+4t0TCRmKkKHkgY@v`( zM-epuSiHpg`uaPzn5|J*ePVJMawiY7qvgh3m5=}|(R~KptDUz|2Vv(8Wn~Nv4SlCg zbUw0sIER`Pf}Pgp$bD6!!smiKR8QYXN7oi=a$2x7F7;W>!m~oO*W4}#(#DZ&3G}Xi zrcz#sA3(A&sEk3N+z;e?CV%V<{S;Ml z8$`Euh19MF>PKJy6K~!&UtH(;DN@IgVWq5hvrg&OtuuOFL8N<|gFTEC>*q9w(8r!) zD86|DFXUTvAM-w(g%=+%RmBSx#A#^N_;{QhBM=w3m=)JI#DTY|RxBuj@4PEHbT)|f z+m%-`)ZllfCWOoi2@MTh+sw7bp)k@U=h9y45cff#!+?CJrps2lkQORO%&vVQeZAmX zBd@v9r(GRr!0#x?ql3FEsO~=L(2YPz zazdS&exFJr9Wi7!0XRjHhdIeX>gbA%Aj*zNhwraVni6#kT17Ym+6f?o3O;B72J zO6S`h@$;NowvsF&HGg8oz82tysF#qZ!53}`aA@ZndovmMSjUxUVL*oGCReoS^Mh$1kEDgS1J&x?! z)Qt!LeBIwO5N*MTZ~0QlWY)35_zk#3s@Ad(g{GySOqSM7D( zNPJ>fJP!VB+>S%8LIJo>c^vlhLc`*T{Q59=c2b$|td`&k5vpBvM#sHI39&yY1oEZo zXPl`#hjTZo`1BY(JWtPYdMR(8c0d8)jBKLXbcW(u$T3qhM-#5qm-PoF#$LXC=fwmDboM7O!}=I0dGHq_~H^LvEQ@W$TDD*QLa&QDb0 zt0V;vK++#vxRJ{13?~j)>Q1I+-~7}%69IHz^xaTvKaUuSetyc^Ahh0ZbhCu5T&+v% z!w!vjshLW|=P=Ce_8LX%z`|pW^H5_5%VRPf*^5}YOe}2wMN@L40QSs!5jybIjdWa@6-b_ zNwO+IqE1~aLxfSwE%6ukzobH*`>qPf*tr9=5=dVE0I@>X zWY8|yiJ!NK3H-*N`)dBDgR0$Nl4~mo9!h%=selMFt`F416D5X9Cbf8o@qUltSQfZa z_2Bfa)LP@Qq@}cOZDlEL6y8{Ez@1tZSSy)q&h^Hl6H=rz--Ec3r4d|jAKQi(=T#$T zibL-gLs18WAWn9~J9&LYB!c!Qmj@5y8E-!HEsr|v&3+N(ij*|o>^CbJI*5D$(F2gG z$Hh02%SUXUF8XK6FZs+3V6MN6`<4W}>QvsRD5AutCvlYI7&e>T&WQh8hF2|d?)|l9 zR2|4ley)-XNs|ukGCV2h7aE!wz>C5Q;7=mvHw<;a*6;WiK5Cy4QPnTeA^J!irT!Wo zKKtwadsp>Z))w40#@93u0;zhpO0s<^hRZ8?ZY3ww9lj%(SHf-m+sY&UP$hSy`9M;? z)wxIct&K5LT*04jwkJhoeDp+5Tiwm8Rq~NN3%m-)4{v`w4Ds?fV~5Ua)FEGV$HG|$ z#z7w8X_BTe-nb>jPcGl*Zqmo?pef!)N_a01T1P?hw;aT91pVSxp4-o^c+X0_rrN+B zeGa`9(wNO1DG9C&lS%Lt;2R{IJcdH0Nm8YdvswtsGiK*0yO}{8O&g>RM>7a3&2;2O zYTOG1RgLc{X^0wPPoyL`BXLHL9?c7l^)SYpI|?_dpR}*G(;o$U#i87`4?xTyo zX17@C_WX2sp%*0imN)m6Nqbf*&8S`Mg%VNe_)(-vh^e(rm={|pD$RJkhz6s9+lroZ z+bRzSG-&DemS}F@m)5Z;vh~Mb;vo0&U$3XNj=nU>NlLLg=@)*<$y-@cd|{AbLCu?; zahYE`L7dWQ)p-hv>Xxyn${tMti)>qeuV#9`rN@;2)CxoY>h(v!rahZuZ{(cs$RbfI9hO>>J-u8P)dW$jp7(id)JkVN@QoRW z3cJH}qrwfm5c8HJLOm$w3WG4dtJi7@@z{yWdIH4zirN9>lyYMaJROeVL+02LE9qir zIT0i0JnsidHC}}?GTE@8B+cjQ?(Kf@NZt}bpxgS>Y@7=w*SO(&u&S=48&;v*WdcVg zxFZE7d_3;5x1N)r8rBykdq2r%=iHq+D~~c$$6bR&cs-IzvZ3BMe|*|QnZHCIS-RSF z^Xhew3TiuBTxX|!t-EJT+?m)~d5m@pc+~b53~FpL7bu>1_^I}v6G-qHx**iOlkGhg z7Iu`(MdJcNw|My>cuS*v)L(Y7$kS;&Q3^=oy5S~GkjW?(1I4fAGp=l8;`&GBnpS_e zJN)~3C2QOC`zP;AYUAm?E}n5^G3mPA9jrozedu%VHO;DRPzrZM$HTNrS}ZjMy2Tn+ zP0T#vzBfKd5Z=##Td?Y zAa*67?KH??<+&g4b9f;68pihV$fbBrl7^ynL0qCE^ZfvSRtbna0QuA>nnRG^Nggk)#2fikz%( zmN}PYZ>@DZou(2SSuiJ;|9q?mDdRA|@P0fAL6g7DJi`r=Bcf0>>(4pzuS>7i&MFD% zI!4Xlj6mg*x0Xb-6+ddhviLn1jUZ;BcX|e%TllOR$w46SBGT>3K%AW}MctL1B>S;> zCIY=`fWv*6CNXyE+xZ=u_-OVrmv+f_Al^u#M0(n=4?S~_O9eXNJS}Y)ABKr{6Ul^ zpsX`II6}OOzAW7)FVYwzf51OpELJcC9*C!RzBj%|(Ciydlf3*Dh_&s^TT67&gK{op zePDce;~lO@^E>fY>6d4GJ+Oja3m853B6)_jKQF}a#o&R*T}Vk&FURx!#bstrVz~lm zmF@d#A1KEuLTl9BJJV<Z9fu3u&^!$E@~p8B zO-ax4JWvw91m5>{ndXB~i=LbW`=GB33+w?GnH$oWp7N~9)(ebxcFBu&Abde_N4|P{ z73UfLJelGp*Kw#x2p)%wYAOsj88ET}V1lG<4m18BU5BlV?9Fywx2rKFc|-|C#G zaf-c=9<$${!?D=48$k~Aj(@~F!vTq~@yJ4^rO)AOygFFLJ}Gw*gg!)*I7l!QFy-46 zfG8-12qzN&fDva?uZG2(vo%25Ab)2pk7qnppU^@YH)d4%#;N1Y+f;wPh?FPK$% zpzeBbqlzDCR}y6(g5#H86^Qb<+92;}x$xSzON>x@%}BPUGS%v&#@^u5$}|od*He{u z&K(+^@)tNDvlP*TX2oJpwGKLWZ{%Sw$;oyqh zy4w5Z7c{6-+S~W;Z=8`QC&Y>-diuK!?VPffo7(GA78UanTXhO=&UI+*LXCO=I|J%^ za{$|M5|8HdH5!bE6};SAGP)*+(-k2`5MT>e@UOV0`y_^`|dloKOR09+pL$X z(yUnw8%oX?`JhEK`!f!>NV>v6&C4(PcQIAY4vGDCFjqkQ@8i6vhhuccBdw#pkFY8% z09~L`B$#b8axDZ&bK$HvRUCf>@)bpOBl1gXOe>qNOOk_3f&FE*)@JaTGyL=k5#W0xj(+{SS7R~(Au2l?4G37Q^Eqwu!_2=7z zXU?%@w}gZaK>l`yA1E9zla?3Y01>S0R>u9{l1cyZ7+t9H)Dk=R?h5WblPCch345^_kM2)|hU*vjom)<1VqB$IQb~rgXwS zA#~T^AjDA3rdjK$uLPN^7{n27bD06}A06kloqNXus5VYVZCd})=WG)Kg8VH5*Z{7m zIhG%Z2-n}^1^+G4Vx$;uM5;)hF1n_O6MQyCTfY+uvtUdASfK*by)&a_P^nwu(6EcL z)i$=uH0R<*H(;Ev*8Dv%({;Ct}pkEw)%aOf={FR5}p2l;`_hZNv(jw)_xOxAigHnB_f zS_%aWRknbOagwQ$%&iKWElgO{ zGEy;;RW7Aj1$$G1v;v=j-pJQdOJN%^j+!ZFL>i3>pnnxNmkU)%@`DD~#02TKgx$3( zN=C9G{)Y2kI|O-h-=6MPCH!tZ1Il5Ei>a;a+#SHv=J=`}9|JNv zcVg`}!xr93=L(z?;$4Xa4uogc+xuw?3cY|j2cJ1x7b@*}ITsUWo>CQO^0v3+1rC3u?l5&#jZgJKJrK=n2U>h6H47p~&atEJ*LW=J_ z4%yW!ins(W&_Dd;4j1m5Os;_L8BmphgvtvTH2_vkcLK$Y*+@gK9bq2lgHglghkyh7 z7W(XzC(u3;m(~s|0~-R#<9=G|Xe2w^KOynS7rdcUp108tFxsh-5b)@|5Z72R&Pe;z zS5P}TDJRhA#~tbG^zR1b1UQUj7b}H1zJq@yT#@AL=8pVA`*eT@EQ(j>iWB5{dWU9u zruho6&pCav`{a*tCe$5Sn3M}|3GE)Q;fk6IW;q~7KM*n^8f4?CABf)L5zL~js&Gc%Ck<+vP1AQMb8~^|S literal 88466 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�b6#Tb{p|Yim^y6|F%{B?Xmj*G2 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%0A#A;EaWVUUC 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ⅅih#b7?Lse8U^&v;PtN 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

=Aq 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

PB+mU^Z~JL2n*UwGGrF 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 z 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ȔM`f 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
yJ* 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 T?%m{DNJ_|@N&a7RN@xNA$YqU| literal 316351 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ڌjW^mFH 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

!e6%g<({rVE$Ybhqz|dhmfq4sdKkLw^Xf3T z=Y~+CV_Eg`rTV1Z0nY(6tbNA{4G>nnSGc;P0p4({YU=*ZSQ_) z!-T$Yj-=f7?bi`MG+N8C12xSarrNQJ(dBWy`Qw*b5ucwg1yp((jBw%JV$8koBTpY} zXw)O#P{Q{y|MBAoA;zQp3JVSO#ttzwG?cdChn{7cHpdy&7XclHX#Ll0`BFropt!y^ zzJi`!8yTa{tmVo`p}Y_GrAR9HkfefO#CcOfP=tX zVp9$oeTD6HOLx)r^&#wF*d*q1gwhI_qfra zf1|UHN#N$J#Oc;Ibrq~OL|g;|2ypFnG^6F8(=z_AHjZ_gN+G>DGCq7w+Mv2>$j}M9 z+CKkmq0OEuA&c}#L`v!aI(`}X_fB>4@H=q4PD|v--y^Pig>enFkMwR>ISRVG zHwoN7-}aM^!Z%={49wV=jFF%rwGo{-P!N1!KMvk@hHgVX5P78Upp`B!eLLC=)rm1q zPCOa+U*AP37Arn3T1&vpVJCR5InSgTm#nRv;wl#`;YT(`1#R* z9XP)ml&L5&$ zI@;Q@-<(%lBtmM%HsCCJ2M05gzBCutN+6u@Dy2|}@l2l9N23Ag@R25BR)gov$7|Ki zgser{*r1OLeED({TUkI}o*i&r1FGLo^vB#iJY^U880hNygZV*Wx%l`-BfCb;urraN2mM0;x+cbahA6qdts0!1l=|6+kF7)=MiRX% zFa9=yxpz9#dQU5+iOAUkE{%Ptj2b<5&(-D2JbOS_8+(l&Lbf(11Jxj3eyUF&XhkEV zzh1l&k_=+x|1{)`GH9g#$Zx*S0ZU-z#5UPRgT__VnAg>kim6 z(W>k`I?KK7++ClnXZ}=tadhko9y<)Oyk@bPp8s+jxfh>yUb6T{;?+r}BA@f!5}Kd+ zpK?=Cy4@UZawt|a$EC!2>Q0M1rOM(V$;`!z+i?TVBg%L#el5{xoy7OFk`=PCwfzWO z=eYeYWLAJhWh?$*s6?!I=eBL@zzmZo<5YnZ{_|)U5K0|oEQ1E#(zQ$67_pj;1szC} zaqZ06{TR)uZszKN0ZQ{lC`VDyuJ%J@A*DVrtxQi){ODlOkya?VY2!?I>cfY2fe#;0 zg^K7sfk_!cd?oVd)Y`*(=laVn=s6@LB(f#DzzV=|O2yDxfC4~RWWTXf(!AHL`?+_v zfsGearm1FN5W{Kx2EPVsF@?eJBuW->m#0_;GJ6FP;jA@`sjE4Y;j?35D~KKyzl_X- zcgnRiGcL}~>Aa(a$I*Mt)RY-i2;t8Fu&yoa+HSquYy8q98L<{nY!T;s8+6pg-NsQ5ft?26kKEh>>hU}Np^3g zv9YlxpK}LmiQdBEVhxHGN0s+zug50u_Zypac>jbQrHkwzT${`|#+IZDx-Q0TvB@_9 zESA?{#j481`$j$&Nu{pG$Yuk~0RXqFdjFmnGId0o7#ouzu-NTqxhQoX!o01en^E7{ zA;p4gY`fjQIwJd7J{ME5PLyaJ>p>7RQMMP-W?l|AQKyk~z`U=FfbEdlB{ zapUL9`s{yRP*Z**2NK57VOt%rQ>?B;b9@*1@&RQ;qzIE}8~UaA&enEzLr7~;z4-zv zpO~1iANFEVwKuc6M92hSIN`aA=2{Z1$q_r7U+);Rn5N!#o$MuTyafWXv#hp`iHcIc z9h!IlekDFluYU@WJMN(|hWJ9?`5eP;27s7der|T`boR`obCqO4lB@ZGla(-2_f|W( z=~2lABkD#my4cGKbUWDm$Mzn)c>22IS^H?81JNZJO8)hXyX@(WzDVyieTe9D>udH3 z%8Suir-iHuZEJs#ocs3~2mz9Ud;9o6(Q~qRt*MY=vMnz!o+}&2rBz`$jM4JSSkgK; zIOr;7;%kE8aUK+)IKOAONI<>UfV0Sn@V%<7_221;ju0BB*1TJBY~vWUzTyTF|KlUr z265hFFv37siV!UpJ@Wm^;lqa?V5W^A6W)a`^>5$myn4Fq9%$Q3XH&`GtUQN8Je8Vn*~W(XCqp z3JMCEx4)Ey9mhy4AjNQzm@VPJ6)+@0&5~)0=rq)FyPZ>}5Cy5^eSXswNx$*WyR+JQD>)&%uK#SK_0 zah1yG(Pi#4;b0D^@$5(6ouo-oy{0-J{qD9=-^y6)^{21=QUvEj9*hO(DwbxMz|OIu z7Yf=0A|W+M$a?M$xH|-;9N9C&+KeF5Jl<%#QZL%Q$Nn^r3(^oPdS!?O+(SY-(vQ>F zXH&VvriDTTIKrl%UtE-fo$T7xziu4m3fq75Xvl){+Njg{Vh|{t^m5wAw=$^$d^@>g zXDlrRiv5cOKK3ZpUFBF05;vHFQ9mW0ba^0W0EUsC?*d|?*y=2SH(vZPO{AZgo?in_ z3Vdtdt4vZEIq*axxEM0i()@6GQ&9k0GOEmTo4(b2?;rZ4BbJmY7twqbE=rKy zI}#loUHIq`E#*YTm6Mj*TlurKFShN~o9gX48UJ@z+}~zRL!8Ez&{R95u3m-0g|yUc zjgY~k-!B?ge7I-bAbi7}&Y$-wDcJ#({Q=~5Nn+5Wi-048slB+hPyKJaedBKMbm#b4 zx>b*MvNoBF=U81!lex0GMUC#L_gocc>0)?L*0WX9ae>0`KIiz=QJaoLZdQy6s@Ux8 zG?g*URGzq(ZAtO&h|st-W3Z^o>1)!b&OXdraxfPddNMvZ#V}|mFkr#^ywFj9{3|v3 zT^jS^aXVMD*d{GxhkWlz{q*~N>G^&3p@9^1ug;PmM0kW41yWr*y#-7~#-%hWc7y>l zQpNBd5>Rx4BU)sr55x{kHIk}^Btd9zs2)DdgnpC{Xa%G%32MhEkvS9R7`{iOumg~pd9*N zU?SPRJ_YG+SsGs8eYY`g$S*G+H8y|&kZo+GrX5==mV7ZOBCu=MM$BW7szq*E7v(S_ zdU1WxJAj2Ds8&)ihz?r5IOdfE*HTK*F9V!RPnib6@}=id)cAG4qFLD3{J=k20i+O;vupYX@33sRd40<4UiC5+g`dR z4?@?|)6+~NvK#9 z`vQt}vE~3HRkEs{yY7u-?*U$9FTmnwbo1UUvP zrsTnui+-|6DyC_vWuu93A|ZQc{lW-`fhSx(rDbHO(4_%w5mlpBr5uR`n+q$&@PZLAGuX58g0$)J=|08ZOq0oVQG!3=nyI>16 z&xVGw1U9Ft?Ig2JWCjg@O-*m_MrbicZn!`CZNc!d182nCE6g(659B5$@&H1J9X*Ur zyDguYb)`2IA!!2@@^-7T`c#9XFiXQrl}t@2xjXSZzOha1_E=o(HiuNk%jmojLkjzN zq`2nDGBE7|!e~8)n7=#>{IvP)lewqoyODIZ-~Up(_}!JJxC`0u@mqi+DM+?Z2@w?o z0`*}(<>uwhfV>EEB5zO-p@v2_1qS;FW`@2~O+&-M!RPplAp8f}m}qI?7*RsywsL#? zZH#MR#gMTGw7pUyAE`;rR2JMwx4f|ZP444YzI!FjZE^#JwzP%noCqumVRHKMppZKx zUwESf2NRu8c$~I`@u`6q3CySR3QWh(Dlh-B;RkV6oac2%$v&M8J9G|q_OA5bEvdGb zagB#DciqNp5y=ATraxK+9$wp-(3cO;ZMlWCSR1qmwbM?Qlz1a{9tuOoXa(*HYr$`f z&KEv>SPja37+7(rumR*#v%DgL2^|{Caq;mr5I;B|l!mge5Pm^qC=RJ@1IiZ*gnodL zfEHwU5|NWuLif~q@*d!8@(@9t;%8x)uJ~g$^*k-@{?9)l6&Kk&R?D})zPwuAIm%n( z__4JarpJ$k1sPK4swV4vy@x?HWD+q=6<8S-Ji}x_tGb5&E*oE+APYm5f9U()zaLca z6r~54KO9_8*fMJEW^1=c4v_S){8X!5@)#`ibl}o%y*)lE^3#b+1?W^0SxT3Lq{)XMtq-Vj%EQdkZs+Uy$){88m@}3b%xVVV9`Y8sN--gR zJq}WBe6c|N#58QyN54E%n&uoc^rxBFa#lc~`H9C|HWU|BjS*dXeHRI1V<3O5VO!qv%72_7Y{hw9;J)NXrfyr zL|RMwJq}}ol?g5eZa7#Hh0WDmd`1sET;g>`B=&)(_p@5Cd{SR=+-%qd6?_Z zXo+|l8Qj2)?8NmDFJ$CzFS@$A6pkA~?VE_cFWk{bMxs~Zc(Sg(o|rmAHlBF9tW@4i zhtVL*3+FoUB|R(h;r~fImNJhdW`p~%npepXp$)C47~rG#P(z3l(06k3&Yr8!kIzjW zK!A~d>~bxO-Z(+bAU_wLDJnPxk#gu@CIMu0V&x#Tr8j2*w(lkojW!K_`vU)a{BF)n zp1ZQ;JndN=i!5UX_9hEc7ilM8#sod^>r!v$xkoCsXr{ zU9wju*ljPnx(x6Yw4rS~vvDW%6}-SD(SRg!Skx#K7k~q7{fenevxcqOuNtfYt##o5 ze}u@7`>cU&a}1YAWTyuP%rVqKw8puV+zW{WDcFvuL4GAp8B40DHPRC~uNCF_XA2v1P<>@(}>$or9 zS@Tx7q>D`%c)!E$j)MnKaLPF5p9Fzyuk^Ybc$c-W@5tKR#N_LDD98`@)P23Z@^Ze3 z*pqLLl-UDap+YJIf5I@Jl@-U@wRaJE#Nla#e{>;EEncSE4V#%AY46H&r0J`2`vAZDb--Q<(TiO!Yq_V*a=S z?09*M&|_R4Tbis*<7YUSwSyVFlH1xvhzRFr>t<>9wUnO4_e~Q|!x=lWkk};gZGQuZd6-ye zRtS_k^*Y7V&AwZW5k)aqQ$oKK6t|fKC{{8Mj-b-rX z&t$)$xnF$s&y}*LPtVleSZfUG4bdYW+KsQuzIJU`!Ra;dk-&paM89q`PAmYfL_%Ki z@{e4i9F9HIpS6;9_8vMh#Aa#j526i^d-@##hIqQ-%HFQnyJU@208-5nqIisRiAbqaYwf||KxE3nzEZq6aUa0V@TD2vx(3@K&g4IREw3_Ww>&vC zCCjNFf5fabGwsc3MUDtzw<2}d?9v>s-?LvP_0&hg-HPn89$SZe8;bLrV6T^gy@8AYee>|z6^9l2zn3&a-(iq=1(&rMNL$ek92z%F=429TlF6prB9;g}0* zP=bjS4ADhL$diu_wBGXrqf^lx_IgkjUb!wDlyb6B(eBVqJFps$gH23K06h~T zJx}B@&{-v#+eF13$}k`PO1S5-ZrW6UhOAz$;c<-ao`1JS@<#mbu9izXme|oD9=Y)B z`^6``M_6)c>8iY&H6WrZ#I#qsZxT*fz% z*`E@6kbK-0i@>2B5fjs8)>G?ggm$#@^1KyU@Q6&8^qJ`KI!ffK5*L={XQdnQ@6!g- z@h$tEe_~P;-3>Ql7KADE4%EsJ^ptOEQGkmV(IpV-IX58^$S)1iUv#ka!-<22syTTP zB}QfEzg2=&!p7j5CWxM=COJQGa0~X-=%KRez?IHH?EGa*ixz^b_^V7s^&>|*aca1t zBS3V{0a740O2DZR_|frS^4|-p`=$SW0)?Uyb_uybF);;zRTB;lVtj-r!Gp1Rvb@95 z_ss-D#t;oviIL9bG5qlzX$#-CE(pQeFc7$zwg2y1ty}dkY4k_n3N_gmXQNYE_kJDu zqi`7Vq=83DjJAl~2u=%F6^kSB#joZ7*&~@L*b6~VvyL=IOXeU41iSYPaXE*H#F76} zK0o{~UE-L>ILJOa65(y{jgec;Op)8aMf^lJC=(9E*uf@KNA{MVBE(x_^9~6B{8hO($5tf7kBk3C5bMeVU$}Pb@p1 z_zwkhO8#xW4aa=pfTSKSaFo~CW4SrwmksSE{UT7z{lmS%RcF1b3vuK!-WAJ-y;XP4IVT#j1aN5R!C>y6)_geNJA9*YiD$_#Uz~XQJDY^3P`P;(U zGi^ut+mf6vcQ@EC=9mP8H`*5!uwAbHI)3P*{ODj@S4Q*rKc%akPG;ip>eHWD8~?Sn zr`R|Tg@Sl}C#9^Y#{tnZLSXaPj!NDHB?C7l=?AeUbOw*dM}=npSY`@lVd?|kADIIG zc)OJLQ_$IM9@%ro>ivK!aEC0{_!>bb>~Wf zPJAYod%TNRWpr{llybz^3j{sTa}qL;QnT;ywL_YDboX2&N;I8YdH;M!`vdd&$GBL9 z5}>W#Vc&u1S&Sn8p2hn~p0tb4=(8+x^0SR|lA3KxEbWCfSaUj3YfDeMe=83~Y-Q9*g-f{^#06Kn2a`XY^f5yN}VXsOOe+Y;tn4^3wD^6eR3! zMFYOXZU+d`DHJCM7$z?Ms``g)aO4%*D#y*VRRcF=1F8@k&~kVL!UY((;&6U|vSw-g z4OVbLw2;-3lYX0dB?WNQ0o2O=mH)X0N(RT?!d`~G(xutW7Sad#nrBAcrM~^T-5c}L zI=sgr8h>Gg5kCz6r_g%JqbG@e=96{rDU^kwZt0!AO2MHan<*pnG~9a&ntckJTi+kq z65}@lB!)hAQPtvWo0ZjqyU>~uS>|Tc<#9LPfhelWo+T~5j$T*EL`<9e=$*C zxt{9ZhbMVMjUAA94{DV9yl=xQ*1KE(@fnVA753Klr?C9vXO&-Hp6FZsk00P)`?&u` zo&WrB;N$<+QxE#zdg@aDTa>+2;s1s=p$U|^`EM@3f8US)x4v3m&{L|quMjGzdr$k{ zA4dMAR8*JtA1fO_S?|_sKnq)Fu}R_o@tc)ecmH`Lkk|fS@f`m9OaA{~hw}eqtC6Kd zxf$GID?TZlLMx5X^*@%>^m^>yQjvq7#a%uJP*@xz-+TP?NY~i(GGicax zat$!}z^_5YB34uQp6fpjdrBlPjwjYvYu`OE&O@da$*P|d^*?+rGLX?#(qTR8($uuz zggo%qap&Kc^{O$S?K6(68Dj|44(p$Nw)oNL{v0(hrPa-dq$QZulpl5)m(TQ@Ttf zI1=|)r-Z-a!%(xoIR_zzeB8ac-}Z(>q)|$eb z(IdGdm<0qAaW|sHRtL1ryYD^$6V@wx`eCW{GTsAiWFd9XNOZ2PWOwwqvwskMrFUTQ z0Mlegxkug{@C5PHgs5X4R8BeE*j(T-1|*zMUCiuxxtM-#?C2TPcu)rrP$xwYUUT7a zuX`Hsi5`c?o+TxPD7lG`FS%R59-?|2^f6-sE2qr_+8NvBme$-PvLkrPc<+hlo<?nuV9JyW@=qsH;>mp2d zwyVper?bMocQr*t{dWs$Jbm0EjP~fF26Jc#3<`P+t_nNMWPtFA3i>b;Y9=h;VMHG=9=NJFc{ zjFRl(#`8>xZ!yAa^B*t$s^bPs@2`*j?Ckh{`OAiosl|y$uTE-goxV`M(V+d8UHtkd zJTKr}tVPV8@0vaZ(Pi#yZN6R{l1iFav_937$sD5Bh2wu>212 z&s2+F4x-f7D=>YQkaSpG{Wzd6=(y#B>PYHNbSjPm`motpedu>!O99Y{Z1fsJxEWEnn4C7y{u0EfrZ-LagYf$R!O+{rTM z{ScgjT2#zr`L|b~s{xe1i!mB;C8ZMt76P=;4t7SdLyv6lOe;Vw%s;D#F9TZ`Pju^l z`E55yecwweertt)2hi~aVDc-2-kTb@RCvGUGO`JOF77gIx|k4uG8%a4TL@RoK`GCA zS04)Kqp;gP5W<`IRlO5n)~7Q(u9#s(<=>9(hE}4Y9uV&r=lf8uora#TF>DOimR20c zhWH+Gb!p$<2E*^fZKuNlR?dA+3$e${^rgqG&>Pc-cS)EaJo*S6Z2H`6JQVFKe06fi z>sH#beQU?iC&XHE+1|eKwQPExDaZH44-?i)42_XO1S<&ndG5iMqCOjRh@-tA) zt-8A~07H1~LyNP0F0I4kZa*T9D!;k9{B4tZ8-%|S>?*axx1a0JB~IYse?7pV#8eM{ zc;{&pT;b_xuZ{lNz16YgVctT|MH;%}v1eD0Qci44-ZYz&zC1z%+0mksvnNW!8HxU!EsFZW12jXNCR!QjxoX!3R6J~o?W(U1miV@ z$u7ns=pelbAXMrr85!T8!JLE6)R!m&Q&HV`$0)$qocz*|?t>w{A5%#NF)<{bhUoTV z$>vn#pTRT5Pruv0oP#P-5tMI<%d`%Wk3%Ho-Y!Hd&) zhcWy-)cQkL0Ul>yfz)b>NRNW>f#VDCwoT+MFe)D*jU30U<9$7OYW~>%z6Q1%6K{kb)G8}IXD=P=-4?{L zAf!#HP1Ln7|MK$Hg|SABxEC@?tlr7b{bQ6a=o+aRSUGXa1s*zq@LN3f8>0Ap_CZd_ zRlJ(MLDfK*PfElCW`{FCqV>`{2qX2|1!?>F;VbuXN|8Zp0h>eSiXExifYTLVYzyb2 zBuwFMn;9x<-uk-nt0$HL3q)=F2F;WJ9QxBtTN;1T5uYp!O;E8c9xFGF5?&T+d`JtG zp{z_fM~1%YL2Dk6;ZlC>fkT&o^|jX!r%2@kz2*d_Y{^R5zP17ve=6iO{ovA+k!1n1 zlRu46zy&%Q^NVUAj>PB3mG!S)B{Z5)-dgu29ov>j%w-v9bqyErb)Rb`^=>2nXr)*G{ zl*kWt$N`@J`nY64a;$18LkKPxiI0dovT|~Du)QabZ5@mFu?)%S0J7`v>To0eK!Wg1 zISrIhOYeRAIr-|U2G}CVD(L2C5DLB+q!eF0f*Dr)=Q`*XaK*B2QC&wBdjr+*)UiL^ zyvFaK;?XRV9JkwCU()Ye0g|lTa8FUm#R~icC${79CdK#oGtHJz@^+|nUwJ~|$*^B) zK1N0t!rC%!2cJFNTXgua`$?2mSVqd$TWN!wB1hyAD*29+)Ew723_Vl>&S!7n?p(^* za%P+FQmoy~?20TsuUPUU`1LIm$&=myTG6Z ztSFB)Xo^i9a*4^TXaV~dEIS&YFY$aq~V;# z^lLT!sikQrC`KxlHD89N`;E3_=t6GbaoofL^)_F2U!G!jj*k|`U_0#AL+nR17q|?4 z)TAUL4?&bF{Dqv`cW=9{f{KbShC32)v9?X``U#-diC$T#KaXaq)4- z@mZK`s3IQgI#26kG?Dl06l7%;D!33JO+geyA&fG9L@0}ZmXRz+1&>|_i9%Oz?=$Kv zt}2A|6ys1{cm3%qX%-m@c9_LNGZS<29-aKhQs4coNWLbRA%bL~3LboEm|V)krhDO= zR7HT1OmWS~7fucsL!2n#PP&G!BinA|l|QfEkV>osuHm0$xVL_e;!l+yc>y`bb@T{* z^$9^J?RnzrVzFn#H+uI4$6T@TW(Z}NPFGQ~8x_ehHZ}ltl>tgCxl9hFLM)je6OB?HirMh#a-w*O&zX#5^0z6K}znQ6vp7R7V3Q%K4j0*D%R>t3XAWp*Du6ptlajiR$%>%8CZg{0{n=ffVakrNlKU># zBzuf?nOR63HTtkiV4}Un#&YmvvPY1N*}51*l`&bF45JaROs%gDh7wE<1Ii6t7O&e< z6(7t@etlp0ezp9MgYW7N=w#O(&B}u?HELrZ8<@Qts0S$n`?yU99NuyQXutzdM(nVh zFZBwKTQ4Jg|J@Npvvjh+92+yvCO>F#UYxg$vdEtu5|yDq;I%Lox_DGoDE42qvnlOv zOpSWlo3EmyJMvl>!|>$yfO1pj%^Rn%?FXHOa9WX8o=Acw1V`5J5tONZbLnI9UHm4M z7)nj@`gQ9LSm%@*r06=1NOrspA64(ZE}ETH7I&it)kG}RwUh`blOiMa=bd;=Reo{l zygv8r6^!g4cv8ne0~IezCzb#`C{n*H1r@!i%Ja2o1I^9N-Cj??l!U}TOk1E1%~kZY zK!q!N{yeYs&LvyDgBt!R2==55WIOYkd{dXYMDUVpH0B==)!aK?cZ1jKhsmLkgIhLz z&(IQ@$er}>WjEpg!i_=_D-rVkMXtr6)gVn^UsFbslo!)=?dFO<3L5NGX2W(s4Jmbv zXAs&bLM#Qv^Aq`yV=>4fahUC}SMx3Y^5rWEur&e_xEa;BZR|3*HBTQ%*Y`aiQ2+>Sbc~v@tke8rPpP)sm;_PC6+6Gb2(3*+{(_myY!Fs)MqqqBYKT^+j>spV(x3kQ`x>M% zg=45pA(iBP{JC|))Y*BK#qrk(vc!>+H`-Vptyhpw7N{fh_CvQN{}Er9$KqH`B4!!5 z_v|@A*@_*Fe<=1{n7@&#%fYEL8tp8eb~ceGMF7f-eyG7I5fDc8p~UdNnq*+hJ(+^V zIkBjNiFd2}!-onuRyJs1uOqM!85o(AdRA_5;KG}*FKx3ow`|*H(9GzN0#prJtxias z(7E4eNY=+?WDo^OpVWIbk*B-ApBtm(>!2?I@Bzghadrz%-}U)A)`6fjRs{1cfH4}P zXTy-Nl7hk$$n5aHG?5Ucu0v%C;;CW&orBdYHvR$JymKx;B=tiiRR3{< zL~vK(KA9QFIczX~f#-j|^4ORMTQ3F!>%sPW#vZ_&d13x2lwdX(I7zth_9SKAz%OSg zo4ZJVqHw1f9KB@F+}ENn@$5MteDo!xlV>Q9cs?5xSB35cn;l-_S8*LVqSV{lJ32m2 zL?HYC5hjM)+A@CyQIEA;L%BJF#t^EJJ?MQVhFY{RO^lmw<~4RZ7t~!ZwvDS?yA}@B@oJ{CZt2xv%wxKbZr!>%v|F{%N#G)$vTe0D^b&KX z`66-qB0J_A?{l0Bd=hCXV{9BxU_gA&L|A~6o893h8eAw06^jL>Ju*PIWHYTOd_YJg zkIt+k3$?^GNCjp97LbO&=UXDMK=SD1E1e+E1$1E%GS>O+($fgk^P)u~1X9Eo!wFaw z_YjLc%dHxJ_kZRvI72zd5fcFQ2*x(yow*rI-&ch*ll z-W&bKPj7?x?=bP{&Mo&IJRr3{oI0MsCm9$c*;7w?+doe;2{W>X7GP7FUUR6(tZCVX zV^6Nw-ZDthK&Q>A5OnqkbZzh=D{X0MIclN0wKN%p7XfKMU#>zD#)bc;9d{f3(si`l zLc&5fp=g$c!&wB+r91>hhQ&q5ulvxlC)VsZa`hobCzQSmV)2Rcd5QT{B5=Y|wmf|G z%R{7YA`@M4oMM~(>?oaS0tQ~v`Rz?q+axF_>gE|8vxT7Q-rc)oYI%p4Ln@>?t8ddk zMOi1@BIk%HsQC_-Mb2N=P{TmW!68$P-`X`al!*F14x%+YA1ZlTjW?3?Z!H;>!uMEc zQHV>+Q@oI8uJS@V#X#m|SmkjNL()AvG_$JBCV~Y-<^mDD}u?X|RBD zLOm+wx8*^zvlVtU37{8)WU9P(8p9NbYqBUQYYCKsdIUGLX8$T!$#b~4xY#>5^dZDj zmCuWHS=UIReMII<#Rv^FQ|F*)ws!Ew>+HwsbtG7!lgb$F<^Lc|5nI*$Grtrw4G<@P zg+kC5mLVa+r|9EO(ydzc6#>e)nWmH2 zOzaYOydbeSm$EQj>0*SXa)oc&8(nCBQLQ4cT=q5gI{p&uKZ!9ilQ!3Jdm+-AK|KTs z>+g2sz1p?t89e6KKR{(GliXH2wCXlVys#`IECGtN&f4X36aAAn;;^XV$ZG;gb~Dgo zxY7r8BY|~|?~u(owZNT%xt{0&@h1&FI+XD;zRGKO!$+Q34%yQk$LsoSgm_Ni!AcE2r5$Y zpEE*4out6mGZPG|%e1%>)q}(nk~Ad_jqZp`xBG6P5=S=y45{hW6zcVB-j^$2K97Ez zBiVqxM^5@ebLjTfB0^=;d!6M)YU6en>&9@;jV5sWti;+Ss&t%Xo={~c5ZF$_Q z^}*-sl8St++3S?TcJEYB622KWHj`&Q@GdGMf)iS?CX+eTB?K8p0z)5n0-%;ZsV>kM zasj_H%N@B75@aA%tib%oZ2+xA(u4Pm+WjmNEny*4aj}4rXaeI^M8%eD5)dxyQ+&0A z@1Yed5)i5gE?_Ncapa2uysiY`Zvw7X-7{oY%ntTUw4Vv}2?tz;%l@qe&=M{8VZB%b zlS!G$u5F0=aP5fJ&awo<;0I+Tv>pyCF# zFiu&F;T$@c+idry5pX#KwL5i~$v6T!xzUl4;`BbFOLIh++5OBAyCww43!&TMOtudJ zh=LDFMmT^hMx#o07_X9MkNH9^#Ra;7>I@PR()hLDw}#$UstdyjB@;AW;fXRC?F&9FT|Z1_dndl!eVweW_F@KAW6^^F=bV2E%wd;_g05A+-9U*679bHt;qok zx@*fMW8O6Fs92IIC|=Oi1Wl*Ftx01O zyk7p~V-vw3W|uh&a;-UhWKfu7_b2A4B#Ii0JBHNk5VnjU$r;6Cadax?b$DbZuN;$(tOYMXB#cD4tu5SN z?v5cs{sotxFCUC*Z(EOpjj|&d3>~3F$zvkDrl#g|$V|s^_KXlq8uOiU7UqXtwntz7 zg$Ur`v|U>NEz0jcXsiJ1`Gkh*0s_?&#L<; zfd}QJqCtlDTgxg}r(f?^67&#R%wK;FXtyffrVnyDQFfyc?zY<%bx3@1&Z^`74e2`+bRm?EB!3tj1)*f{jd=E5p`im-y!uCGpa{%2u@|t&E+2_Kdv++NYj7|D7Uh~K zRZ)GFr+3=lBu5jREfJlA*O9k1LhMulD^mvm-ubh7lku&S#Zl6GDu1HOCVWd`|9tu3=^YuG%QK7vMBOVO zM2#lo%#CIQryhoLWDcul`9yPbpZRGN#?~;5LbZI5I&#GJ@pcxL&_S6;Fhj}1D1*F? z^vv(y(EyFenFSD+3cfh1tKF`Rj-Csamx@wC-p^E_$3~%u{}-Oz-0)+SHqLg2!jB+4 zY7x28(o*iG5ySy{sHgEd`}z4*@U1CAs|>a#3bj?y{-Zuw)|NmpFwKz!p&Y{{k(Edc zsF=BnC`FN~C;THng76c-xCmkOP%}6Htnu8fhf9ZV;eeUhFwgdgHT{I>#;}WpkPj{a zA@W2$(H^OyeLK#Z|N9j{B#dds;=RQp6pT(zssUCe*N}|0H9bCQ-++@$8r1P|Yny>@ ziil!l*vkFt0vn_4GlCDfKYFAH7SFQfAbB5fuPL?4#%Z?6-qHeS7C!0-Xyhb8#HWIx zEtyGEL%0)%VZ4^HE&s$B3sDJ>c^;X`9RD%8+o+wc;l(Hedy>m$=Sa_n zuZav`0D0R}G-S))OEr01w`4hgJl>`~C+eOlVuR;IbX!bo-%8u8sSv5MjML44eB zEMOz;FG0X9G7c#y{fld9X(f*id4@c?894X7m@E*r{uzd@h(LNUd#xv3E*DGJRn)fx zrDMBAwR^@bwgK-DU3CrSeKEDgQ=ISe>;+z?1kVc@UcN^FlM2xgN0Vj*^{@)|i6`m^ z%O3IKMTj9qy(%Dw()>{r3lRuaI+(S`{cKo~$8_Qi3RY3ot^NZobHXPjPy<@*NVgr< zz2ZDSHy3Q0k64fg4mJVTwHJ*f34{4}E`n~CGTTJ%B$_JIfsb%})5FQDzPoyhHBbmg zxeYhf;_80NghMZl=w%ga4R;T9EI20l4!tfFS)RaAjDGctCC~$S;-$L!e_u#;F&st< zq}9CF*ILr)oJW&-cZub*DLFD=bQew;}jwyg{js{AI6^IDIOF@XuO>liIUDDznl6a0QpSsF_z zDD<&}A(mVyMBeTTeZp3ZBk)RhT>c&}YP{V1Fr1sZ%tQC_UMmp?=ldK zIWciW<9<)1g{Q=ZC*VSRju`w%SR?;xPI4>5~o zm*gnovO?Xv9uT-Ppp#%OePKBN=~Bd)$W#fctylyXQcVCwAzT9>E<)XiSao|SXV_u7 zL`vuasw%GEWu?p!Hy=JK7PhuWFBGmxxr5Ar>7!>|G^}Hz(=o`tvY^pY4uAoGCS9v+BUEsdf$grO-UGm7gtJT;SQ$6fY~>C9 zG71!YSECnZr;P8MN9~4%tyT_0=rk&;B_CWZIHdae9HSGWtCUb2zzV4h3re05QlO3i z{66rGOESMwf=FJ%%wjz-0*rjBJ5AK7$11V+5BKST9Ijfm(Ak}sGi2F#e!eR}&qK5p z2xQ+@rKba>Jz(&kV!{w(IqvCInfo!5LdIj+_Ltg5B61m3y}F0tkOaIprnrko;TE>1 zspK+c{^%7DR>_(PXv5_4pvWT??4x{ zH2My|;q9_p|EZgTI&7mrMQCJO2MiS5Md($6{Z78wW%K5)HarGMDFjM?AqZakaCbGZ z`31k8R5Gw(TzO+X!=ZOa4d8K8rk*ou2@*37>;o(UtC5tFY2O37z23~`t8*qEn43oS z9qUZ+7GQ^C7K>V6NJ}er4YRmp`#f2`ap|7;WcEvK`t*vva+@S2tv^|)9A8<>xYGPo z)h3(c4_Lm_+>YjRUC$ZhIOV?d5StxUh1c}{o3z1cWqBJpwFj7JXg)#s=_|Je@lX3kzsXZ6IqR@e>9nbx0BP}M^zim{_s|&xbKlo6-sA zS&l9&DIadP#940D_6zOXnSj+CrVkF&adp6`A^}?nGSgmQ`9VL*PSXS}CS1*Wq#9`5 z#y_m#{Ru^n8d`34;Yn5^Tf)#{i}6%(lGTWp=+Kub3*;Z`A0L)?e0b_}gFP9q+zTzk zVX4ou)kJOr02j)P>#e!=e~QwoCbj;ww!7^&?XdBQF#}m%qWSufXDX4h^Z*wdjJ@7m zQ&aONfW3$9lj>-l4VeF~m@_IVQ; zID-9F>SOcvA=8|pCewoXo8S#N`S_Ha=GZ5G44RDEP*q?TtnpwpZ(yY7M@#kBmI_ zzslvNS}ovv?P$*6_hwN%f|J;scqXLHcAZcFMSNdj`F>&HhE)#agP=qyO`ih_qKGX8 zprTQaMXKxCvr`9l9G8L6t7Bcx>mLKkL%`VcshtoFL6B!lOe|&~B8oy`+VUiwhJIJ? zZA%V-6nK_OXnnCsjMx$2NNu~mHP9zz$77%nf|6?TpA*uR7x&Z8)1;inUoXk-?~)nY0Ri}O=)uz}C+^4A)5Gy%F7 zPlk5jqKiaGnEp+)Fnd=*^9{w6(tu)1qOw`H(1D0fP9Y{n#{D1@0c~B!seUeMn~3xo zF0nA;P2@5#BXE{!;I#${+7BSGGHsAFoj3smGJ(}}Bp@P#*>gwrlG?LdXWPz5+8-FR z>`%z(!+q>N}a_PYY>$kVpHVcgc$7sE<>x%*;c0aJ+L7 zg~yTCs;1yNLzLG6`O(IrE(%k)8m?g1(x$2Ev%Fb#RpU6hI_evFV8_~~pZG!{@qH&s zdotPzjDQGr@>ZM>HYJhvavQUDuB*Q&t8J>uf6tE6*o#s8Rd##u0rSF-mu)4 z8{VaiEVMKeN!lMq%G0wB>?J{h$vZ#-P)F@(gCminx`bNXuy21c!xP^CM5>)9p55*g z$}F<^u25lB-9G}JpOAE5mZ?~_8iv#J?m~AwXDb?(r7L&Qe=T~v0YP1zsGJ!AK-|A_jHsCqp%V-#!G@d^eX+QUnGJ*?8 zR8RUXYwaHHw2=1*BK(9$i6vTFduM<0jp7^miB9&pkQyc9H7*%w3$E`EChjily1hhmZF>(5nvOuH-5;phh(v?A}B> z=GSQ#dS0i5({kg$I6HOsg<|z~&E%;@L*uRmZq2Mk*(Ep5mQJy^{=#s<4l-vC7cY`6 z6;T@Ep!q)e9!TMbjt=4%!KJ$mQiR*87MJTBsyq+Y^UusWwfF1GJAg;yp$R6g12=P8 zGQY!i>O3mS{l%M} zqqrw(G&rLSRqZOP7`|{x*=8F*!;(l|V7Ejn-x;m;#7cxp)bQvo8jOD&+GqIi0);sE zBS>%0Oc<^0)oI?Z0oN!~lEQ!{9-fq|SYuDTPjFocmy7Xxc-o!BX(>zy+G-CI*7_@14EDoqJ<1#V4NFDR+}WEV2}u_{ytsirL=tgC=79`0aD3gh~` zTqEBx3(hOy+BNlOy{6t*R`O~+Nj!u^C#7epTV$L_Cwf!*X2sOYH`D}NSG;aXeNVfJ zW|23IZ0NqwE#Zz9@@w`NC!FX8)Utck{hhI4=iG9F`R-?0t}BBuYUhcD4-v0lZ>C-5 z?uK*y1Q{AN9YgpCoVlWr>WMePzYSe5*pGEo%9Q4OhN1Whg>Pq)A?uhI(F~R7x%UXY zAh*jvX1jr+GpbYV%%;H`?jS#Hj7cdE$S=-Y4wF%H_AtYgucZnv#AbTithu zDz)`NEmwp4MZug@>(CB9gCjECOYqnp{M9~?j7LY910d^VJ^w8HcHbF=TT)i`P260~i zoCrKP(5t>r=&=I#+;P)>^=+Nu8~bGl-35ITEDAmvvkr`HMll5^LT*swV4(9Zg@1#D z58-lO@nI2BLybj3dhw$TAv7}du;|FkY+JBr;ZMSX`9dlnmiZou#VRC)T3|k#oz_Qw zwm+ix?Q?r@-D`#P;2O0v%Ux{Qr3H9$S`r}&Bt1%lf0o)d9IfSQ_fnb$fj$9At3n?- zn$WHOoX*JX1c9c(!yYG!0enzm3jrV%duewlE0gb)P$ZE4#P17rtj>I*?t9%SxQ=B_ z(B=|GhGivdW@wJ>9A<&8EDkt3sec=x*nxRt4Co_bOY-d5Gh*UFNCBeLL)d__IL$%n z#B2(3X-36k*;_NLpydg518tR*O*`^Y_>K$5j~{naUf$gUF>?*vrZ|fg6?4I|5CPi` z96>xaqNpQfHsZ$P=0$El9Ts!R9!+*ZUPQ1}#ocQ?{pv?pU8}o#dp>bWpx@P3q2UWE zUp}<>V*V|(rc`t$DRK?#eT9I(Q<6j1WQJV92EBr>R&@Ks`;U)oM2lrm5gda64hd*4 z0#%vS)%^a4XKl$84W(nL4wP$T;-$yoo@X}qLBlV*;q(L-x*PedD|F%_VK+E(KXo~^ z$e1G1+?T}Sa<<-2C2ruRbaY9t*AuSMBSBZw8YX%tA3MC3mQx+Qne@>}+S=XO)AnxZ zOloxOOx@X=jVZf|d~7D&!}}^eov;xY^_t_}IluKqe37`7iit-0Fx`nmDh%K#h{Op! zrR4!p?D}HsMGwU}XdsiV)=q6}lW3~-1)5TgY{oA9!3dMokD8jaVFsaSQYu^?*7>b% zf$+R+poNm&J?#Y!rU>Hn9nwgzgRHR~b+%MFMn2u`^whKaz8YYxPUPmh3Mg)YN4BqR|Bun%7? z_qaH!iRy%m)>t4HJ)(ZL@RuhH3E28S@*7gXp)1cDDcp(Ftm;~a+DOH*8To#s1z|g`N}~xLW~8;lKvZ(mVBx)7aGgbiMOmnCZ6Nyy zchGVUo;4544f|97ypMr(#6Qx3y~QITydbUh97paE29CIF0lr>t`q5^l9Z9%bG_Q=f zW?cL7I{p}%8&a{Nf*^zE(5QZ0b$cDdA>s%o*{F+w8n}va6)S$WgG-YA`tkjJwNH>g z`B&_uuP@U2_I7#ljpod^Xc0MIjhyfl%-8N;5r1LnQo0_8<O`kVK z=8ovrV|nu49Db^C?%}5lR6FVQHCtvAmvmL3F(!QFb>L0Yi7D6v7Or_71i0+LTR5F2 zK{yYclR=!gk57v!)os~IHeoLAEH69qwH%IYMoj_)v8(=y9`p(b%lKfe-NennAKy@I zrV|3?(u|Jy+Dup%IHNTh>2acEj9ro42iQ-b2!FQ6xLO$ zYHoSKiBoC5iFtw$CC{K)Z+6f&v`a)TVP{_I!xT<|M4Md(9gPayX7@~)(;5V~vGzP1 z3Pz85k+uaW577n6S~_}lSG>^LEXQk85u?bflkJ;u1r0@Q|mn#?Hon~&z}L1+TemMQHX7A(TuYc`CU zUBK%Ona46q>jBCjV_C3BEh;KvNKHj0@#G)%WfqfrjBy};$ z(n>#iwxSIqtO6a=7rL;EwC_un81^_jI5>o?Zotwt3^XNwY04vf=9)z4Un^6VVab*p zsxr>e^p>g!nJokkr|@If5=dI8(HOV8JXTiP6&aO0oEEy~tkh7}3%y>grs$=UL(lD; zMruAU%?Jq5r#?)&oH`#Ee(a~KT1K=^IrC`kzqJ7KuRLG#lnq~3OOP1&8J)!)@4jiY z#5J~g;_|(@?6SGTj=`_F1_HKJyOGP`Yt7^8x%BJSZb}O(*re9f?Vh#8OyK4-9;*@P?{v z(?PN>8lxRbo#_GlDqNeH-cB+A{$frky z#cBL$lk(bSk@v)DDhp?A#|U{tNLUoC*Fo`2C-&t2?5GfyLEiD`ScI^C=Ot@(7|#Ow z(>$!DBNF^$8Z_mO?MD5zF;@oS9`6NmQQ4G8C~2$WSLVz&a3Z>Hwa!5;!6$Ha6Z#%K zN=NfAF!B{vyZ)uCKVx}!mf^sg)N!i0#-A^7og?Tk zvLSo%$j5FbneT+Y2OBQZ^zfkV*}E&3FK4XDJbn7~PrSp*ZTvYPr{EO#)a-Hw+gcWJ zZA$o^4g$0Zihac)8ZVMqP()pg%9xlvnqCk!pO5{m8+s;Ahwmkl_S-V@=nfpl%7xg4 zms)rq8$FZQQwOdy-0CQN;K(2%ImqWE2!L2ke@N^T2e8U z%2^6siV2Ucxb7v{_OyYTC~pvxCs4~gCN`_+b}I#rj6!}xMYsDBb#f`>_|UwaKQ?k# zYmmnaf>s9B0z|7A{Ch=o>{;?&aBZ8wU{ybnTXzPgr(o%Zsn~t+KICc2c=ZOf+I4t3 zo`>CSc*~5=3_kMXS>MN9_-}RKu52dI5Y%_Jr7GHp=`Zg=e7m4p`q!Vre9soE?M-@)b zaxnZ9NA$Xsaaa%)o`gOV>0Fhg}Z;7s`|yJo^G2 zcaO%VA<$oi;>|Y4kDtI)7$+237#aVA*>Nq8g7gNsIROml;(4@~kNy6B2cDKhb~jb9 zc%ax~?uuYfTV(##;>}kieuL*_SR58P)J@Pq?ES_d0hpHL7u&b%yMMv+tcpG~3FNFR zb|4*=!g9}!d>$Np{{t2Fp&2z4XV3eO)`Lz5X%F3d!CV(_1J?^tzrqn#St%72m8UZ+ zUo4w4x5{cDNi2BTBuJjBN==3yL*hvZv6E1|NpxUeUCzy2lcdL~7lgw1s!BOp$(Nff z1DNK&5vwo|d!u5y%zOqOfT;K2`v6pKDB9!8bmu)$f8w6RfaOF}bm48|>f>CQ$JWb! zhMX%6?-!zkK41_;9Z1?)tP(j6HkQnX6Te0x0woe>C}hTgQrrM=de8J0EE~yrAoF)b ze2IQv0knm_V9*3Kk1**Y@O%x#-)3iI8VSaWgI6W7IDMXAoJjDhP*ad1^92;~l#cdE z3~h#*$yobta9ct>x%bCDrP^0sdWkl=nQ{KlsgpHr{-1i4Wc}-z&Q(9ZBSVRZbvAe= z$H5+HkmRskvs8U?SL=m|*jZn@pzVuosZad4pV^r8Yc*$|rxyCD&TeCQu_&e-6rRYn zzb@8jfqnZE3-_~SwcMq^MDrWi#H#KMfALhREqMsZW3g&WbZ&1$N)(Z{q6APPEg&wF z=P&GV&he1{9Tnohr7n<2IRq&fk)UH5gIK>2a0n$y93C;T^E;?(t+EaV)3xLyqmJrs zykC5^np{l6MI&AQ16aRZ1Yk|3@U3i~OhH@@rScQ+^FwVw=IkX2)C$v8ylfO^UX_re zRgsNgroTU22kji1TA|mgt&#AlWKM(lZUK%Yv-xB|4Xs8mi1xytgNQ`eq2#j<`Gt0i zjJ6Z82fATW(qYU|8!v^Ih1>7RbOj>e#0E^8CXVEegf zPMhErP{ro|L!^^Qb%)NU(!`P&!W_;+hZL~zgg>2C*o%=6mGPT?4-p|O=I-MSL+qs> zXQ)Dvor*CVfbHB+8sXPNh5JSAIxlo~aG-Wk%}JkCW}51)k;ZV>R}i3S1kb>wET`A? zWeP7GNg9!+2K6$L_=ALs#-Gkw>ci;- z?oG%vN7U~r?7x8ShvUJMnG>Rq1H55kt+IlaHdANaYc%t*kdYI|2OMsUG86|IQERaI zotQrqN`~gfiZ`RLBnq4nWQM%Qb4Ot&UklMm0$ls^;DSk1#433XHsS79QDRva?XqR4 z*|S{|o8ChFqR$%HUz**eV*C#VNQKK^s`I=90Xnf>lz50iFtHa`7+7n^+*^PWQeE92 z@WsoJaWArfi|}ROBgr5MbORpZUvT@4fK|e!xs>m?ay?F1I0|}9{x)A5gOq7a?s?}P zb%c_dE8b$SG1K=G-y4=${_)&~kPIVTT!1C;VQUesqoDdA?xhG8fgz5g#l}l+=faIc zm3&70oL^vIG*G^1)Rd$eAxqS-VOR-imdLdp+YFfV1)+n+bS&v2@Q>xmR34BhE!0TY z!Fdsl3RRl;0)9zsLk*MWGWFs@PZHtK@sapc~O}gNEMv@T|ko^=U)}Y{B4}o6S5wYU62P;Z+fpz+^F1%d` z-h9AbZ?3oIRji=*YUKidRnM5c?7c?M4`{85SEDz}t1n2;XW8=lz5rd4tfETQ>fT1H zM#Ur67n_Vmr!0nhDvT-2*LsewF8z{x!{(~eql|T&2O!a?CX^G#MhQI*iko!)&>(Hy zxG@YwY(uoHN;UDggIJS%DraYBsjfs!?=ZX%0j+L?GQHvT=`R4gh^$OA+d78){DBM5 z)_ykL^9HRS#BXPDgUb0Xa0rXE2^oL8=({^zGl3Yf;)q^JjYA|OKesR*CDE1Ti5{4Y z-Vh=Cz|9;Czx)wz?Ri5|KgfSRF6Zt@oMkd^K!}U*b}w}9011=jn2)T zC9KrPV)i;;&`S8s%`x5KK$8)RD7kI=Fh=VmP|VzbjR#_$*AYHGKlq7&Z|cLDB@#oA z{byoriSrNhLulHi+@DFoVHx`Uk!9hJxU;|wGPSQrz67`4#42?S5pwzZqXk460Oxwb zLIQ#&x^yDp`IjAdpW902ugJbOm10v{=Vg{23Is@F7P}`qal5*SpjK9+j3&=EIN@sn z>V(lVzN)KQJ;=FaX#yEIN1&#^K8s2U!p0=bVbmc4qAjh+{C!~uIu_y=47n99QVfC% z(WsoY7D;yhWSW6*4MwvhAVax)uR=(#^=iX_i1QvD>GqoO{w#j`AUV3kzJ&UTx!Np6 z{b!|Z7b}B4U|g&V;#>q20^@M_#AtivN)|tY9ul3tHP-!M=^PZKQhfm6V?5i>pF79T z+=l)DT_$9Y`|CSU5%-}W6ahF)#%7_{BgPsKZ9)iq=4m={V1nX7Qd$~&70(g?7?A{d zO6lUt#5iOBjZ9 z7YNe@p`a|zpOS&WYjhG(xK(j@`ub`%?KmAIWFY%R;^he#g-C(P88_3MLBWjI-*Ol~ zfp-T<0+VOrSToYSjw*>RV(64Xe2inPfmE?uy=kVBRz5jkAQ;dOfUWQAh* z=n%f}$JTEJB?$k4LXmj20GlBr`VIM7aFBzXm1vHk7JPcrk}S!}b5ydaTOTMOA?P&ho^T2mQm_$`KqLdCXHnFF*#sagVef|f&a3#bG2+o0kY$$dDsf*h;eZ{v*bY?;1Tf3 z6mHFfliof;&wvn^zzAcvuz*LM5mEjgEZ*dJ(0k7z{BF{LP{_c`#-)GUEA43iu>|$q zf(xVyy$8DtCh2N`{&?zR$tu~_F%IAvm#8nj$+Sjns##f04ogk-D&}i2gUOF&^3Dt8dKw>iXham&~hFW7n5&&k0(~UZQaW)8gTloJN^)WgbXf{asm78j~H$G^9Cg0^Ns)UZXMBG z0n&bU?sc*$-FHQ3($W&XQkq|O zs8zr=%V-GwIVP@jmD<0#{=CnB|IKyOV>dqiUw_&CpKMKk{I^H#ga5WxWd3iD+W&kKb$mJc56{bp=Q}mmNEUc0xmF3A0z_-%h;rTi|Ya2OHJ?Z+{G((*O03 zg$2V6v%wUGQ5b_l+Y_@^Yx#M998M7C9b=uH4u9Ks+HpW)D%`Vn5N##OYhtS|ESwb| zw0wgP>Rxce9ag@4YybA`JO-=oFea<}Ho+$j0iDAc*pFEWT-byC-S1BkA3~zQ>nRdg zCB^WU!?vsY`<(clG-2iy8v{|8kMN@O#t)IWjD}bhDAOZ_4Qw(9lvBuSLq0z#hCXpVL@b8tGYO{boD7YUZm3SxS ze?41QcVf=zC45ID(TzE%oFk{jl-4OZIoV^8b?yD&nnw<|ZpFd*s89mMH9p;80k*$> zH9c`1U6y&@A@~Gu&m!;`pgTJ*9oo0_lF)YQadlnQPCOPYnTvJ%`-@(JFS)FbhZaolp<-K+(cJ%|2!%UsN`fL>{_!VcC=sLk>B z+}zw%ZhN*<->FyNn*NW!!rJ$&T4BdP-R<3Pa{HpWAKx!Yn*aEHFkt`wa+Gdn(_^&@gL-W7z&i(y+T>rP;{{KDi z1Tp`(222L55heb92Q-OmV7&YHU++G)jMKkIDWg&^_xC@iaqa(~n;8D}FMgT-_r`#a z|Gjo#!+#p(($F0H@3jN}|BL*8?3vh;i|osk)1q51cU<`5k!K~@e_J(&`I0>5%QxP& zV`dM{-Qdxg;J=QMtNVkPJxexR$!J!`jvmO=!<;s@9SmVQ+6;YpZd#l zTY+SO5*TB1UQayncPv*pO#a1w>XY>^clkyHhwc;C`s=sZiQoSFm&0T0|6OI!UvHJ> z|4~Rr45LZZgY*4GKPbEec4bj#mpTu z1L}(D{WBCGg#Zo}_BPqf4{{a{zB2ahob8|XfS_Tv5fSE#c8jJp*SeH@5x2 z7EnX(ub!{Ojz%=qvXpJSy79pJIIfs1|j9i9^IGn{|2Rd2gg^v-tB;M07>Nef;$9my{Y;x0J{J9Gvav;yF6?S@i5{ zIg_^8x`d+A%25d+RqxkXys2auqbY(@;|S9w%3-J56Gn@zJvl z&&+>c*tX1Y7d7TAqhzZ*exc^rY^gcB?H@I#5(N;)K2QTZR1pHA0py^kr;h}5fKz*( z;6wP?HO-R*F_k=h`peZL`(fxo9R*eSZ58i!Nn)A|f;l^F2<>z%s44}*(KF0<@wy!L zFAqF?iU^(A(5^}mQ;I{W7c-g!pfG~h&smDDeHVR)0Ivyz7i4an3__x}Cv&7=9yHu` ztxn3De2!(PyJZ?v4866s_k&8h=Ey;CU9`+yS*<|)Ff_b`fK#|;L;;BhL53hNAIqUw zz?6ZAXkpkv7%-p`W!)dv`~<2;{wZK3;`IVhA!V00bdQy*YUv{Y>wL}*^9h9@C=Ob2 z%AbKFz@ZGXCsC*u&3y>N$Y|f79yZ# zvg8Y2tP(ad60i`oCvh6bd*Ye8v|78Mok_I4+nTCli#aF_e10lqRwdcO_X$mfF90M$ z8W__TCg>Y$00}}w#dIZfu{SC-7PHU#RVo?u#h z@wfx*9?&z2ZOzxP!3$bpt^FBmBYzk@my=lVk0%n`R))t5hciQR%cgDTD%KQ4*s2$C z*F2wZ*SK?>MZ-kNQRy{Xu~Etmt6J50J06WKEYWd>4z;;2D?ipf|H8%!AIegftXJwY zb=&3}G8^F3Ee4GKIhZ=)%>YCu<91%+>>XT?qtsDoABfQk1SDl?@%X05kZjl6aBs{L z+h9OmhgcK=!6lD~%==9zE<&)gbI%*#a($I93s%Mo{fPP|{qat#s*sWgEoLPS6+ zTMg%KO`}0D6jczgdw!RZ$6c+`GRup^=5jyHpkNHG5w9L%Bm|cd99{FcaGdW0Qj%nL zSbvQh6tx7yfC*88LH4==G%P*8Xp>$H^SiL$-uzWY6z`HuGK1?uq^PN2NH3>66w>!)nJ zAnP~4dz$!(EQdePGBUtMQE9K)h!pt~j+@kiv zFU9pFgbEX~ix<-pdd$u(v&SENQ1SZu=zS}ZjRCRe;&jXsM7Z_LQbK-OCbS2JX2^_% zR^+&sz2}R0o;`h=?fRLbK8G-!);eX)+TvR!>Fl>&C^rg+7?yRd9Tb1@D$&zQeZ%Z* zSa$Yv|Jin@`*n#ui#u6mj8v)Tle&}@c_P$WmFZh{T#&gkyUqFS*BAqO=R~szC;{Uj zfig{M!)C^v-=0@1BW1T>VuL&@NR}rcb;q*O6U$qRfMd|VLXlvN`8-3dh3+7;z96&w zr=5XnZ*iW8Z3TH&fJX^gLf9kN&pPY)u@Qo-U|}N3G)XVTp!lvFTp{>j1xDNV(qfF8qk=o&~IWGlLH7+OQ6(1Tx1GsqZd9V!QQVXrL&mq$T@WK0-l94=H$l@q$H zt1#{9K(+vywTVN{R7dQmA?=(WE#(E~*oc)IA@<#j2@vU`zR3AuQql{hQ9a@TyRgVe zbMG|`*vqBQ<`6poSZnTwXCZ_&uo`5;-+>xoW@8(}!%v=&LG5^fcl&LMw|J_iL9w@4 z4Uj$=*adjJJ;&)YaWE8vjc?)jQ#d%0=m)wAX@VX3@+T;Nd=w|ui!?}W^$r*-OrF<+ z2JIh^A9;|NyEkT-g%Z8jpM}Q=2rmbT$uW%aH)Yfx7{+~!!roP$O8qvtx>=O{LX3os zODccR{r+FjT@t#B!t|pUloWAyK{_R>ZP4Sy;2rD=)Vlc|T8}9ztzNr+Fk%}6F)HEW z;faqAqR0_lPnzafyaMrk@0dgg2D}|tZLIkgQJO}(0E54AXJ#{AjkCXM=RV)_>6bQ= z19US1)`KZT*N}%CG&)u~>#+TMB5^AuRt&y9VZ1c-Yl?5vg(2b##amB9UgWXy8{{+s z2>bT8^k%|B;o4fOqTJSUg@=}&GLYYa1XJLEIB z@P)VN^yXC?cUKMfWalOZ1_vM8Q!HF*A2OR|#?2oW*UzWCLdtXS!mf`lk50R*-0!$_ z{Q_UEv)h11rEcdXucr>IrC}n_>Dxdv!~co0%omaOkP@vnlSI{X;)I=pt*RG`uv;4p4BwJ z&YQ>9A3tOg$-ZQ_(4u}JpXkn%%V|q!j8yzDs;r!sHBo9nTn*Z&F#DPj5{)->pQzM~ zFUQ}Y(B8dYW;(~h)>aw?&D|nwML$UEW;4{xD6#N6TAKcV^6x)LhE{={U#KJ zc^{5!LJD4i^7SLcHdsmifM}EsY??-%VdYb{&wVE0BF?mHS7}}Xq&-_XMsXCqk?B`; zebLRebAyd8D;pav?!fK5JTd$`z1M>pSm3ac7L(KbWf-u!z{tqL;tfjS5>C&N1|hT7(~geEmc8dXZf(tvP~%Qm0y~!bbI0oV9uwb=ldD_6 zZTZcHWpF**!^*l01DY_=`UKADUJ?28NLlUp?1AD=U>v`_w9-S_e}WWO&5LlPq@hVp zNjdDY;Q0IZ@9#+0fx=cCq!P8ri;!pAe1d1&DGr|>2zc)iGE2pdfBQNBeKMXyf_IG9 z6wOz7yJco&`KhNwZzWq^Y2C82voAv^vt!8w#sdRIY`CC#Kw-2VvfH^d4Ym`7R9m*1 zH?W{_H@&R}McCKr3$pH(ZeeL@X~nc|OYRly+sh@UuC8v77qR*9>l>GknDjmCQfZ4M z&rrmME+iy`zFB1N-XrYo?xr-1Npo|KOvmgt(tPjkz7P6&TVO2%h8+~T`@qH@MYzq% z@PXh&#Q$WNGEVp}!-nPQ(_PxHHZo1fP@n%c3vImT|Aar_;hRt4iBHP8`P98k+#czF zb)iaP#MA%9^&Jgq7@gr4TR`L*X#=G&`+UZI?XDKrgDFd%i-ds%|_{O-Y$ave<= zq-ftDFm&6jK_q166-OO^AA%!>O5dcqFDALekS%C@pBbv?OR6AxK1PwfOd;{fBFY@) zAro3xv@A;%R_q~FQQ((lzDw4l)V=NLxelHD2pB{E>skmE#A}h}9lqMbsF*y*e@{+M z{)TD7SF~m{&zI146<1ephOmr=hK-&52WCp|nI`FOv;6h_{qox)%o5IPY2cZ)sTE=P zykz(%Nzpr++rj-GsGSaA)s!&43>*Q<`78Yi24cH@5 z36Ewxmv?1lYcbrj9NBWoamI_mK|xyWg8p|yLs=jZUqXW&M4MW-hpqhtKb%ic+%2I& z2@@%@T|-mzGHQPYVM{ie-5eY%T49!#5paer5Zgy+zM~hpx8mg{RbQBgETb_tF(Ds& z+m~1}2aae-=XylhSYwJM+L2MY?I~Bt$&nfFr(69Qea~!vcCL_T$LWaofr*cbQ)3FZ z;%&K+o`bb3_^qB6Q#p1h;jn-tY;r19~UkCi~l!PjT>e~%@P<|x(4-qvs$=e5tg==y)K_vT?a zwr$t=*`QgP6-k9Op+O0iG^@}&7@CVD%2*N2nou-~Xw;~ICY0uqDcu@Gb18)eMM`|@ za6j+&KJWd$|NQ>=w(Z+~+t>CyZj$S|&htEu{n+=lueElSJ?}60DJRfgJYZ1wM(9kY zy_sSHCr?;Bx~&NN5-xT_+4>|?Won`=hm7HL+D>Cx%W}fw_gVJ zYV(mdOrTRM!qMiQLTYF;4$eYUIF5%7)%NzT2H~gu;Vo~gCLC$5jz(~D1QU;ea;mau z%kI)IL1frxDSH7{*#_}4$(j?zDZAEk<=Q+E!VYVC`m`FYAt6;rbe=(% zJ9qA6TDmkSCWaTu&1D4RRM7G|i(Qw)JGKQRbAfYJs_DJ*9kq)7o?+2&kH5)c81$Va^Pw!Bq;`ks+2`akr zBPry%ozXGxM15G`<8t2>vxAm`2)}IT#8$$ie++B7ZTJ0QNXQL&l8%7^8$7Ysvk5A3 z%#OQmdUQ`;O^rgz2)(qzd6aOTQv*vN2MtA7?gJOFptMv6n_C7rzylD1OeZe)DC0`0 zXd0V`a%N<9MN^U&h+Wf1g`)r5-%`Z zx~8W`2ob9Rfuj%Jy{84u-<|U|!)1e3dKK5HCU!j;G`Z2%bXM46XML?Oe4V7~69#JM zlG5Y74OlzET%mnqV=P;?Y=P9KqDuBFC^72pv&fY2?d&N}oOZxIDC%&};$1a1Du z&z~?J=vjqG!^Fm>i3Q>pv`uqf>FgIl z_>_fQTDF?yJIrjC;dF%PsvfD~Qp&RO{8kVmWB~}weCb|^Vzde(J`MqaP-GNz7;)=4 z+2_Z>ErWC9)^I=Ip%9!xWse?>N30b8c%F~*<0Zru%?lS);a7cC!X!gjSeOD`ifkXK z96463AZK-TclRnRed$T~+)UWxv36FR+kze}i}J6&YC0T?g2-&@u(qcr`!xi&pJ4;K z5`5_rBZR=I#k-Nr)_ev9?&Hx%-i?EJNcCRt9MzL5ni#1NO|^yK8&YCE$1>D!&S(7K?Ikopsks zs8BQ_GS6iwErXF;FU2a<-Lt0w2Pvj%nMbVJ&IgBt*7B77DxO*@nZssdP9ls;SI}do zQ-2{AKI_OGBo^cEFCjMq2a%pqZ;&=2PPore8Bl>-Q9pkCuq?2pfsB@-aGC^ERQLov z*sFlk6DG5-%WsXP=t;)#B`jud#*g$34biV(zaE-lqmeTx!*N)iIePS{-ps!Aj}|n| zPj-QvNh7Ym7SxKocUf^kr#w73i|VpWoK_NVywIL!xN(y}S?pnoRI}uqr6oV0Rv9QY zZYq0mUHtW9JtVr88CK<>8F~OzrF`$+T@PHMC1dwWk<>mysQz`U$sH+@A3)W9n_bWD zu9*J%_|!)(EL;|fU-i5abvRmJ;{>eU9Bcp&onlxA)hPd&GiNAYRF0)@@;~7v z&Cg^tRCVR#=H?cF(MvTuG@;br|EVK9A|eo{2_U6V05^7Xll^m$aCyMv4ZZ-P($Z}3 zTBrtYlIgKgSW?f~Sq!0)hDViwdMwDOtFJHh^^DOEnUcyiF{A_k7&K6F76>VO`o4dE z0O!4kxHuDH+9g~T4v2$&UN8Y7YmF$6`wClUob=CCZa?{f4ZHp_tf*MNLt;ULHOW_W zNiW?PBMVu#6d%JUXxQ(5*!7m2OE~=9w_I+l6^D3a_hxk z%GlkZzzjt2@j;1;)Juow8A$|)zv=mJZx8Kj^enDe&l{xf2S9ZYc5v0ecHHqY$TaMc z^FoeH%eV1BleGCd*l%KR!7|jtj36I3y?m*S7gvE3D^5rDi@+~?Qzj2IC0l}l~`-bbxPoG-! z&8Q3qsv(cfw6glz!kI89SK*P!U|!#I@!3OjDtf2o>!(g}l3u+E!>*>q*ZR7ho1fb( z%}z}9(QrL*QM&%)xsSRr&0)Mv+Kz1G{L0;5%1&V}#QuntTiEyP*%N}}96Y!Fi3wsc zE&}0}WnS_<5Y63Bp44!6m%)GtEMB%e8YN`ArknPfcW%|&7{^+@1eBKgbE(?I|8Da8 z_eSKC9DIDiIHZ}mg`vjJZjnwHOXux=|NhjmyF!oCgy@eQ1}Cxx@5S0Jwr$%Alp%B! z#v^WDk-jE8^}(WKlx`qyq&+G?-Cet?5$|5(sG!YHwdOP4uPCE-fAbKS?i^fP{#cgr z2?@z0C4+a%OJP~8FqD1#cyfWdYt^CPYDv{u27Bb?SWBIVafEty_DR8JEWhAfX{Umc z`E#o_ALf8MEew4kWb=GqzI<`&iQV!x$1hz%VjZjfmZ6cX<|GR=hwK)R-ms3upuiVa zP~b(4CUtZR11Fwnou*UPRLzxhzSEt{IXG+!2CcD)`bI_=)qXrW-kKKr(hWQ83IqjA z+yOXW)F2QDU%UbIox~FWO;eB=k-Q~RcP);sz__^OX~q)Jngn8pML+ZKH@L04w$+tQ z82u}z_aFGH#%nw0ub5Useoz1kJBG@of`vyCYErj?=o1(iXp0mZ%eodezsdstVzC zwQ#f{uet=Bf(2)%&Y3fcU^BbJ$x5W}H&o5_s9R@yzK8KjO#fjuECAX%oL(~AbKu>=wWGSYcpWG2BXaGLmCc}A_J18md9QvDc_tNDL~fY zaJ+_3_!43{**SrE3PJDS%t21$hLnfV(L8ojCEki>MCDW)PLT{C*$~#L=)^lPWY@bQ zP-vv<#Y841h9d>OarE@kY)gRbRluJ(I5>nITYm!vvpsg~-fY)zKu_>3l_aOY0~Zse zty`1PSYdG8>oRgbM0W=p_IGyZYit8%sX7|?jWCSVDwd@F#nC)F%IyYb+|(YB3pORru# z;n8o$z#fz)`qN5rtvzSPH)%_uA&=H)eH$8YXf0!?Y<~J>SnbWA91H!krl{KQv2qUG zeeGsOPd_=iSGOp(xi1#-c*!j}uWmBsF;cWQe`Q?krHQ?DIY`Ws9B)#r`C4DUF0AqbJyx3|ygu^TusXw9%+R$DR4cf~Ad}hi9j`dkRRW&& zwr9@KvASz(@C_N;D$3E(k!hzb5{m}lBhQ8uX4CgYIk>qU9QA$T&CF`nP&$1rK0X9A zQP7@+ah71$XzS^*eER%3h&kb!jOG(PUJxR2Y__dn%4oi`o-bV1u_==F>N7_aOKF|8uG_Ugex(Zk~etF%;iC2nY0cq}NZwlz`h7ANLdF(kwi|8f!-~n$`7*LVO`a3d^ zb}fIo_2;n)RfFUSU8lxZua?1^l&J9LfKOz%Iq0BF}FW6O|#L~ap+nxK+9WnWmt zqz`RJ|L|}SR_{)+>n@I0O_um)iG9ah>|9Q!Gr*U{d021+xK!|^7kNN!S%dUp1cS| z%jED0+IUKuS>weaPNUcSOwRP!y0&(9G&rA0<+rcY1t7Qk0!}gSCH@%g#L78DT(J42 zjRch3h2M8~>zi_E6^Ct*lw_e~fDIZOv84G@FyK-1D(GyMnc~aD6(jfzNR!9reE=W9}OG{jN;>PM;!hV=yow_Ys+_jsa7DDQF)_O9A~;VFB8tTZH`V($pFSJ zAD(jYE8_7j5_(ixx&>zp7^1~zZX%lx1TMuKz@5(?oD&!HCiX{DO${w7aHIsj_(|w{ zvrp5yV3pQgS0t9<}1H` zjTtdE3#M(;+=sdv{BgJ=29cuzZGcJm7&*b(8n57L?zdQa^eq?se3*&-&a2xQ zbpW}f>9-SA!CR4!!&;cn-qg?kXZ#Y^K2w zVr8-Q2sBK4l}1#djOkoh*D8ie9IeiJY%)q*pC00eBLDqb!S*aZI+ELArb9)qi)f=e zXbLno1SsX2?c4Vs`Z#PMP_$`((#RuNDORDr2U$f4Jw!jX0sv2}PIrozgp%1DgWehk zfuS5YaG>wgr`*$1d6v@JNI~7l+c#9qb4vn(4loc4NJtPs6Uy4wFElT2L*?SP{mIXH zK8`^CQg(Jih_Z!FZQsR}m`oHe=fnc%=}^E5gr96F-VL}9Rw@KVhVqlQ;Towf5Ys?t zSpwX%9(&6j8}IV3X=G+J;?HhltUQp@q9Pb*e}&&lFT&PZG<>r6{klwu+SG%svRUkYl$6#X+6PPgVt$F5jc*;H(>o=O0 z=bKm0a@`)T1_n!dbo1Q4Cuk3$)o+P;Gz~+#$l212v)UIeEiIWQY9klPAme{kXG#}; zJ#H8>@n}}3Z8na>sMObUJ&g?wq+o`6K@WGVtHP7|oa^dFZ4?*9Sc_f1zM@aS3UuNhu)bb!FK4Y4&4r!PS8f*l9 z!17-4?m4CxO)LsLBs*(6D=RD9_E%#+HR4f3!fnyxn8iU?-L=>3ZN6gc4=3sG|L}yX zR-{C>(%TDW0#OSyA5q1uINY6qAX%fny!GmlDNR^!u^2SxnAk|8g4Yn?$i)FAvt^5p zwY3mAFOS}xkAS#61aS5sveFglqBMO7kJKFn>RR)aTeog$YuD9`&gZ>OtZ(V4n{kHS z0tamc+>t3b-&}6Q{4P5;x20L8ET~k^!!_$Md#W6n#44vBY@7LKr=+q*7$7&ooB3nQ z4IqYiP7g7oBnT^JG0;-@Ar541XejOEqtYI4{Rtn2B}?oegk@T`jPcF^=4}{<17N45 z^YfZPnUU^onKs3?eEH|gX*c0VuEY*lcCsq(dRiN~A*%D&YQ~x4Mp_R0*FVzpjEoF; zeqbw3Eu;G$b7L5vZI_7d&#Xx|g= z-Pl7ULHYWXyGR0X&rzu0UVhbvwJS0|4$`ec_70`@8gjbq-@jk^{2a&Iw{JbsVkWf) zz{i;Ed*@*u(T|Dj10yS2q3hxh6l9}nw0@uu&<9-+$nN(>L%PDm8oIcux7D zksp|RnVfq9i1LHj6;KEnUv$mCCGGFu@vPLdeW>sAH`-rkk;JhXh`4L0LSEyI!A_zhr8N)%OmkH z;D2-+7IWI+g5QABYk?*g|wLRoQfk07y?j&HM1-K1NDJ$= zoq&{4uB@O zS2=XT%Wr{A<+he)kON{9FzZ^#pfqhSUd(0$RzxR^R@$Q7lQ7Mrgl8jx#eo#_VkeMvuh#)UT6FoZ+)^p z!*Xv&Y)VDIuN+O9zNWl5sjyqF0*Y(m572yCW*!^F6H0lAJXwuPD_0kIeg;6v=aqaD zJ{&PyW+OxhNQ7j0);r02>+;hdK72rMsX`yv9V$^+{-z-Js0llSi~&8pf~Li*0`d%) zU8iYk%7X^CovUj&S~3JHG8E^jarDwM5N#elakTp(cmf|jh(#YYygQ*cotrED{DuOn zTml;c5-hxffo*{b7!HsWJxMympn5V^Mdaf{vvsm2#>T?epPq7#2cwbm*m6FmSU4eA zxNDp^Ax8~=*HUryHOP>rljaHyR1H%EdQV`KsKmsa!hIF!ff5eD1J%3Ok2P)@-*ZSi z2T)}nl5_$plG!FsBHmN&fRT#B6yx~On7G#&Bb|u^#D}V1{e$gOmB*v<*pD@hT93VTVtJvGKCr1dTZam z7sL^{vHj$Zg-`N=s^|Fug{ z2zYRuVaB>Vj05xLty_cvql}Tuor6!*J~sO9+TK>2yOAYGo#~p7!r@#16qbedO8`)i za1)=HxJE>T2K|iXdWmS)E=5rX6Lc;>L+k1N3#HdaP06*R1)&0h50{*8X#IfttKT@y z5F5}mYeWb3^pz=YfdC-t)Qt|>;G|cgDK)Yj&zX*PJzxep#}TTDp?a$y+9a4W*l?D(?>|k&} zMdz45JJIq8(W9WKh_v8=r=L2u{`%8NloFJT?m6HcLDMR@MFDwvZiPw50V<=w6vF>e z)k(nSBn+ij*_+Rj5o7!tV)SO42bQl~Ddo6KYEOf_oC+2hh&#*8KU_h;0$S0sHAyXh zna0ejkF$oU+Djw&WoZFaQFnemuc)Y)LJwR-N{SU^#zqt?tlgJn(Ia%lg>;sH z#3{gn%8(+pd`{YNaiila)8Aj{nor!qb|Z}mRIP!+Ptk{A863xz)`Casfuja+o(RWt z)ITl9Lqpi=Eb~L3&OE+hbq_N!wv~1l*wGON1X>(ODjh)09e%BuVz0kvPkUG6rf}3n zt-H_0Z;MF;mO(Xly?WSuKeGdVz3X5J25l`F)irVkWoPS;PS8<$%=SmF7A6E;ltUM^4KNXB^DX;SNA@vO_F-*{n zq8{ECq^GCvgUW=KLZhM|wgx;x+@YE{{bLG@osdAOSMBsNekFeL%loaj-eGV7zptEB zTTVbbtP6RLtycCdXzE~Fx|FxMDs#tjUzs1=yu4`Y8kzf zNq#l82yCn7v&Gek8E-=D3=%Ftmf4TA(Sf6LWeqt^b`vVXgTtI?HD@YBcA-s$Jiifr z42s9+Gc&&qC^Hbch&mnxD#s7hOPF3gcCFMT`XNCVT5ujdVDO`9rcSE;p0Yvwv6FpD z)EURt$LPJ)*(BE1IZu$z7a1QWCN{lq=bOnK+kOy$TB>v!v46qkMaIW7;X^B*`^JW8 z&-E|m^fiYY$qIjvc_{Ye>C+oFL%|N1C-B|;fky6_C9_jBZJk{?MBz32t0?}JsAxCA zp-s7YP^Il#bo*<@E%#EMv7IkF;#cKU5EeY0y6G0Y?grii01^lW8=8LLS?n#xTis6E?ztypkFrvl#bOf^r3{3Rd_^yUwOaC_oDolk zG{ERykO3Lc`Vw`#EOnGtS2XGlP6Q-7N%)wF@_(E>AqmGFe zAQuSGY;wOF3ugD8fa-5%-{qGy5`)f}ujDZqmdSXmr{a@W)_AlhUd}e z`ec?9*kas8#~wF7d&cT3S9~6Mg5J-4##ubb2a6|@P%4|}7G23Fw&*g#-w65BbI1H> zTTWbL6lqSZ7^$?t=yRsV8?C=yG|godb$fbxn(AtsWGe-aZolS&xKWF~DtagDZmuad znl+h~U_Qd;W2Ip@D@9978yLC|)dXfG7k4f|nDfSa|3O1TjwIMtee%hfUybUU+uzG( z7We7?W=GkqdoJn562E>e9M5|P^&93yF7uW1G~7QKd&I9EDNr$k|J%;aJ4n_jU)cF_ zQpAVK{?M&8DbseJI_ey^ZM1$YK2tu+EN78lNw_YT>z`}Zr%$8=Sb!?bGPtXYPe3=l zRefR3Nfw1eSK;O~PD1$t{V4#c!>8UStC8;V35AD-RwHt!M-}V$^7NzPB;Yj`!6j1H zV`NGVKJO;Sd%An~HiE%&Y5Q|u7P`@yx=IzIOs{&Es*M{@M{?p-ct&Fcg!G>&kE z!9xA%pIG?)s7(nW3jwGA27)3j%!aX3q+bqFuo1|G1juXh!HiQLQVoOVA|o*R@uS44 z$QOe=Rh36W}0ovOvu;cK4aJ5XY#$5#qd|K>RcZk zr3P4n{HynsJ}Xfn)q+J37+nV=AoYS9NE&1WGLFHB9~C4;orm~j8(li?Z3rlJBAYk! zfbu;D^mYo4vWJh}ckfs4_W`nfS1tBItLiT(HEcgTPiT7nybev2LNr7B7d-Gz;Kp+z zH3q4o7W%v5%BwizR=_%4gokAbL@9n4twNZUU_2r*_M92zBseu1>2{MTAOI~9(}9c7 z71&jaf=>c^V4$XGb)<+!U@yr`QLYCelu(BE(#(CF>y7vpiR>>K0%-!ngN{RqGyX_K zeLngXr(6We22mB2RftP9s3JBu=Og|vL+3*K*s+akxtPfiys4k4-|X?2bPWvZz^DcF zkU>dFNf?O~T(D|^3q`>stD|=qe0lFhXTp|8MhrJq=C@4nhzdb#ocG6j(j(~VT7fOE zb43vMll7FdLF%+q)2qKaIxHrh+e-p==AummbJ0@R@J%EbzU*i|!qD0lZ*ur;(K@^o z6UtMRaJH}~|@NhTpPBAVYp4=dB=i7Kis4k4i{*k%qO&emkl zqPx6ebL0XdjCyD{?k4kytJ(SY<9FMNnrzwO6p}m#K?Qu)!zR0 zn%!sJ4LD^IzL%7t`M$ZCzxL9oIk5GEgrWs(!Z1DT#PeOnmd+3f)+p9XaBc;HLP7`5 z6QX+{N^%%snR~v+?JavLx=5Vw2|Q0>Kr!x6I0rq1PkkiZ` zfw3nOxTI?wG1KtSOCVgUM~TzB^&^#I|5 zp|n*0IBgMA54x#KqngYb(%+bypBKe?Bkf2;z@S}Yz#Iwr0sh|ve4Uz`a)8L00fM~- z{C)WQ@7Px!VC|q&SM}~4;kl}zX(-GW4x-jlV0p;rmcip#Jo1`(%tIrw>&#ZW!{jjU z0AlgXxr_92-eZ0?JEIZ~A31Jio0z5In!Ib3{?D_$+-sda436e)7OaS2pbCn4G^Dvi zHt5T5*B{)+H#g3$^Crjn*rehF>AA&7h0d~%j*VIhoX(CPMC6_8)z{e<%Vw6xdFlXc zvV^H!nmbL|c7!gjUAN5U*H_bt&-J1*9Jy>CnhZ)!2pB>P5S;BA? zArg0vEPu3u`2eZNf@cC(I3A$5bvQHJCwf#skg7$W3>_L?xyw8me>2*+{TZl5^L3!t zEk#@-5ru>qXlSazQin%Bp|Rn-WGL4CL!R?95|9vI1|*gO+j4?YfD0Nl9nKX>kB!)2bt4Uz z6fb{>9nY5$%r~&J9Dq(|9w?WqvzKlCOW{6YyOLeBv0yb4R?>NaymTkx7(#FWlGmEH zHeRfEf|56T!t@Z7z9g|4+Az2q#;ldhxrlZUfe(wpp6g@kfk*<*2apH8aN>Lyc=R`1A%jH-8y*q#}|CE zF@tA|W3Jym{>2Dp{ocYJsXNlCZxJg6!OR5P3&_>bow6tyknmPyJ}4<^-@eiSO%FqW zoFt6~ZGY#!eJhAP=+7-FjG>x@yX1f_J*hB(BNt$PL|Iu`ANH`iOBYH@bbUy3qw{sj!RFg|a?-X!T}rrWH*1z$b0EN3-60pcU&IAKxGQBISf50emwc zMejqAN%)KqiUS~IICSU`ie0qa1^#qd{azvJymq}E{OOrF4@u2{OaVMlPYjo&+YtAx zIO!1~;StOmd|3@39X%Ho+)e>^f+HB@5n6btU|9vjSC4c=$=ZQaKiS)MD3gOKGe80$ zzySg_Y%rDp0PsysU31{zK@VVAShCfxUvr`i=PtT%{Q}CP5KKksC$v1QE~099aHNd| zd_^W^X3hqVh6sTG+(FmwOX=zBU~A_Osx;MdLxJ=_J0E-9pS)*N=-5Ff~C657m z4Dg@Ma%$)^Sc4kZFKA+wGK2*#1kn6CP<*`ayPE7iU=)&;b8`nEq|qAg@r4>VqbYYAaw+w4 zO;B90HhEl~N<|Eklm&>$5l9$?WQ8siUh7wg`wZq3;?>6Oj*m850~ zBSre)LmsG|{nV4I&|W2V0Z0NGP?l9!)8Iq@m0;!o4~$NrA%L5~z48NM1DJ_uIniOQ z!+!%~GP7TmJwSWZa6W@@GeHCHd1dx{W1(`I2ciZxhXmUIAZ4406AJc)mX=PyZKWI& zrKRw`)u^=AIex~)XrjM(;^avYzVQB!A47qaRMpg^XfBkNlmw#-(sOP?h2+oZvn!5P zy}|0Vb#-+uSo|m&rAzL)9o8s}POrFMJaM83s{*ar0t{6+3YXIsHgU&!B?dKLyZI}Q z-q{xU?0Al72GStc1=P`qbfy5TBM~NoE)#+>28V4L+-4|?Le1ofBAM*fKQv@I-~+pD zeuDo|PEY5t-3~lDv((wy8513rp@&UGQLOnMAmxBKIa+)i{P~}l3a^3cF4<6=gO@i5 z$B!t8XgF%>k##B*sYPA@-t9rUfSv1+GUEsYFGLvtD7nqZyJ;|u`e5?n+F4r>H$M<% zkJYGWqSXNkWOdaJR3>^!0DA$BALa+-U06 zz~6U)7qW_lJAgm}eoVSM+xcHVx56wKeeNq*$o2?3+m?T&ags;nwxU~&b z_6JKY1QufR6Lv0G`{D+zi0m2;i9kCUo zG|=pvoPv;@?-Y$vTgxRd+`L~>6*~lYG0-hmyc2vw710tk`SdkN1T8yOsjGQ;d9Tr! zCkG}llkegI?@wX~ojo@UMRL%uKRpzL33^QH|1F-s#f1`?VKXF1GMSs}Ahnqx2 zX~Bl`#C-wcYIo?+B_gCl>g~;FmRXszOh{SH(Qz$gFhm`LbK_0E&6Bmq^L>lHSnyix z*~5-nh!YPPx+DaQTEJRJ^}SaIILQe>cWabyt|f@4G85NV10x4hhm638?j zz@)O*G(DR8NJ6Bi6q1fa{KneOw7O5s#rN6%Ja~I#W$k&sib^0*X@$0fyH^Z4q9M7& zpEK*+D%$EMC0UM$kfzOeF``o=lSAHmzaerMQg%{(m=16lLi(#G58_T$5+&@mV;$Ue_mNK;?bk+l(3u}5!+}& z4dfe_egh1GAb8?M&)2>G+kU$3{!eOlZztpy5*`GP1 z4g3m$*2*>omMkG5nJEcJY)arNO2`TD4$Hxm|NZ-a|Ft2)&-UN{{P*w0uKfSzyJDKjhNh>uo9d>v|KmDmyzPbg zqnI(DJbzRyGIa3lpWFJMzl_e-smX|PBf~Ixy<3>Oaf0LT+x;KEz8(+7T@qU>FMmHJ zQBCYhugITg@V|da>ENcT4v9eh(^|HHE0oAHz^`RF%9~IG);|=bEWPV_XW#wfQ#sz? zXVP{YGTpfyd{O)l8hqY_<#Yo?PAe&s&+ln!%qlfy0cts=L--J=qt(YKq!%@blggnw%YT`>!8e)O(R! zbzLUobY`!!Fn`uLg}!i_|Mrqw$V-a5`KhuotnuAx^N-bcToiv@q0LYIE%+`}2p)Q&_J5{9#SUf&ceia#Q}?hnb6?y3eYaSo~&~Tu;MeSm#G;<{`?CIxN*Z z*L?iQc<$+9GuQ4^N%ot0?MGa51{NyIvfIqH1ck#=CFM-jB+Ymjl_;mY=+5G?Q1^@M10i{9WMU2jd#JJc$!YO{Fg4g_ie5v2_ zVYbLB#s9zjoB#Rk8E~Hd^XvcOyY>G*E)vB5V{7sM(A|~aIL^Rf^fc?`rbTIl?$_cGxpTgc)pQ%lIk(k1c7&mWyPA;t`S2;)uvp(iDwq zcKtic|Ig1W$&QcOyjAP4j$};iX_HKU6sc_g%puHVu-^nIyh>Zus2f!1BL6K?@G>GO z4aZN*T>zwOFWXx*a|XaIdQ5R4|2V$0ZQ~_HBu9AKs@8I0_(PB+Q>bQ5_J6xTHoP8# z?@k%XU19$%gqaEA^TaqbKl?6Qrm;@TXlaDL25fQu{p;@^Imza4w9AD3pRvlQzDk(i zXluG)tKH#Cdaa51>nltC^OpSi9oy>vYlH0np@scFp9uo61Rwo8{NaNrRA3aTXhSqp zM7wQ7qln=VH3>ke`pugMb?E#;>TZ%RHRF-icXYNtx#sy1gb} zCq+}Kmx4AI{pJZs?jD<}t zj1g5(Fq}^)5*#dUO43X32!s>5%3q;x5@Xx4d$sZn(4D;3Fe_2pt>-q%5<($fo@lz)RugXW{LxwL=_0UBoqPZkb13f@y`3d~@OiLwk-eUWYd<5EdM zzDaq@w@>FK_T^Wmb_}|ln8|4v?JCnt?maZT>$TnDLC2A&jI$rUEu_S3m)(_EQ+x)@Y`gx!rZgdPXPdDu~~v_YMf)18AWib6WMvz|9Sa z1{oO{N+&-=yp;Js%t45x5*7<>-bb@c!w7K(nlX-^31EbQ;E5C06IfeQkx%m7+}uu= z#PqB}YXEQjryU5$E^1;28o|Kc=qSho(mKvYZo{ev$^Mbd&SBW~y&gXYW^&#fuwYh- zv_!zlJlz8ll|1R|P(K#D0jSoLpf5tu%Ree*VhuiC2y22sFv^*$hk*eOqUFa|0z-!b z@taKuy8~Wd58HhJJq4g>|6?4cZb_CXn9;V!k1s<@wBn2WsZm1$&p~uem|YEvgs%-9 z2mFtgZL)s+2XF*93cNBE_x*VH8Ohs#gh}6m0IhiZ*z*Aa0d&M|v3+;y**@s3@j@%m zX$1HlPWT(3#s~(csDod48OSGTUI3K3eq7^x4;MKlG8kDKJX2e%et4|OG7S0&t0 zF!=AFPX*T;HHil;GGtJn(xJy5gTXJKo-i#Wx_jJMsdk^)@}4^vuMSvqb5}?xDG|FU z-V3U*+Ia}kY48SYPmMZZ{*OE$y4^1-ubZMn>EMQBuNDr`2+4`yC#EWB~IwcAe7nCjoh7=Asx&HP=Y zB)+rQJWF+%(_PWlKn{LNaH)R1|F3r2i;6KNz%BmP+R~F-PP`l~hOf7(#%=?YTm$pB zpfD+f?SkUsAT;Ly|3)Pxu_qWX;GqzzJTdoyc+Tt!X_FJl5l9$K&CNCNCJG1T%|%c- zEG(=Bvv_IMta(3xMzATyF9VQ%q>Vw+je`;za=jQWRoa133KpX&Z>-4}#+n}mip057d*#2#XxYs zKeG9Qb14AcD5LN)uYFcl1Qgl!PSXkF0*MC~-Zda5#w;qp7F2H1&Ad*e zd;`pYYR0)KNc*m!D;7OoRh1}GfVSD#`TXc;*!$*MSFE52Q8#w{$N{t<8)17wWJZVg zW4#u_H|YFiHKS9Doa6?aukjev$HC=;4StKbKA>IoVO42F&k}&DxDNx+g^G(C=C!)H zxP(Gk+CO-8$Hvrl&KS0&1ujmbUGjCV_L8^Z(3d@ZA5JO(wx*(l4G(JhAJeKFJ}xs9 zlx7s(SmU;;4|PXVgZkr0NbG#jI;VUQ6Nuj=@r@(4k9b?G;(qjslrW&LM_=CPN8yh_ z@56>U?uX(G7?gKEt=-{KuCyXHY$%uZ6RV!KAJ3d!+I+K;POWkOheg4#nw_^+npe|y zY&*P|lu*Ftc*30K*p65A!SYjOvzr-za0$eE?a*;@kZm~StwK2;k*-O4)n<{nuwccm zxbRGBF5;-oDvhqpO_zG#YcHO#y7)diu8lWz=#{+U)@2+${JDXTYH4lf3EynW<7)iKy;z>gv`OXqAYsPxSGu`bWvSj@*x;|>8B_5c!nBq$ z2-e&(&GZ#IEs;c^P1KKu0PF&^0i0th8}a*tRP*t52VSk6J81|90)YbnpB;FHL|dTO z=m|XqG5KukfzliQ3a~=zm>8ge2|W zk(aBGxm96-1Fe+g4W?}25KYKc5GoNrC$y3v#Lyaaz)Xz+C}t^NkTV7`%C)7d1Ung@ z&SGLDMbHt0?bm{fnDyN!>k~0r#deYUw#du78iG1x9fZJyoq@BK?}ugB6}|dG5JvsM zoJ%2YddF;BjM@EgMiZaT+dkhC8Wyo%Lt##7J~24HPgMK%8w16BFqka^XnIgXJ_cxk2AE2sJwXrEBk9WGaTCR=^kBQO z*K0T(0EDgT>8Z?3Oi4j23Jy$1EaYU~oV0O!6&liG4WdB!%%XX8rDpaV+vgkc&38Y2 zItu0$t>@xCj83QrC&TVY_Jzmcx;D618tA=HKa`j`&5j!InNn!5r<*@Kk90-Xz(5lZ zun>OjG3#!Tj00qm0ce20+^EM53Pv9^R&RUe%!8am!F(k*_6QGGXBOUawXJ)3N%v`N z)%PiH`^<)pX{idl}Vyn4`r zOXNC@)E?zV#=Pw0;BsXd=e2y*#p&}q=k*%$ue#XWEoxYN6T0iAMoX$RRh4$ExKALG zo>E$IBU_Ov%ieic-kow=->=-v6V&Hv`L0-E!CscHcYQe0Rwz zZNq9N4sS%}M`ADx5bvCDn)R!`rfhBmk;WkQ34`#m=Y%F2^bIS$2AVa}7L~TCB>KNO z%*_ZK6Jr4(zVm?#H#{EY0gjWD3uO9@58k9)y2J=0yQLItcsNvHn_hZBXbieC%h4G; zo9$!_hT@$eC`!@VPR8~p3N28d3qh0xA39p^k)-7I?b}H=Tq?$aD6nCJOO^{Z262|n z_Q|7#!%3;(Y$hmHcn`zS2Xuz4$9P}HAJTcKkQy!_?*x~_W;~^0jd^13R zX<A z0T3g<+IHhz&~#RC&@Rl6=gZ>!6*;^Lt|qwgxI1*%jFzx8Ml>{veUZ-fVPs@|U=?iW zDJZmID?w2pqsihG(FJ!v{6w*{6U?mUqH@zc;@R8caJGNF+~5}M{Uzt~R?gS&5DElx ztc?r#yA)(&Y?@<+dGgbdBa@^=BbZHMupO|L2qy~X%%2a@&By+yrz|mcTaSq?@|7nz zC^mt6s?p6n+oSEhMKE`F&>a)K5_%)%@}O^Ty|x-L>FoYu&U$jb?e)XJv`|Pb8Q!t9 zJuaF~n=HF#$&zO=JMx03$#J^zc1J$DV6QwKbu&cQg!wFI3?CG2MEFic-oAZxbaeED zhqP0enmHc6EYxgy3s?AM)ib@PAri{$z6(A}O{-_vI#H*hj)_v3NDN}0IjwNMayfdk zr5D)8($dqB99*D;mlb(=dXDBAE5N^n5SJV%k)HWr_tB{@x2LTv7qJy z&BPQ83}R~9FKJ6{SUoTNEkKQF*Xi53~7=-eS^#7?S_~fdPL)?tmw{vtiY);C1WQGlF@F z`vc>-9X9D*8AvHHawr1)N*Z4d{?src^F zI5YW=tBfk0b22@@=+}!x=~`+9gqZTTVqqNzlbVJiY&8&>xWxRuy}V+a?xRCb6^dGJ z6@``@!YG6fev~uBhnO&Oz~v#vuV~gAKl-GOCOFbpih@tO(f*|$pdKU%1h@%M$ARR) zh>B%7%UKB%(*PRbQ!|xM(dGsZlDI0PCO3R@*MK1{-MFowb4WSHX}L+!y3WJ)UudEKMBEPsPgHi0}=;M1JG> z8;gxu{s{`#yt8+ILu(Ej&~Sf$TF-Om9KfTKeAkg{g)XY&dAQCKD?B(%&>^;wkAo^X z7$-VOr@=*~i+nXuQe0e*#NU0Oj+yW^v0xz5V#GvciNL>ze}-vyE~;^00+%o}g9*f` z)|~Ej!zg1wpI{KquTcP3N_{~*yBf4FaLibt*SZ9^Bj|r&rOZr$#23-!WHvZ3P=NUt zL>h-Ok$ALWRe=N&25vv8l~?50;Hc>bRjVH4EutmH$6LXo{iO;+;Ns5&#USNA%E~^RYyg6T zde##X9jrvLKZ#%iW!8aoduz0*TlT=B1jmTYX9oKRrd2RqaXNIU7U`Ss zl1x= zW6@KmFwkkRwTV=@v8Tv}HJ= zDRQD7d6k7%4M(;;i0l$}ayp=+#${&Nl3ReJ2dy^J>BiS#90SD08*G?;pBEO%n#7Ny zsLuYj-Nxe{2SQ&+2osXDWE|+k5}rIpoJgV|t->zY=tpHaMAq;vGlJDKv8zD$o$%(s zo`hvH^U9SgLGkAUy;ThaLROV8NI$M%j(BHR*8ucEw09QXZ$Svc-_eos_rQ2@2P(M8 zs3;j~YP zzbGk)@fEny=6bIpLV99F4sx6P$T(ni3_N!z6d8!cF8LVvbh>(a>UsN$o6BMxLpIt} zvVl?<8pQmHD16G4A15ZR#4$sLHe7D|L^4o3YZ35@ zjEsy9zb});5)Xv+LCxE@<$=FhG=HnI`Nwc0i$OV3WN4)h`&1gxF7Rx8k&t1@v7TCnESO6ceI1hT&zLPzKYemB;K0%&<~6!^$COT~EDMAB z^J<2f{=I%ZS|R5Fm$37`W88PgDBr7Hrj7eqqlHtxQ>ly>&|Yxn%+`i zr$MPf*oSx?7-o4x+Nwx%M0WS?-GyFXog)Od;yBf`6vbew>*~V^z}c!$A&q+=?UHqE zmlg?31+j7|ripxdU(Wq|q4)P2YhUqggX3?q)|kq?)&ZUw;=vY(>%%+WK_$?p0a@PBtFF@C0zl3R1{DW>QZ8$?~58UQ~4!MUE(W5M1OB$ z1I_QkkOQnUIwC~}ANIlVULk<(k_$wW{^~d^F4a3BXW6Bs^AVz+WZ_Ow(FkW*MDq?2 zi;y6Uj}!#bDr7a-eJLeAw=c{~0H!B)xv)YdGY-^+r?Gi!dJD0|)Sb4e{hBv_kOxc* zkJ3-i={oEQ1_?-jESWe}Afo1&Y8eG?%gxI(N)MZN3iRukxC{0j0U}W{NxlO$Edsx> zLxxJsjS$VvV&Co~ndMI_Vn^0!e2PtC|6|WWj)A|{3Ja_8-=T&A?84Tuk!>%}6pP*j z%5vh5h0Q~R5gNAXP4MD$Qk(*CD}!w>x_UjNE+DB=B-O6!?Bqu{4!U(~6#y;|xIm!L zc44!VWMyIDx+l+LwiYoh0y|&GSJ~8DXj=ucDD*raXn(hTLAto0Kz!!c&&BV(&t^~5 zqMENc-Gi!g^A|91RlrD|Ij9h>X9dInv_X0`A?p?_koDBi$XN^(cv-x%;#_l^=ECgw zU5_1LV%}8sSpmouo)oQKzxD*f!g(dsXQo@X?8P2MDgj>$;$HI;33ia!YFLYMpg@;V zRNOdo>o!&dRFVUL!z7?aNjPQgU@Y*cBg=3I>AT|6=dW*Yn^0>)m^Q zKHKLRN?Ge(_kCUGb)Ls@oX1HN^9UnP&r;MD78dmL9nQovHj<7A^w*J-oU|2@@sZDJ zX*895rArPDd@S^{K#8vtMBeI}DT+izWEK$uJOce|`cO3=RE&FHRmDIY9q6X52T=H; z&;}rVG=3HB=nQENcj$;Gb{=%2@}7#!YO#(%5T|zQla9p-?)z|DCD^jHb?SbGOPFneb3WEiAKCBq6p!lLOqfSl<-(NB7I0ubGRsRfD6J+rg3@ZaKk zgw{%n^)dU{LiCo4MwLb`IrKv9T$%uN+g7HHr4K368vScpNT(#5C_OA> zh&3#c?E}p}wBv3U`V2mn`Wz(L8S)}Bgg}521*i#UG#wp6LDQagO&x-10$4g@V{;o2 z(PLQrLQs1?exBs$pxTJZ2sEr{Oj)vStMqj=PY|In_R=w=WW*&2frIokl0y$=Ejd_$ zqjE#vTv0LdRs0=HEs1g;y^g`5q1Vu0*oBq3QTP=GMu-^A!8%RfwtTM(iNR(SYcON4 z3zM~8V~3Cu1M^APFZ0PQ19S zx8X-0U_OW=fF5-%{MhKAu)cvae>*of9WuU`5Xk=oEEI>PP=(!V=(=}MTBII0`9yg~u_4{9)O zDJeGeCvBejJ)AnGA3(*R-0)Wm2(*64#vu82L`6w#its7Qt*n(b*Il82aKdhIOM)l6 zzR|aNgK!_F%X}--S!0(I&IKSC4*u1scZil6Yv@dp(Q;hTW@3ynBo9P9-)mZw&i%%| z#YNT|PTU>U)yh5IK|w*UY=u{ya+LKLXFvu*pi|QHb3%Taeyg-IIbZ=7U<}?SVu=Pv ziZ_7Y8q<}2?gA1=%)Svhu7bmR11|tbC|T3v@tg=k zNTxX2e#3@GWBP^fF0+Pd&Ck!1fu`{Mq^>QVnVMqAyRnwz$(Vh-rdG?LLDDJt zho_6rx{p~Dgd)X(_XXZm9+SHpto723*3VSJ>G?X5M#H507-BrJ4FI0O!^1;%`V}18 zfIn9q>Nscyk_io!pju2(cnMTeVxEN}@}e0%Y?TBFAShG+46xuIPEtN^xspqtiDJ^LyT3?6CfEH0LXn<`{t<@NaZHXX%mXo%V{^RSfo-rm2TY`p47r(@8U z8Dd${q)kd8G;PIW;}L2R`+^C<9Z(kXXWe9ZrK5_K-1<`S-)!LRA=#X6yl3tOmh88d zjBUs`f1>4@jDSHupOtD%YBr3d0Z5eLxCHN`#rBgJBN4g`0Pf)DcNld>mK@^15jVH| zz1Hbiuv73M8JAzj<_{{D!3_%F?v#I2s{B9{vz4sY^S-6*v9-fWU)9y3E0W!y10Wp4_5o`8Q_1wZHr*mwUbL#j0=k5e6<$qA z;a@<9Vc3IjsGCTfAnkEDWagk!c;(8%eY)cCNyYx!vZ)X!v_D|FDl>MHW)c0PSJ>@j zb%(ud#AIJObYTDSV3g;=5+cUIeoMlU%`roLKs?9MMTCxsw3d*|yyjTdlAgZ>NqaGx z;RxygL|@6nLmJ&obXCg)0EvB=y-%iGynRd0ov|Zs&c_n)HfgUz-#9@|m5v|(r}=O& za%VGqmmrU1-@~GaP|FCybiN3(j9W(s39N@3B{1xI=~4wSsQ_FU=*VR_INta!S$2I9 zEW0{g)#+16>DjNj(r^2&X7?UK>MhDbY2mQ*~V@49!yl+F}p8#%3+yAY-U z2#3C#M;fNHow}bdoMeYU8A)q2ZIY@0ObFMUKB@KSoEutgNTG`rO-3ty%(LG{@&yD} zJ&L|4C(Od>xtSuYSKs0j@p)nteSb|GPVc)ofS~+1gPdBR`yy5m35w(a85waRr%KkE zJ{}6{j(%a-(LT5d@33a#G& z#hmEl3uuNsuttY*}xRuFSJCsn$5>yW-6Y1+jd@hG< z;rgoM$ePQr2uKI+nX4gJcQ8EJ($2JQo$jiuSOTz8M^v~Un$a1LY;efs9aB|jHrn(A z`Zk?(*Q77E{48TeZ>zn{yiyT-aY*0XF zrebbn{p~=;x-Z^gB1g2EheRjN?>hUP)8fX0kRao5YVsFzo=x#~6Oa59=w7CO9a^1` z|J+N+b5m#aKjOW;HL6`c-*t|dw{`6g*LNS4N)YWj{;g=$)siZ{m$|n@CR+3CTsE#K zQ+Y6IV`5DDh$I;HqjON9I~ie}Xc&VPs`Ff%=8Taka z91s)RWR!iRA8zl3_uM4{3R~FNh&9n`ob`NjcCgg9vWVgHoSVv|)pOVjA6rU?7A|6L zf(Gt?@R{F~mzN=T^7ZmBQb3*~ArI8;;?FPTs{`9um#rN{?n>gAv`7#-wN_JVVUM}t z&jR~olxt%UznTa-81hEi3&u3A0Z_jA3Y^^z_&cND-xsx__uQ{zI0Dh}b_O#tpFMxx zIO~Q@a~-EB{E!~)kHVyd4;a8liY9@YQ`VxFXPgN=2#F2}0Dh+7=;w~_GwjfTJ}gHy zvMJ;AHX^rqqEzA+y1NJ>kRy-Nf$n# zD?d~~%YyaprfNU>9&_}+wE#&$L8UK?La}R!6DP8XYj^LiC&S0JgaT=Kgh4Fz-b%-~ z)(hX`L^`VoNCKpvJUlDp*P1 z1U+yDrXW+eP3Wep6t$BG^G7AOTFiwN=+R1m31Nqr*j)vq(JB$7Xuninz{gYqz*@dBzuig1#SU>hzENalyoo)AZ!`1 zZcG?#$~P|HN&aGSnGB|S<#d!7cjtEkubx&=o)O;YE@+o7PkS;~F-)!LLqR8q`&vbd6 zt&(S?b8`18wNy};e{!!rV3zeulAmdkA za!|TxM?n32D?!z<*D63xPreJH=s?(nVol=3)R)yrEeT?bBH|TLj_b^ZXdoijiq1Zq zCL6H_T82EkYA3!Sbx#(vVTL1`YnK7_>=-mE*(nDSK8lLBZS_7dhH_>=cKpDg*|Zmf&G$O}vLT)SoO zp)CoY;2VSCC1i}=88UW_43Ys?-tAf_{S#TbKaNZSp`tw)Xfqn1keb7*Pd~yC!)2s7E-%zea;7-VL*>xo$Tav*ob-s&^AE# zN_H4L78uaf8g>~L_6d`}$OIDWaHI*AYfeMRWthQz|4Bd&E!6B@#&m}ga0!-T!A^I6`dqOQ1V_ zUV0qrBN8*N`~%i!XI$YF#&XpJG|_dWXSCm7b|9_gM5P9ftO7;-_`_gz9V3zqR3cC= zsfsw%B)-eS#%2wmG9v4Qhv#b)-l~a0M_IQvEbk)@_UQQqgRl%vku2oyAp;8#U#+$s zLTO*G;3U*R?2`?;Y<=pB({-r0uxhb{-XL<5LY&lhfGJ3P*IanG=Jnh{bF#HTet_N; z9shBoRSIU=-4|uHp3olM=RAAlJG=c2Cc~6<(h^zJ>)#?Wg2Q$zYUwVqqVTsKQ?;SB z2??dtJbt6c;4Zi=|AJm8XUjH=&82D}59b8>o482dUf4TlvIXI~Nid)7Q1(2z~CPjxj z`Z=Z8s1jQSIRKnQ8rN}?>fK`RiA=cLK2-1wD8*3loag>czK_;2-s8a#Wde00`CwHr zMRZqWXYmMyrxHRAN$im^GxQ$>2cXDh^d07<~IM;~08LR45mU#{Gvt>NHb}=@6W~q6)baXLI80SSf>LfCb5C^0gl9fK{ zMGI6fuNJx7SGA~|_c}*}=`!H;sgbbg*1Yfcj1F9fJJcE;nP~V6O2`!Ff zd>CTGK#sjKI|^kmAx(C-0s^#BI1L;79)^{;pYE&c1ZRH+Nv+@SX;i&L)QFox1}Pv% z7t#3@vZj-uiUcgcIr0yj=WrA~v#8@Dm;gREjvyhe*rj2o0~}J$@*At)s|zz=P5-h5 zZ%3S_y2sj)@e_+2l&Yw)KM->=^#z@A<)xZ3)rw_sC1#*qcsw9$IPFmocc}Dc&HU$eq7k6=b2-`@EL6;u4Z3TDfSBg%Q zZW7K{g$aYc>LbvelS~3+FlHUx#wS|lww3-Ot^-gET~)+cUBOA#&6{`2UQ(W*-1UZY z+PlOIW&1=&b+tteL^cKU0wf{S%R)J@E+EJwRvUp~vYhBoDmS=BJx+#8f!|m&bi=@_ z)q7q9Ok&jP29&<5m-E~_eqcozjTqn)tt3)^@UxR zEeiOupFJaH!pK_pdH%K`-oaRlxc@g&Q?2jbIc9F5nQC?6OzQk<=M$zI!nu5cmZq$c z5!p>$b(OLrcnO_b)IGgkZhf^7C+4TUdmQH-#VGlgWo20_Uu)-lU(2~xoqvLR3&jXi zsueTk^;Bo|dCLJaOwFCnci2u4UX+2PY68j)YOf*xtr@^9_`A_zw;@CltQg#B1(pS| z1tu;c=!iaRc?@E0Jk7x--98mH+SV_vubKjaJ{|D$_aF3-MGkt@_vqpHi69Fi4T{s(QCvP}nPz2aWO-+rY z)kMvV!`uhOLCR=W?jlDo(*Mq88AAA zcP7(IQ;VDjmVyrkTJyTH@)*O_&!s-6r(S658Bn(IUS2y6cj9;v1HD9tQ>WSvT@2si0g{CYD4#o>R!&Fw!Ye?-cx!M6{AuRC;!`uyzJ~F!2OA|l??cX+44~hji9~vQ|u`WistK$#i{`? zG%c89(%;k@nNw&P2^j>wm=5E)*t#*Yr4ucYTe!?}ZyQFw( z$9QjNh6T%k6yq$`GL*Y@n$s^!j?@2>QydPzkOWcp`@`qe_DhR*X(gSz4~@X}2S-p7 zY8S1!QMl3ZP)8mc#MC$0%JvD=t$>_dLi)eGsK`(+n?IMm|lT2gm?*J z)vSQ>m^^yq7k|ivS%H{q2&q5y3kd<9Z=9&Y3cU|$;X$v+dTG;%3FHGMlTC@T6jy;D zv_+ik>nAg#A&gU8cMTQXYM9e(rJEkzgPo}aRKV22f=F`+Fag=lVJwf7#ad^fttpav zT6(|Upm4@YJ_Z+kjK?8GGvrgyd~zu%DJd+M#j(0_<&6;gIT>AC2#{97l@Q4(VgV6q zF)`iAvSS}OoN2S1E>KmR9~mH40#U=DiA10ciVH|y)55sP-2<6oX11Q49Rm)M^4wM^ zieXH~cKRnIr#32fTMxvJc)Z}ydg8L;tU;u-i&Z=`^;M*gtK!G;+9k(rfx|6{d+(Yt zdMGP*$#E=RG)!SuY}(P%Jt;PPGjz@+892!UanHF$MDB!{3j_l%MyX7VIL^afy8GV2 zP&5(gquGk+AE7qu0d+#UCO|`yd1Z5RUT{qAM%6(ORs3kugg!0w)N_iMH`MPY#cuK0 zwj(p_Dv%L?yC%~RP^|bNi-&2_>ZX^N#*rh;nyhSTw2a@!WOE+V{pStO)$*>wwoW0- z-oL`g$cT*Ofm_~GYDi?FTUZ#q(l)X(T{G?bGoyRkHYS)x zkGz=G7=G*3#}+Z8rIQC|h(nO2AtQfu>7YyY58%dxoj((7k1Sex+sfdGok;=51edlp z9e9oQjJpqaUQye{MByL5pv9_mc0G?4+a(j_H*eB&G^_PX*QNTdG|1n$+voGRwcVA% zrdy>6fvr8qEWWr?i|enY7>4F+^Y!KdiL)q-_rjq2Z1h}PTN~Lcgs#El4&(tzE%SJGCoc><_t}F!kM2bPr`l+W zBR8DX)bM?yPC5b+z25Qwrf}%tuZUi(aX0m?DIn4JBBk12_yXW zQXS!Wy|Xb@j|uX=bK4Frf5cD>6uKK_HG8T&zuuyC=Zkq6OOBFL_@Hl~x&d^3oNjb+ z8kybC&c%hz#03u1xHExPrd1NZPrHM7r6DNSTaM4?w^2w`WZ=DU&kJW#MN4L^*UTUcdLD6Zw^{N zQy!+Fi_ptKMqX&!N`;UK=_f}8Ue|3tT{ma+&2Y3vWozN~*fblSO=m913@`g>%t1Lk zOdVavHu8^7uj;sG#`>@WG>V+~@|&z;)2ym5`S|qa34&pAC&{Q@Z{K5z0rZ%En2{RB zMR2hK-Os^1uVOs~{v_3D${Tk>Ahhfu&n;FmuTr7qm&lKlVb{W{*(Q5v)!bDLCP1DbrE_4}0dTn(MAk z&&+(uu9JU_x=JT}J0%7K<-SOJva7vtcPm zVYsL$hQEWw-HnHp+J=ic<;kwBU?HksqH{$BB*|L_QjjBOgjYJ{k_%I`mQ;d z6Nxlw)_Ms-)(;N%V;jR(^gR-TPQhxjzwEDlRhp1nr(yEa+(8}A1y6~SL%&Q|tM;1v2&T73M6BHUK8wAz zQK;2M#kl_B;+>M&b@tRBiw74}>NnAZS@@2`-Q(vt{Hd$r%4*ib^H<{-7|$LK=H>hH zlKPKZO>jJ)gBVM2nuGSad%TY|g;M<#5}$_GFHcnV_8E^bJF?P}&6YOiXk3!MOKSIY zf}E68k4uMrs_u=%ZOH@rMc3Dl(t^ru>U#oJR6~S$PUXnUcKZjd%%_O@Q?jJLp{Ls7 zdY)*^x3C0gSlNe0p%CChB2(Ft^~r`%XpXakPA@JM86!lAE!}}eg$IUe7@cQ{sq9Ly z8t$nuFVrf4w5Ni#1$^AwOR@woMXTgED0@kY*xh=j=kmYaYz(O{ZR@x^`PrJw3$1)H z$iG8-#Pe<;Lb5M;1(EJ?xcawP#9rP7)!`?b{cE>MHztd_3b7^C*u`L%p`UVeX628o z(2!UZrS&AI_YV&bH`+Zves@PJtYm@BN7*v`Kx3gEyb_@!4BTkpr#wB{H}OtpE=)3Q5y-+b7Vh3;5k%I2ycbY{@beoz3Y_4~ona=mN_fb)r3tQ7*k^h$3r*@;GN zCDtMYKscft2f#KhOC4%}rui}L4Vl^iNWvy*?YedQ4d*xUYaNAX!NH>#tT_xtqj?6v z!f30gsD#(`Olkc7`IArlN=w^=o-K#0tf=dMSJQyj1e)?!(lHVqUc$2esMd@$Pby6T z&19|F7I%31QiQk|cR>Jc+n#?CW}FSUrCHJM9P2B?7=xix(FG>VlW4!uf+F`5=jVgg zcbmn7etJ1LJac^1TvvAjGK}hpi=W?K=B~`u1rHB6EGz0f4CJ2szfHWs<#AkVCie?2 zB0H+WD#r?~W+C;juNnB|ac8$7IvO-!`XF$$q#_35L+(CS?IP-pOZPSBiu@iNF z^hq6^dmTQDm!XsvXo?YV8vcpyh|W>;?rf2v_$8R^#+=hRKNu32H2c zGa4fqOV@rcxPAL!5RldTGiA_cY9P4DAWgUA=d0BZUeTjG!?UxsPVo!e~*)mHm6K1HPKV#+w{ne z@wU?gE8~9r{8fMK#Mk!1T_WK(Du(LA#@`#Zd`-{k8LUru{%iKjXU79xYU}z#>&5Ml zJ*_!7=Gsx5$vq!1xqS7e{J9<)>-*^xECZ$TH0YR;d{w=?ilMdH6Dc&G{Q=;w+StnF z%d2sOU`2UMH0e#icl_J;PuUs``f0jbB^^i)a|5C;Z(^QUexXYTXd$$C?ou8|Gc&n7 z(Ii;e{?tGW#ks21%wz+^ThW)4pa)4f(BXDO%Y*j`7?hctPZ0L6G5@*s77aI6NWN#M05A|>Nm>DwaePkc3(jSK#O zWIr%93Y~WbIj}j`@{nkNBdW4W=Xo{=*HwF5qF6%em#ttsaU5y^D-2cBFrTo$bgK#w z#~`l3Rl3^}SA#w}wlh_*-;<0Uw`zX+AXD%%G+)x_S#P)qTKr@F*%Z)RRKuJ>^~+4t zeNdc;YZwypv7&$La#eUFoHYLO;n=pYh=>-6{({L4&%j$Mm~v1&NyDBKlUtmS|3P!* zaO!_x5wnjvbsGpf3dMc7Y>DI4!-$6BFGiLvUFy{If@OK^V<9gv+y3je4(d$1qF35u zATi=xUK{0!8r#G`!|qc5n~^WqGhp4ggtK;oP`Ewv)AL6`Wn%vv%vd1_a0WG4GWF$F zg|{Wl9U#?9Xfg4u&3~T|=kev{?sNMi!=j>WuE)lD4D$Evc=8l8f!go zzS3i?_CO$`*|HUDs&qctqGUn+;xs)S4E6mbC5a4BpF0{ZJ*_?8fawOe&AuXc7H^e1 zkJgAitO#v@+nTU6`i6!gElb-n?+hpF4l~^8Zf0a+s%!dHW^F8c^Hs{;;f*_eq=Y|; zMb>(tx6SxrWu_qZXU~1vE-Ec-QI2WI>cIU}935;Fq%P6c*V}mqpg>?3J@?PLZSqmW zznx4?<7nYRdx}1%qr#9GzNj)_I{+Xx6)MUwer+Z6s8lsbE;%k0QCTMRq14AG&8R>N znkjZEr-UbJ4<4<+FkReOAhq`dH{AmKm=4T)2*)};Ydz{233J*#Yk5~>Q_s;+J&fj5 zEYW62=b>HR`JndvFy-XL!8ESOQqdTVglZ?}s)zxtlvmDc48 zZpvEKkIp|(-&LL@saKLpdGU|;pz)Eg8n=$0`$VP|ZMWa@e9%;Im_OocL6MRpMX)cW zVROa>W4Ehcw4VwL+ZO!3UEnPGBcNkis0uq^Jn1S~~~2^c#q-FdkMRLmj{l8baGMhgrVwCCIiFBoVLi?C+Ib+VfaEY8g%GYk4n%Y zL^7Z^B9nXI5>Sr-6?knJOH@1aY&nb&Y@^1-BWuY+hGNc4Cy4)_@0W_!*H^i{YHq4b z91krrpzI0^3fga&j69otc>7lJ$WVw~04Gcm7%ueATkCRAVZ{>Tv*0ddl&=ZJye{-P zO}VzGcy}6P=Ki-9VAn1IC`rIUQBRk?;BxO>Pwq!RP>?RjmhmsQM5MRM7M*8lq zkcy8&bptMjg`M3hD#{XT?@92LJ9q9tYmf+~)etH{4-DJG$+?H}RR1If+U?U=fgu7q zAn!}N&4l^hp3lZWj0^-9L)}ygG%fX5jah5LxEIga6bxDIc?_k)Ae0a-I1XH}|8b}* zV;+R)I-N~>bl>(_?FCn%i5UehGvk)FAD6f#I!@b@k?cP9m63rV7#|9ntU%_7*x1v#vxa)s9mNIc zpN#`XsDwLx5*1W0O82QLx1QMxU;<}g!;TT8iGs_-r)!ZQO}1aWgQV#8zJvIc)Vt8n zlP!po0tQ(LWK<225+J1*Y|TkUr%60w3XrQK*g!h)4r;`@sg0JIlwK6bi$L+T2f75z z!)PWS8czObjy;Yi(TciZ!^Q@gtuR56t64pqFg^_W=oCkM{L@?s(pH5lt;mng>^oo= z4P8m!;Fl-(Axg51-Hel<$jPqIcxDbv$XMl&BI` zkGKfjBpL9k+-TKKG%Uv8U!v9I$EQJRGWzr9dx%kgj9M%^bY6#k4;>M`0B|%jzXYv5 zyxz$Sb}d9m@2T#U6T@vS$&Z{+&qmZ#BFoUhcGm>*z^e>af}VjQ=w#OWE4g0MzAM_ApV2Qx*n3*6aZFilzp0#)3Xbwq`o|E+83buj&oCR z!t793W8uqIk7wS>k0}W}yhd44elKYeKi?z4vjQDK+2c7(WhrnO|871k9b+Oo{y{0R zZ+M_}@SROap}5BB4(*2ThFt7EuPaxyGvWz6L6@BfR%T*i;sBhGU>uB<74gZYd9_G! z925-aIo=L_czgr(N{=(E6}i?Q?J2lcj_uE&pMs3sa|RnUx^)v2v6fh76_mFl#bX*z ztj_3-{r=sIlK=KbI^tT;z`7l#C=byQNG2>GcP)pfy3gWlEXrLM^m1U3jWT9bzDJ&a zd-RQg<>$g2=x|e!qEJ!fRLny$-h%5nm;DLJKqFLB$e>R^Af$_Q(Y_|s_)^j5ls+=U zm-6KHMKmpxKSK8D?(t-$$FbX6y6eN{p^Vsf^&g}?Cs8C2@D0U<9HwI!qJsv6i@DDI zPr0^{;6fdDcE-e?F7;-I22UkiFa?%dwjIR=n?+3S;lAMLu;w%^Xa!)B0pWlV5O@kQ zTym|Dp(>VTcsC02YLqI2)8>tbV zMjHB5pv5M87OY~I&hn+{s~8yIQlEPJ*$LEFy6HwKxS&12s}uuRJ`jx!Dr~+=Tk7pI z@lUUs;?EAeYQhmIF5tYBPoJ>|1s!pmxoyi0A$@3l>CVBH3=#g4tm&qvd%jVi<+fD5 zOc)=NV-xx9+C(-6{N6w6uZ)qps01_h(eZH|Bvs?c*?Zl}Opx1w;1z93JEcc*Y@~8I zXUiE$VS_V{Bp-F$|QzEKab0K)QiJ+l)qFz6-kl`{>PTl;~TfoQ|SN`vX{Mm=GsHFOiHjp4WHt z*QqkQJPy5rq$f`VczOFC&VOC~P(0H3*gK=<(@DYuBllHD_eSc(C){Ay5vFcxx>aNJ zQ}}nW5DWw~IyyQKjzY@M!eCM$Sg+$t1%??E<7E@^5HP7;4JV}z!kMwW=5}S&9eP;9 zm_7N#XJPsn*%n9*ba1G9$t-b0G6gj!zo4KR7Z(>*D=`2kN-xWICq+ZUhs28q1A_Q> z>`*{p*79RyZ3NIxNzv-t70AT~LHz$ytLB1MP4h5F;wJnB?9pL|1lgK(({ zoS=7PBm>bf_paSWJYzJML?EJX53S|_wgF3z?UjtB4nDw;KnpaXlZTa+l@}Ejo_-3< zv|5Z=+pKa1v29Lb4+r*rLw#n|`aFfl5*iI9ju%&XL`Air2`o(*|Lt2KWe^#SU2*T> zLn?}t3lKC5oXUNQDd-x>-&RODez{IMoycMU#Z9s}fHAg4EX(QWy4GR$JA;ZQ4-Q9k z)tG!tPyS&*BRF-)r!%KX>P_#zy)*hYs)M ze*B7={z%zT<~4L#>#i=Lqod2;hfG^AwMhV>AW0yMjfl?B+?B;+3D}HkQZkdq`A8L` zjh`Zd({NY=pdTGA{6!fiKTLO^W0;e^=7s$R@*DD1AP$d+;f_CiLL<_!@D$saCaWgb z&da-%si@elths{9sumsJA&ofW;g3MR@`5k-c>MVl{^K<8V)jQU4|z^tK6FufCit`k zt-$0Q?A_q%6M=Bt{_@aGr! zb^aL>&tVB$;4wgR>Y-pmjJF}T3h55Sdm%j4XEQIL=3Y)!_k`XaJt4!+I7sG^h((^* zxs<#dw<`m=V_mrMETL) z32Pf&a>?LpDduksRc}+~`wfwN}zkNE>YtL(= zPh37|MO6$=cKp+1MF9whP@g};eBccbncm@HA-o*UWDKl*p!Q^rYZG}TI=%$xn-dVh zQ&98^oP2cDn`tHazGhX^Qv+?1Rb7^eW=h(zg?tlVT~GKi)C_sjnCE}K#p3bR`oy1) z{hz;p|MFG+`TYO$dph69o&R%x|MOkDAPg1$`zv4Ss_Eaqr|bIqzxN_tO5ZPedNVDt z3o>W;KNsQq>L&M=E+v>Bje0UTToi;y*#CU7Xwa9@9dH6pGRL*FowJ7dfBuAy&Tr%4 zy)OenLH12DcYW3O|Lc$VqVS=X->W|7H1iox9L}FuRnw9J`PspaHMK_k7Qtk2@89>*!JfX%cj?>p&5rbC zzzFaU(SBjn!yFe^`%x@e{Pv9CLAGnA*USFhavC%*@tHJ1-2Q&BVZYkd4(`Pq00p1*%|4Q~C~b899fubKqS;>n%MF$~;$ zf7z91ZK@TA^mHk`oQKIpQLp@Uk2M+A(=TI`JZ4&HvtQC55jsLo}7{U!X;XxmlOe|_hFa}WOOjsG8w2LCHpLN?p8n}G{`HNQwOGmj`p$u4IKcn@YR3ln`}cGX7qP7V{`&u4R%?> z@mE-*^IL|sd7z8o3eNRICim5LC7G}K`{(~05%1QwW`44nmSbVrus<^JU#FPgpGYow z)l_HM>j}{ZYD)iF$NxED1kE@OA|K6ua7Qrx4$j9Wt3<_rp9U!#;(RaaEXy`b`|~Ec zsbSQAeF{+$QV%h&IS}&i1ck);LrcOlFK;W`+RhhbWr|Pxf3806CpS5i>B}4*o3FY0 z*Pir!b%lG2<{|Sn1I(>ufzA`7Z?ce;|M!>g?7!cHj_&_mSD@bgHj0LL0y2v(x}!x$IxYN%28Phr49v_=N$4%EKrQ>Pc+KxlME!}z$SM?r#xA6 zXX)+g9IrMyk19~#@g!8&yyofr!ZkWMp_L@fOKEKj87{t5#1a`5-ro|Qpe1$tpnN%1 zJW@`tp-*w2NOrLtI3JVaxiqV~`7!s0>H=Y}J69J(pk{jW=8bIasjPF#NIkwv)`Hr4 z?%1QGcLqQB=`4( z;E2}O;b+C^76F@tsAtOq`Xtryy5P&4VcyuWU-On9-wuIw(8yKWMN1jrUYJeT*)o>e~XpLVZE zKcCkIDZNGe*P>N)!JFyJ7_R{KwuBQ-NCJxgFus#J^v2Lb_3g?^u3#S0Lkuaev*im= zE2=2v@9|uQ<+05_`FBNHqCezu)D?=`f_9R~&{eAw7kb?P!$~Nand_pmS$J%H^W&Q| z;UnhzBAxA{H+YO>s!)x$k5w1-?%6NFKAESQ5fL4GIwPf7LM-;Us!Gm4`kmKdQ4hKN zR~MIF^_RalQTD>FQ&B)%nzznu%c!a1TKBlCj**nV~ zq?wc$f}(PN=!&|25I|-49Y`jQgNtr}?(AH)`PTgB`htU)w5fD^OFT-$KFc))1}k^- z^74a}fi6NC)ji>g2oeFDS~OB@^U4w^y$BSJ^??+654ufj2GYX;kpM~`0>LeymGBP` zB}=c}f!hw60F|z4@SKNCBwAy%Xyy-g395_G3g19CymK_f>!9I{NbcbzM%Fhgm=6$( z$w>JP-id()BV-l|Ol=1ThxCpH0KnE!FC!8KLKu%V8GYr1azaZ=-|%pBpDdV}db2xn=iAeP_vG4r9;_erhJFwdg4>`7xP_LMiF#ELOLYCW zaGn4%gtt#ar%_K1Ht-Jqd9kk_l@x#DmM7txp8-<(4_ zKhltN2YOXuWh+dDk7;SbhS!L_2}HZ_`J4}w4+O;J8Nirz3Q&>^sXCBf<6vo2L*%D> zH$t~6bi(W%AKFV>cKgCZ zKQ=DYYkP6I2om@+?J+X0=~&#+cL1H_??hb_3ZS!OqWKhIDeif5U%7V0Px}>b01XT$^yw#gY7Y`XY+ap=?b{)vTA?ZUGz8orc?U-z1JMF*7bP|j-oZn!xnF7U?2 ziNg^pgH46)>X)~%r7;8^P%sS{AB$P-(O(vDc74Uf4D_nRWYoC8seE7o=xdc#jsQq- zEst*(@U%e1hNAiEafFEnzg|XYq{~n2VR7`JN6SS@&AC@@b-e(A7{PZN=Hahp)%l`? z@EjnBfF6BLjIITAx`kp)xLKo>q4v*FO%H#}JOXcw_k;)p<9^P-@;ny0$8b)|z2M;B zfqg&>H=p)8Nx0J#J@<5Q|9Aq0U!8$BHvo0DYn5~|!wvR;16AP0-N0@M%!&%1AhHmQ z?}7RQI>Khqn9rRDv?!SOQPYno6Gmu-#>TgYKW*SuNrp`tyQG6@_~Jo8?SO^^`1ts0 z7UN@MV?pZnu}sn4ks}kfe4j7Y$+bl7hf?lDe9{o|R+!8+ouC6%U4 zux7YtoS!wQtwvOclHZ8#vnEg+!~16$h>I0;Aoo(;VF&OW`-MX~2vGu8T$LF7wRQt5 zYa-|=k($yQ)#vKbmXiXp9j&G1z&52DbK}tCSR%ZIBtUZ)&aJ=QJjakcZqS-7mXSwP zGTJ5Kz$`cWJ$qVQx~qcpt&hV}Sw&^hZfs%#DjYreJB)N)@7gcNZdqOlTIaj7XLSfK z(!L|;&oYEyEtCha=`E_?q3y?*pE6?vC-q0kq=~XqN*FDWINh@^q0i3~iAkdl_K9x$ zp4FBZ>XIQ)QV{o{X5sGRJ&m6w0*0b*2qd30 zw|~6$oQ>AQb#oV$W1rsq@FJAI@NABCW0sH3o7Yc&2rZ^b>NdVk81dAt8+G}8Ea}@V z7YiO`K2IW=Bp%dvTIkqNFL9lCX1wdawE!pTKTC+}F>%bg z@q%PLUwE*|O0P5a5s$K~t^oDSCmoj6e6cR6k7T@x#U+m*Tz?p6AeOa%i z3?iZraP9>_W1gu`^d^)H6JzKrq}_hT{b^P-aaY8Xe(OBZ12u-NP61iRsxpyi19g6Q zPzK`lx~9XInC^U!SOg!EY9!UqZ3&`*;#ixcCIZvDcQZ;Dm;t*3wf^ z@#rfh2M`ovg*aRh@RJaA=3#dujT8+L?YmZDahYCq^Yyqg3p>tTjUK~KRSr5hxn=NKE)^fMKZ2tbg6+6C|94?S24PRBjM!Wy`) z8JOC^GW8L(V&~Xv(Df_f+06~$1e)NbZ(41ze)+9j`g-x3PS?lo-oKWXwb&)=s6@>>^=a5eVUAB9S57vHG z+b}*4{)>MM3!PISMhG72cj8QTmLn7FvOGLKzT= zP6Z(X@8_a1>>eDPaF#-6M0TmP$9OXC{M*B?+p3V%1Tt@76hV9fht9re4W<{5k#;_t zq)B)wB7=mHsWIcHp5M?ctV~QuFlyP~U;7>^CuHrEjF{<V z#|g~$MZmo{F&`djc9U=J<8HVCAd|v!R-JJ*ATf-jF^?3p3*f24Z1iq|P0=Sh zKH1}&Se7!$jlUNXGJb*lOg8WK;j)J3)Vx7Gn%y!{xh+jScH88{BorL0b<^aTGvX|$ z=cq9*GhbNO8hB}4^7Lq{+|H!){-tM)1(i!TH~)roqi}q)#Io@ZgIm-)oi#2MiGOYJ zX@oFpnnjiAw!zz7a?Td~=H)d#o&8UZ#zy@77cN*5Ox662<9C% zmijEJbsM2aQ zpmF9F*0VLbc_AKZ22VDDkS*nxjpObxoPmu{FBxW^4}=bOp7V7D(jp}Xs2H7)`yR<{ zkcaH}z|+EJW7p5T2M?C2P3GYWLjEL;bE7o@ckZ+#D2FyCo!Iuc_8bsv!pLAYi2>N` z_ux#TGzw!u%c6t58JS0p>xchWq*3=>q|F}_)pH&9OOGBXNMiQ1}haQvHA6vq$3K% ze^qDaX-Go@;4ESduM#5Uf`i_8qxK1@9G+XZZ#PDq_U2b6VgTs%`&hVI3tdu8eCAzv zd3gtrF;dWHp;PSEJmgZj_^PRIo(Lm&S{64Wm&}Xt7)-I&hzP^}WZS+Mlp-=M-kR`4 zqGG`vYl29*A_4*`=(cy5Y3oDyI`o1 zb9e+NYF&!C{UwmLR$l!~TcyYSgUZf{g2}Iejv8q%F;UfyT85!A!7 zgxqZ+yaJ!pgzK~)mg&jE^oaoR>%l$9q=)5L2V558mT zPVTU!4Ghoj>HVls-*C2m_Kuz?)txu7Rou3rAabvV#jSHncV9YQ7cy{3nPcH7Cx$&piGCv#|2)OW3)+YbzNA&FvNnO6$Ck|gH) zX5PnG6Je$-WRUe{;1?us>_S~IsLMbJ)Hmh9)}}!E2lD3LxL{g^O)^XXG(((W*N1BR zjhhWB3qTK9JOi+`dZ*)_2nHJhy^xb1Y*A$%@bV(ZF7h$nc@DHeJhqKb@UpLS1yrCs z&{H=+^Eqa%egknfsS@fI8=YYC0M;)Jt>2@G$gBiPx*%cvJq-rNQC~ar9Up%P$bpx{ z1A*hj{>Hv!B0OO{Gy=Y3pMoUvYCIv!MY%Elav4*vQWa~ z39m9K+0Z33JZfEgf8P;Y-FxiwL@aYXcqY7Ui_886t;Y$X-Aow2^ayLkg`fVGGjzL} z$hsk?+f6F_3TZ(R@)b&9j_rH-ia+kr^5{T$C}9l%b--DVc^kFBvNzAi`saNuD6;T09hi>j9MF$?Pw@pToFujC>3ISC*kJ1P&y3DH);aVdjn`gnO2Q4tB3*r}=ACN4pc zyQLhxxdA2?ZcnUquomvfj{bvw>&H+>T!7&6lYA%k0&p`O00`s=)PADoXvult2$c9d z1v(+c(6?AYq6SOVz-MuYj$_Ta?|c!2-B)nj?{$k zP$H>87U|CMT>?#=0#IT}rc7anou|IU^!3Nk1gNO^Ftt!aT#GPO)uBM4Ek}}i1@5QG z*g^tu16VI>n04+Z(F@g&oqHpl1Y4w98AiHXwB+iSezg6$w8m2nIHt; z=bl&+lQ?K5^v`D-;NBB~ypi3k4BSDs%6aGj4f=o-Ds-5P$iS?!yCkJY#YRLP5M6sf zKiq^Gfb+CHk^z!Jk@OvsuL1NjKp$j~XI@8}m|KhUhUl%8X}P>X7#jomRR$7rj<9*n zeDx^FlhDmjQ0%fmuZd$+s`SS7$X>*q@dh4OW zR{$Chk;cN_5u%$!ba;_dn<%F`yvEd%9O7ORaTsdK6dacZ-u*JUtORaiXBU7Z68a*2 z$cMEELWUEN59v8hzYK)evu`&;GlC_MqV_3 zy+RU*4j+0G06 zwkQ9EeGr@{`k+ro{@&G9fd?0+j*ub`;^Dwq(r|)2i%ZTU8Mibf0WvO4QZYe8>5R5c zE7Z}LR`3v$c8J_Y!oI_ZCWkr>P}pLuO_V~$kM@YNmkKC_Ja=;iP21aw=ouI~3L70Nr0!r7 z@NgTnPsk;r#NvnW5k|mO&x2g6hNVBAoF>;KrJ)C2BU;i?fs`$^=Pyc2eI~+u2st5S zu7_*E1PHd1amQrf47BH3L>(0I;6I zV4S*%F(`J}4woUSRK0$E1VQg4E}8`q1u@?mgLs4~uI&&HXU6_|D^`b8nOTymA#9M< z8@_e?2M%e1=koIKe8Upa#wCfS#S)D@!6CFfUY0ja3;?^w3kpDig(hS30`F%yqS3U2 zw5VT4kr#mnT71&0=Djd&Q5z#C(^i^>FiCnRu(Jh#?BR@SLcL)$ztO0rGY(Nn>1XqL zhN6ea>RY?N?uuJ6iTNG-)uW{;SRYMjGPF0;+_L;yPeLfqXH;RIG+MA0%(jvFuYm3w z(zbBfUBPCwgz6vjeZ_vr{1*@pyCUdjza3nhzT2@=)uXMhd9|ga?DW zx||n*azA(IRzSI7fX)6Gn-|`?Qc2wUNMRs`--RZf3F5$n_1lm;52TUsSIB^m;{Md5 zAQ~QLM~B9Hq&JPQ?lF_`fFxK+@|a3zuIuv=a`F<48V%7z-HZl~Pbtj+@5fMMC#WBXey~RyJubrnn3a-uBeg;2j0YOJ}&fS-m}98!0M%9v68k}?bU9_%4gvk#8EfVezDG+gZ|Wi zIzvFEBnsYHQWq_whq}vE`YR^~M=AwNRIT_hbLCh3MS^zrTj5 znB?y%Vb`~`zs2=5mTQVS*keiG)_i04H-)T;CnfTXyN{XkDF25_sncJ(yNJf_Zm?2j ze_Tm%u~XE$%q6k+#uq;pO-iy2EiU%dJ&@Dikv2B{eE&cKPss5A9;d;v>EqLz5|8hG zv?DBvF+SV*{e$bdoI7{aODC@Fd#3-}G@=|Bp8I)kpSL50Z$EzeWFSED1nwcs%o)vBFm_r|W}n}^;{T%V z&Ev6L+qU5=Q6kb{s3b`xQzS|mLdujR^Bj?g43RNWG>{~uC}k*_=P9!#Qien_lPQ&u zIn%ct-Ov3zYd!Dt{qg?ue(!hx*1d)AH_*~u z;uR;3AE^vBUCa3Kvi=ly~=obG2#u*D!rs``05m z?Y1H%+oi916g$QOvUCh}!f^))Vd4%w%*w88+%ljLk- z$?Gh&Ah)Ycg{}b-rDp86+*Ge4JA}i+amGg% zG*r@zd8LfHUSd`-WEEhe=j&M}SgOT)wt<0xSD@dz_1!&~1#nlus89!+NgMr3-1;e) z4F4`XTH0&(75Q2dPDo(Wmmw?t?#pV_pns_-4%-22#&5UxJmr~mA_Q$I&);8>_7xy& zoWc$R%&UuzTM761@OLe9jU>;0Eah3CyO;|&hWr~+h7{|R{5MG3DO5juzJp{meWlueI!qyZQG zhItJwxJgM!SjdqMF-A&$9&K@Z+S%(Io|C81z)wI8MPfuY#yg-OR{)r;g`CL=GAGHo z{s+Hts@KjNUY#2t*ev(Vv*a?TvU;GzwUr)zm{&6~ZctT3QHp9ju-k9h;Sf6sCfwpf z)B%-gpnnJt&0JV_+p!ryEUNBK8;&8=$t^&&YhABu6Q_10s|4jSL?%UqM)^9$hYE4S zh&(vt$&=*oDX&!tRt;Z*sW$7>M^D~c)IT+h{dt7)D~3yFZ#q_yVjaCOmdODxBb4@? zh?r=%#*wZTtX%N5jA@M2q}mDAjYon{@`NPOmQU1u^6PUvwd{tKq&4u=b#OBz1$WuS z_jlJwhZx>e?YHdnzU;Yu>fSU*t@^d*=&DP#+kFmse0hIPKPF*L{{hPj`)m=J(2AkG zv|&$eTHs9(^iHxxOUth3k$+o}p23Umb?13n1{>BLS^9AO;FINF1-D=2yNy(FN980N zNR{?Y1b)fHKskUswJ&W(3%(2H`fpF^eTZb3W$wyB@bml3HrGwDb)cLiEkl80Uv66m z2>@&`md^y=?~wp4Fs*OtzR~NA&`FRo)bPTBkkC>e?%#PS#X8DAp5=R+oh?Dsb&Lri2BJDTUVlhuuU`aAKnBO4G> z^r3cJ^cnDo=@=NA1#&w~bF%sOo|2pjA!=;mn}I|Gr)o12LQRa~AZmF;Aa$JF%q%Qg z{Y)fthC$sFvTAFbsumPe2*&0T;yPXW?z%w@kIaH!z_36AFoq@$XY6}rk|v^sfo60F zuXaij>D8FcU%ZZ93xp+?k$mH44Uq~ws-k0k^Suai4N_$3mzGB$dwC?obBV*HXT^k% z_vPKREE_hcC$0QRKTP^j?cun^3cy;lZfj@1{=9i(Gm<*{#6s+nbra#+*RMaTYRcM= zWjg3SiS_JEza5=XL!t(?wM`*LW7rfW4T~f`p3-DJqpnU@m<(u)^r7&bi9Uv?6QGTO zU&hM=XagzM9et8Z`PNF{YLbMbar}xbx_j;5Y=k%eK<)e-D)e#>DQG!TP{}6Xn-TOJ zDb^(Rx%=W1*b)R2JOg`P<+J+s%&$@&8^KA7jE0Z8H{_jzlH7GDaK>1wE?nvp_?T-0oEb%O0S zJL65@DSggYuMR!A!V7Q;W7|I9W&l`xAzO73$*%@k7|5X^Y#>agIhH@J4j6=>g?p@( zYBVDJ)ts7u3cX@49!B~X`K{f|^|p1es~PwIeF;46@@+Mbq!xVRC5#I~P$1GNye|PY zW`57GA!DnZ2*MuMBxfeChMk}rYLy4X*$Y+&kNo|6w!ZGPb#5dcl`sSEWVvYw=?($a z$d8b_yjkQpEb*R*f6B+3B z3ajNY%I^j6SgerpB z7m)50mXItE{RSM6MS>bsYC=9HaYykqkaWC+@f?-1M@UAt!yyPQU<4n!H|?b}lUvAXe}VOVzV-Xl!6w%Y5y)RC6w8(-FkyxO<@T=VLg zgK9&Ap}%abHOA@E^fYENo_XZ5zK{tOSsD9RQwLXfH>PvP#`5f2DqbAxL)F@{VNvf1&v4B28ANSrX%5c5P;g8?!5ezVEDvGF(bD17mM-(D5 z<!7GXa_*FxV@p&?=cM2A9N)B2p-67L1 zvfYkkZT{zLvhLx_kx=~m8(-9FCBQZ<7;O~|IvzL*1Fua?ZrlS4=*yYJoQY(h@4vBG ziB1@pba?2%h7B7?k}Yx$Rj%el`SsKt({NfFNX!sLzCnb?9J$*OLr`3NN+! zpxx|bp_!vBn1770J>niV`sH&&L#G3cd1y$U0uwFCSvHPcPY1YSQB z&>u|C2=DjUcM6D`^Xu%dzS{rh0vJNTE_Kpvv^_U9-Yf6~@V!r1f+;w3zY@k5>UdGi zl_Gc`i@!Wh>k095>>D?l<(zi`hSNdCltOUw%nfhR1$?sa*x7U)(zzzP3%_{=h%8`9 zgPzf3@Kp$>2Ay|MClxOhj{E5jzhfQx&5p4#YIxRXqNF@YnMjmjfJdF%U!cMv&R;zB z#(rRKXruqHfn*w>R#R}-HUrM%ad&(I9apu~+xwW9-%K}o4jmImA}1ER9;_Eg3S1vW z6jl%W*SU4VsSveZm1#@Hi@q%Ep8$cZ%a43Ne*)CNTuMz&Oa=3R679& zh(FB2TwurhWmo~viC-fz89HJt#+#9A)m-y^?$8}=Q0nr-)5x&D9khO?+c)-oG0#d# z(MgX+>H5Q2AIN_#O&A_8xS~xo-O>gI|LSUtn6C3ytP_?+=m6M~fZNjCmmP>DO01G< zs;e82kFD`pF?5SlXRlhZhbx!>(WUK%%063`rz_EhF*OSJ#Lc7YNby=;qFGf&oOi&T z4G%pK-=#LquKbSAW2d4f->P^$`TE|K5uJ07*RILpsg{dR5=t3iOVpH*z8N>STq1BT zCZVh#{r>z7omwSttM>j4HWGGvCEM#7o^KSl(r9)+QskBB5v18G>XG_o}bocVTM5H9Ia1UUGrH(=ZlOOeC#jcXB9O4luu0(iUKvNdT zE*?!l(ct%=eB)&Bg9Ilg)=q6`yOBd5U~GZrbNJESfaLiZoR%yx6vra1E&_{?gpHba zM<(WonGdFJSmUKRqa#G!51NzYL^mi5+61t|$02l}4kGpr03Gh&+RuC)Ma}e@ge){g zF5s#x#H|!bXn-{)!EAD)=A%KplsefHRkR@yw-Jrz=~qhX7aV8D&Ju{*V&FAeUdBPw zVPkc)qWL+?PQ-YjXl^i~rmpT2u#Bnh<)z%xs{OK2FcNEEIM~tStWRttUYy)2fBd)= zjvz>Lr(DWDY9ghjW8hS%YYEG(xrNC50j>T6@K+)31gN?W?6V^sYKtR0#_yj>>Z5H# z-thW5DV-kYEM1pcAQV6+f@m60Z{7I1l`%h4O|F&*P!d<+4&K zL%hW~w8w_eYlLCMS~L3a*g)|fLpJr2Gm-W8uAq2wl#v5mKxgp25#tV`d`xKWil*j$ zp_`ZoTpu-4AAwu>3P~REXdzD+ap<+?z=1(KSSH<(ka99e zFK;7;8bY2rkyqQSZEPd>%jZ%+>+|D$(Gq67V!hskO^7N_gs-mB$N_=nJ z$m{GvYCvSJm=f?C2rB8Evsm;N7C>t};WWr22>xy&_j&pzpOm*WP}shRux&&=pG43& zoE1|0=BYxQV(FD0A*UkBU|`cERYiWrym8~1SWOc$%|+S4sDC`Ct?(H=Gwf-^w4a;` z7b<(nyKhXo-Z|w}LFmM4fnPrupVVYraKGpmHhMU2HpF1cWBHks$20E&qk*fv3HI40 zBd6*<4YR*ijjTJoYzH<2KYT@yX$+sm`rs&X&y@zvdVr z@3jzfel-5{kNMtjza9@{eNj}J4PznNWm_OBjs=&{c6P#Lp=Tbx?8qcZbXu`(Laq;Y>eKRaGgWdrwMe5iqCyBnU*Tf&PaZyWN|t|YGF){)X+GgBS~uy zWq(BbRpeNMzA?x<2^wh27fN7hWbvwmeI;rYg8yrLr6U6rhYP-^5LP#=a=)?6?&r;f zzTv|Vi;W*n61TOTn|7l`1NzUa3g3am z6aUTNu$wu3h+LOxF~v((R>=l22w}H zN6;nK3v186S5(^1%I&I-#<2)b-$@yN2ZJh~6ne!aNDAC8z*2+6S+e2KLJQB`Y(|E) zxf}BL-$gL{+4-8(SeP5&$moLeOrBB4!rYt~j|E2#UFkyeBZ^aJJ)3_dnr20U3nDD9 z@$^Mh_KEXdAZZc?-8BI_2Qh(D@w|@-R?`F9;yDY&MuPu18zVIy9F=Ox=Z%a2qmDKI zv4o(}keNz=KQZvDt#JUFHZ`kP0OSu~fEdw-02)7yEJbkA_6yer78YkCj)OaQR!CgJ z-iarDHmY3FF65PwYM5zXe2x2B`Fd);T@dLLaxSV<-tIeuXNDU4(Vo!a{aRgw$82o9 zLHnszJ`j9KaL16HkYZF>lV-!FR9kJsgu(10uWMIXTxHFQrK2TY%WY4R{<(uzOI7_b z_i)4QNUqgoj8S$BKFnUbQZ9K(pRpgFkN2ANY?3z031hK2B|a)66tWG+)&3G`*pA=7 zZt^Bw?=XxIQq0DPaSHN0phoIwSmIpNa>&Tsbpby-iB%e5^D{}y+BdYA-^b+v@W zI;l=VA|evuO@oL+{vI(Z358!O&I2}I9_{TC|^qEd(|w|P^U zhGqT@ts4^5iTezMJuI*8kQD9@bs8yi$@0=`KoGm$wg$>Nq|ov)*zBM`1NU`oCVApK z!k1bYjaG{lfL5S5M1FuNkvd?0ehZV;MunBd%*y_imwMbYr%tZqI zB{02ERqDS9k`#hG40t~q?&+d7ZB0q4Mu6>jc~{1T zO9$NU-5!t=6g-KNhPl8KGj3&sBDK5r(-iMNJe=pi@E$(?k7ZiRF*J4q^~$;xGHL3Z z|7snHYWE!kj|uQp3#m1cW_(9=qk&4IwYZ`sIO;yw+d z{I1Wv`+-g+Sl1A%V2j0?Ga=iSubk05sq3oo>XDfI_IEW`-21G~tI}PSj(om#%ckVU z`rs$$wKm<<+}Cx-1gL_^>r8>zN-o`^LN8!3KN!!4kIYnTE_i-+T!UY>bx_ZK96XjW zm%_<6Iw$#`=oaZmR`no~T)-|w>eqk>7K)IK-b`E4syS?6q$GLMEP4c5A}Sz4xYA0Sye(LG={5t7YQk6((g9!yg>>%IHrZn~w;fdIMwqw*e%Cg?u{=)|}TcH2r857>__H_s8)&yr^G%rg1Tj{g>Qc_(>YF}!mvX{`fdE9&& z{BZ-5IQ!XkG0oOEv@eS3dq-`2GxzWqQ&Q3^G&YDSFUflF?VDja^8yeq_TS!v2MMas zgcwE)WnX7!%>0$@7M#m+6F%q`G-odfPUgopTWR7Zi-Mf8h)jx{KkzVmKkkmd7v|9M zS0m2FV;vXNoYphLzsT(v77-}2(qeVJ3?`4&HVJ4my zF@@#O9(&@fwb0(Mv^#(V&t)E&Ec5Ggi?`9FS^Zn=Z1#BRg%Q=us}yZZqJzH~4dxHj<+tTY z8=hFQ&tY@PcDIpqP|l{xU7R{vurz-*fcrx4v=^;U*&akLO?ccuXC}2YYbH5Xx>71N z9Gt%Jr1wvqBTq&BUJEE6v>T7g$&OCQ0FDq%1^vXmbl2oj7=IPQaVzWhemr#U)V_`!@ zm`gajw1B+rQY177_<`#7EE@8SZtj(9VV+FMb#KhGH=CeRMb6)H^k#pO&?m4mh=2qP zHBDffwK+k#ozD8{*yhBs)0c-+Q3}Vq5OF!E(Y)e&(4Zg)xu}f;eJR0ctJD6j0dACEr8=mTCVNh}m&{kHRskes$6?uPgvCZB@J3anVckwqMk=#SebEGQ>w4YBz z{~KNTfoY?8cP6jKlswH9(J{A0}$-!JD_}g zaTpX^x(blyGhA6DK*)d*`;ZXV1bKSYgeNZFb{hMaJvvA`l7`98~LA zo1Ru?@5#yyy_{mO?+$ipDvfO}nkpXBq$2@(P0PL(|8?-JRmZy>W^7G=k!L3n0&u6y2w=xJO zz4nRuFNapugW-*~R0D1peaB6-kRqCS5c@}+yyRqM-_voERu4jPtJbfl?mx%g}a1*YkJ;w4^cD4#O9C!Ze^#C1;x|aWxKfQkCvL>tg zmQBg|ucC6GK2C6w`yKk4(Le?jf=N+}R}vfM&z(CL-t2~@cezaV24N;5DJC6K*m^^c zz_O*W!Z#Bqxrlmc3zz0OjfiHXT1M~PPfp}*GI3^=yPzThXP zkli1=t_u8$kh=40?EXdPRDOQ%tj8NT-IX-V1T|ZUwjX&N*j~p1{WIDI#35XsQ4NH7 zCyUS&Buy6pb{pkNKO8DOl(Kuzo`_^YN&Dmu^#)(h*_TK&-6WSIk*?+wE1BA;k5)++ z?UKbTvnrX)(u#Gw*}nFkHf+r) zlEQ<>lw*){J~Dd<(p!YL)o=$d0Z7{=))9JC6;pUW`%9(b`sGzfadEN1u|Nb^@(hn3 z_d8{_Ch}~6Id))Q_Tx54J8DNIpKRUSj6n!pKR&TEHsC;{p{6EeLDE1aet^KnNEOT* zRFny38V7)Q`7KQ0mn~A%gY&=A=QS9xE<8o6tWOMgW@>f!a%TOh;IF-C< z)%y{(HsaF{MZQmqGObgf42El#!g4$Ql=NcL_i1Dn(y~+TfZT*!(zhB&&`&J=y&NpN&$j1Sb7P$ z7mex-oSwv6G_*gd*g~TY8nEbcS!8Uo{Fb{6*@I<$3i{TYwSBEyT8>EOZ z2ODAu%vVDudjMQx8X9pv3o!LQ_t6}d!`>(D`M5Z7=?XM{9A$VN2+WpV#UaAC35a;G z*6z3fd;WsSMrF?gLA3^IGcYwa%MwDd_;bS`2(u=_XMuanvU4sT#2c992u1)L6U^`5 zK$wnz(I7=6fK2RQ#%6$#Ot@;jhfeEV2#rU->-IT4(t*MEf&Ji zBlwx(;g>lsJWtRJCNyMAG^#E1&z%ZzR5I4{fj4RELclC0W4;$EfIIW7hd_Yx*1ic( zB;kX;ZCL-V7o+sqTIxG}>f~@7(;N1Gxow}4jd3i%%H29FAf3$e--(G*=PMw$zLMmPmcR z=Og1QPYy0Yh<*82>?NAblv5stm+f+J(H%*4-!9yj!RBpo^ypi#LfvEA{KBx3OhV4H zCyuV(j!P6eNSika?d~u$Gph}y_5;WyIoosHmao7=U_H3jqM3K!;R2^{u)e0Lh2z>J z!L!3Z(->&-UwP41|KZHszE3Ur{0j9>ulD-O*JO)N{t7-O`CBvTYTJ_+z;`zfZ2}SJ zE5T#B?=f06ch{|n|NXq|ag&Iba-o;?+dvKTfx~jvp89U7t1P~Lh|ZW>EFalhS$xWG z)Em13?2TOcke!e3kmdJh%~-Y0}7o= zz=*3PbgGE6h>&)`r$p^jc*K0uC2w`?tw8j{&++ZsS6^6bkx4uvEJTB#vYprXkO)M< zg7!SfSizASpUAIiQK+M{kasPv*KQ|H>52|H13Dm2Tm{WVw!|Rn#3hn6PRPDR-F0X3 zAX_he3{~id7im1CEhi?f7MY8|Je^4gSkZ<@mTLvx&77dcx%21015s2*n*_6-cPN5G z*1eo>gC0!1LNFn*nUqp;o$m!_YQBet6J$d^#VwL0v$MHg zaPI8}NA`4RlcM>cTwhQ%IG`N`37t6VSm@1(I0PLJ9;vL zt;&&k_$~Mi6L(KSm`%(oh;emrq)p6S|1g3@KaSe|G$D}Lc^(Rp_wC)lA-TF4d%8Ct zungipuV4;s1CgG)wi9n-GEV^Y)I&q(M;!3}4sJUcxf*D65I1_DfLHh+M{(bgO- zy}3HG5$D%W0XJlR>jZym*nUOX$%CD-I8^t7q6LF=Kzhx;?q=Ve5H(YAdd|vOb^!&f z{NvR93ABA*)Z4258r%NHBm7@=t!Kf#mF@>p|IGy$*F$wbxFFHP*Vh)<|3kuF5H!-- zgnUplvo||DjC34_qkR%kC3*>C4k?d3&?~rZRy;=|yWp<)uJii8@r5*ybQJu^cn8k$ zvSZsRO7P6DLwTH-4U&K_vlq!cnPQHZdbwFsdl&&;!_+jIKq2My`z#Uv4tvZJYU2yU z?r^@EB3E?E2%8k?3*m|pshv};XbUoU;`OSA7>4vx9D?2l!C7OxS>=y{6#C0P7DQ_; z(f8i#)-$ZN^85PeQlHb8%TL38sx&t~sjJ}(l}*af<5#M^oa)w+K!aNCc2NI@xz&Xy`nuQfm3M;8ZQWpemUbH>TuepzFl9S z(et32?bd5v^=HhFUBXn3r>RtL%A?BA$caYPm*6-MHEi+nk~`7c!|mn3K8s7O8I_SYwhNhDLqRk6(M*q@1)ZmN$#Dbu z8Y|rgLbdN?En>QnCaPSnWsXbxMMP@fwjntn`Y5SRqWgVlq&GVri;HkWXNjQeV1km^ zKIl794#$2&phyRnJ#m=NY21CI2|THaH>T3b9c?05ZT#^+#)cv|Cijp@2I%RB9r|y9 z?b6{x2c;IV+ZdicMC4MK$R3XXcma7Yq3uKHpNO<#z&!x*U>NObr`OA{5_yT@#uAkg zQ4cp`rZJkS3TV9(-(E)cLncexaB|nO>hP$5wcerCWc)QJC3t-q#Ob zW;8m*fD)zFGpD;u&BBE&^Pg2jMhVmD4^Vn9;Zdxbw5m3*e;C9;8v7-42|nux>O@*Q6e z)<>lR%6Cr+w4k=%^$IIlYVjvVcR{T!kK^+rIwnqNMkj*alAxcPf*n%pOyuG%SPaf7 zUeQ1E`WT%?+BAt=qN;tl)=}-H>Nc!eVzi@97BO;DlGcEzcpp0x)p-7wJj88~e`Sli zFQNA8OL^HG=i6zU+g{slC@tqvw5_z{BM6NsTP=Zl{Koga3}2RbgmFS&0o2Vco~Wl1 zF7&)K$9e1&*|%gRqDxEWrx1o7vP>YUC}b}NZnuVl7Mb!V82*4?`_$#jnj-K9enaWg zga?Ldq-Z>~hys!@pr>$A z#7lvoFF2VAKYTvgUC_v-1U zkfVQUl4e|zQ>hF&AcoyK!TQ&y@u z{0nah;CQ4fGwtvgu859JV9PQ>II#6m<;0}#aH$z&Hrb$HF!51646N8iSS zP$+{VM?&$Gve7FrN1}mr{sY9Gb@ki*_Q!$i9J+INvVyvj-_W(v5p9jeZ@sr?*;z={tRNg0X z+IMdqE#C$<$^KjsN#>Uepl6M#E)Iz~!B3z5WND0tx{Fw#q0A(@mmwQ3;v5bRy8##t z#Qy;YVKzv0NJbMtxFglLzro%2PI3CDwfI8C;1eUIJ#$za$b*pnRZyMEhthPB!*%-j z?b)h1t^Hu$9V37o_!X`nV(`!jm+U>SX$lTyeM5Dwd=4%^(<+l(o{ z&RD!l!~zVr34mY-DFUJ%Zzk22YZ>N9Bq6QJgWjFzt?rXIwBF4rhWc3cGOr}1EA#0= z5C^3e@B|;)$)sgZ#?KHyRfPHz9y!^Vb5i<+oADMTZh}fc!t3Fy3wgNrgbNMd9&4m{ z7Mjd`qS|eFeqTWceB)>}deH^jyq1OugDHv57aQyaIQ@$=CCkkO3~Z2F_o&1S`6C+p z6T|6X38tX@IgaBbsG?U5R6{Zw0;A0g?JJqdEE0WY+F3$EfI-&53MpVagiC&PaY`HI zZX&Mek9G=d($pcBl(Rcd$)w>*A2+{5nMshpO%ujc&kltQ3JWj1143Nu_$-<~3qxXW zi|@3FTwC}Cz35NHtzW!TrpeM2==d|HP!c*2HM-&N2b-Mc057@ z2N2{pxN8i`6Xj8!jU&ng3|fiDVOs$A6#vOt;xGho98Tf!(3%{_5VhpipEPmzDtd8; zg76{e$Rb^!A312;*5A6V&5K{(Ymdc+E9zlX$t=zBo8l9{-H6w$P(CN%=`XpDj<^w_ zM@c;NQIG5LhpFfP`qT|61tG-X_J2ZGjd%zmh56G4L>jO>CEpXR0Eco!x=j$TcXSv) zo~8z@&5T+4jxX|g;I^c`Au$fF5E^&|dVp;NKSv0j9JVK#XGHyBd{OjvPvd|jlNv$s zm~RRcM$eW|(@_px#^DVp%@|NBp&-2LpHoFXfrFRqS6nUfM-`m$eVz;<8^A>Uh|@b1 zcr3cT81z)wWYi;AjjONibBC%C30V_nP(l?yp{tldsBS8v>pZk}C|#goa1pgD)!$9t_Dy z1mEVf4H_hvMhW0lB-Vad7*5zOiRe$;jwXY!NX|#}bnxVC?$_-AOAn18K^$YRz|w>C zW!Lj)(+%iV;H=aqust#vSO+@d?nJDBi95wB2)!hL*@Vyq#N+Ug@KbyrG}#Eo06K-H zwt>BTvBC9yGu_B)aCG2sWdI%)T|KwDbZg8!fMjSNpA_pCuGDJrg7Ldm;75s0{!cse zkZlBhME9~8bOA#7FxI>X3k)(NHFy&ThY_!w2}WumSA=vGr`CTMt6%LcpNjkUsDThy z+}>brBAO>$W!%ACPc9rm*A_r8 za%=hXoyOMumydR(1@tNebB4tA8BsUm(P`oq5@AtN62Bsu1_k25D}2$+8#B`Z_-uHP z$k-`5U zgMZl2X(P57sQi3Kj_6}iqYJXHx%AIvUadqpICDaA^e^9jyU005)PF$PbbQ=bZhGHq zSB<~mkF{sd37~RGQpeH{AAo-6?Qe_Mr@x^4tKkDTM-r0t(;Q5)2y@BZ^e|NJNUo7&_5Zayyk z-_6Gt{=513*#BZaUjKjYO-k<_Vh;@NqL~#p`nz9t$Vr$&O9#XLukkfSy2|?R6CpCl zM2Hh$jw!pb_6)f&{LTAWO$=AQP>pr?|MHsBUjNE3(?xjZh`t!2plp}gQ%{B|Ja}MM z{B&)~Kiv42F?fY%AfO?z*(wx;0P;An)0EwEd(PvZWC~_+U>)Q2zkNJq84lSzl>upi zP_1CR4VLM@X2HA-?vk9njb#cmr8HX(&E-mF-lGD!5qS|sj`3l0oE>)HRdg8uc}rpMK)L>tU<+Xw6p zy?;g|t#cyfCWl@>u|#|(AVey*65axy<^T1`*Y^A2v8*)YjLBj&X!*B@AE9K zWn3q3kNcg!sw{x%bE}MyL1944&GoB9iUXq7Q~mu-f50w%c1?>=xOL^8ofHd?6}Tc% zrorDLvVXr*A(CW?nNqvJx)Y}f{tn~=HtO43N?Th0z7DQs+{8zpH@Gg5(!G)TdSd2E zW9riX`r;Ixb_|)gT63o1rVtyqtnuGoF$lmb=Cms~|Mq9s{2ye;UisS};9ti^|0_=Y z>y`h@ckMqe|NqnY@xOf~tU8TH)EY5G$pDe%AOBmX`>zw|&kLpXhLg-?fL;)p|M8QQ z|KUgf&xOo?T+08yZvOw>XVL%mjU{V|@@)2BCs+s-i+^0~mA@Yc1|}rLnBOQi_%rlD z>{RMMhCWOqfR2eU-n?$N&cmYcxPkG(zg@wzKT!-r9}cnJDEr%=^UPZ^teIVdp%3Xg zwBFCF4Ju4hmj6EV!JG_zkT$td8orOySE$78;gGoefZa}zt6rKRcrB}xkjI5nVgQb7BT-A`e42mLmxs! z61?Hg_2)w{S>hi=2lx2&nWCX zAtUrZzCwGUpNIDNe|w|<_|LoSG-dzuE3x-uINARB;s5@@0}h+0cmCtD{{2eO@jxGw z|M3;3#_H2d0sqVQ`SXig#Q)EIsgE{aR|IKmYiX@|u0~4{5*A)@uPX7=ggn=Jxe?aeo2HcCxS8J)A8@a4M2 z-P|3;5p|Qr>Z(!fZ(d$rH3I{Kn4vA3H_KpJR-%pnojcGmt)U2Ebm%v6Sc2tU8Rb}7 zoH3U0{JjaKluv%X_>Ym1v*zY;)A>**#wP?Xjey=jRZ!5j?Hdr=(;6Dol!lKVucJWI zs(0_y(A0dMmc~SBfE0ghuI+r6vXYV-teRtn#I$6eGhx1E8H%;Bg*nGt$GEbrn(3fl zW|MFcf`@2#gItpW&!*_4B$W{{366CbN3XZsS%aQy1xQ`vv*TtGuD_@ugu50R$_#z~ z4YWBwUH;5_`xw`zO`FoZwr<@jcjCmve94dRxd5?*goI4)p*oMw%Gz{vs*Cl&eNV5C z2UJ^yzkdHNXKZXdkdq<3($LTl-zHk?jdI9?#jS30*=GzvxMsS2jFKg-RddzT#&|TN zY7Ed`4ER!X#wEMY8AqTMMWM*ak;%oeZ{{`PUJUKXD2e%kO|GGF^u&qPZ{EDgmOO_2 zag2}3o3i0{e`x(qs|c~Gw~>+T5+1WmPQ4! zULMVO{PQ8$g@aT{eYAG)lVaa)7XSMg*&H)eY&+^6+uPj#I6UZ~BKHPbYO3i=hsCf* zU#+3@DOv#!xilcLlv1<^&RSaPBoCdpurNi#h;j`bMtY!|LGBWJ_pSjDwq=G)kT`B% z5l(5Bd)oJquT{^+x+!4Y5x$iwU)wi4_#I(675Ufu{YmuIrBnT;@il70W3Fr#*0-|F z1kQeZ@v6M9TuIo?Chui)%b9^$?I%5-U*(q%Df9mIwM2Yu&CO?^7qrvHCQgAT>;(wn)wZqOo&u zXtdIYDW^ffLD|%S$?7qOxz>7Aghs#~EGn?UZW( zdwNh}H(Nyl=`I6WM4_PUuYlq)%gx9MV^Y4L#g&$wT?vA%&iDCyckfoBC$)kChD%yj zR@3i%n5dLWFE6a5+`4tkW#kf7A)WWpYbf}+z)!Kc^$qX=`s#c=KYkdDq>h8S8T0HJ znN_@5MJ4OV)uz9oWa#bdi)qfm+Wp#+x*dL7_n-=h@60JIWQR@t*!cKa@A-$|TyG@T z1yY%{jqGu*`zC;g6%-UGl=qS18^QWIGtZ9C1p||U#nv-1cL=Srj=9Lx)O}D=?V*$c ztv!3`k};oIXO7KQq=0KF#M)8Fw&PG}JH9mwE*d~^X;#0L)x?j?;%R*LDPIC#l_vd zqO-H;Keh^3m!;s6&{N3cgLPs9+D*W?o2HrG>htsQ(F3t;%zJYG{(1~_IK6Hs7sC!o z$!#sE#wV<-c=-hcgh5#N+}753k|(g_eIx*8gr&^&&#cbw*8%tJmIgA?~UBxT^YfYN-Za1de-T_n>2AJ;a_yqmM zWuVCW=C^%V`0(ch)sl6(=WSWjnAj-nC6De6Y!AOan5ifS1WE{OT5i@FG%ab~*Vf(- z4XsQt090rS`qJ31U*%{;GEa-Z@STPF2!@q^l1YP#zh)#RWdZp4A^R`XZvwaJ?~xIT z)>TniOL`Pczc44-H$7b#r_c@-azXUd#G?W=+k_zPY&v3ELEeuRfR_v4MBeHuebsT~z`r8GBFn ze5qhRWMs}O_ku5L&ZNS1pA+V2i}UFEG5J^WCjJCYopuj~jRyWZuTCg%Z%8sO;Q+tX z_t7KW?CT~l(Y+NIXt5l4`?idm+hP2c_DFi9q`Q{j0at(${JI%8s8-%MAWPT{TR#uL z&Z`$)v?(Dj^{8W9>(TPK1(JQHQUyE6N*+))&7y6))$;OW~PpomD~ z1G;BOM7lUGpH#7WhoSo}r=Dl+Ptz(wYL?{R}5$(heR4HZKGQ z5vAexDjO#|o1JeX-p=n?V`ZM*VPEuK;pV{9TwmoY(@;iy)oRK2)hNq!t-{q@xDD9JvQ}DT@Dk*oyQ0fJv z%lb{0FWyy*iX7%yJbdM8Sox8Daf*p)Nf=v;zN`3xElW*%)SX z0^Xh{D!-lWF3^jPS4po_^HuN>_j<8{QlKwZp~TEwc{o=q$$1rJ;M}319 z$Y}$E0Ki=DMiSwd^R?;KMvR$-LG5)cqnMLhr&6==eABGVK}(Pws&hKyDJUw+3<*%; z1J8{k5-wvDV~=sHvbN8kdtd{-4=penaAqitELUenyQ{z<=@}heNBObb)zzivx$Wna zK{q_Y60$rKj&YSiKYc$uoYu?B3rDH5qay+tUHdY6Dg4x8U>>@-xTHm`P`h>a`3tSOo+w-e?j)&&q0BcY?@6g)WcO3Q^$;3pZqUU>{HlT?CL?k+5R< zNo8(PP&R7{UII66-dsu1r&XnObv&KX!+>C|em?G+-X^t9ursve#pAEVpI?F^ z#G89&w`eNW{d-CjO4K?l-^Jd>JBOpmAU@?TBk(ORTLqclM7jQ5^J z#`1k({`3oMwJm#0(J2eS+@PbJOq_=fv7xUWrvGFw6YUs&Y9*zkqazIlyuO|XE_JcP zT~7uglyT^@WcgVtT3T{HVLa^QjN|whdALh+2?#LY=r9}UIfN1dtVIFJg zw)C&RsF7+^;s4ldw}OK=9JrL?(oyI(#Y-tIEv0}8;d_*`6y0*%VdyRFW_}t{j^YL- zHg`?g1c!zBfmdV#$*O4A&0}0=H#Q3j3g$U|XFTHp$(-9iri)xWm{YoUng9URme8AAOK&v;y}+Mn|?8Z1JP%7(TVc`(Xs zDIwdINe5pu9Tq8Un>VkZ(9zQi!yx0Ys;Y{Lij}BTzGD299OJ{n-Jtpp`EmHDe+zs- z<$c-vnYXu0%o^_%mw)VuO=)dwQ*TyQ-}1S$T_ttF=7B{W z+Bq*AP>2aAp5*YMFc)$UUEaKvFSX{_mXeggTAc<(&P}~nwH}p=&8G~e*)=7}B&VG_ zwl!OTd+M^wY+ZA(<^=C6riwlMFBy;T8;#Og!M$O)#rSYEgIn>=1$Wf5iFuD{M0W5P?`m>2~%C0T&0G7YDXW|pKt%NvOer*PWBb&^(cZ@YGB=>UD-F@ zGcZ7d;)+rVKI4v-@^wMQUj6+F_nyG~`9e^H4m!6~oD5Xp^qmhWA%T}2)cfatir>~;QC-+AA|zz_bw|)~WFx1U8Dwv<7wq1hJ%AWWxdyGh z37GLo^qX3ey#Y^rV9}&@zk93F6f0u|w41Cr`GP`2eL)x~@91DxRaGT10uuLazC-Ya z>Otv3xrTkhSM(|Z6(hu@y~yWW#(Gv@mOI_*)vNC&_U4C{f)|(cAm>5s_*cO*qWl7> zvMD3cM|sMh$4elcD`u29Zs{dwQhSr-(3M=KP_8wM2K8kN&n+yU8y`#+z1=UbUwzi_ zu1T8#tF7nV`(xc!nAc}O*)uu_@WX?}+H?{=G_a5DDRw#{H&7ZQ0tVsj2xxRKpO3y!7JaMhYp^EI+G zIwAiFhR}6LF|xGyRI9ZZaC%)&P8OJl)dStUPDJo`JSuq^nH3aHlrlJuWzL@6k=TVN zxeu<<$^#RaiE<+^@6ecw#6@V`Qx?q-OVe#T4`aejaP}<;_i6sMYuDN#)J7h5qPsSE zd=XP?vKD??w~&C3DIQc5k`Xlc@7zSEn|NZ+o;^S~c5-r3AeK31Z!b(=V1G_uMV(0n z>}{oFO|AX}??>U`rLC=-@!Z~EAFoi@!={=2)8o-ab7AZmOoT6OZf3?FB^M1IWB}N4 z%{Af1d%%*|<6Z={O@T~t70k_h@XM&1|ANx0QYz}{(>lGmt4NgbfGa^2WZJy>Hdq5+ zhligdt6`J!IF!t@8{`$bps1*I6sJ#uk%dn&S}+JH7{$)X$@lhcQ=0F9CCX9Pp}$7E zW{r%l?&j=x*NWH|FHCU)QB`jMorXJxHo(LrHM3XN-74t5tV>?QIIN~2XPc%_yFm zB^QXkDVI64n$wN7EG>CZ#rt8&%W`jkC}l-pU?4CN^|>OZ+NV;UcW~IJTU7%hLyno2 znOT7)&)g*f30NSW&}xd%r7nqlYt^G}+X|p=rX0ns8^=oL^{B-**dZaoZed|T=Hh(& zdSvH~!i3zZ$Kg#AZdi{fg(I6o(NGLV385X%QV?Kj|s;Whl zKF*I>4=EJIek)c2vL{UA{(*tsn0r#?V4B=1`eg%e>G#y!`bJlO_X_btrRq)-TT zD?_sI<;y)-i%oTs1d>5a&U2p;{MlV{4=%N5K>$JCLd(w1ZZ-GvXm$HdACuJE2(#EL z^iZ@unD@}qV#&zJutS=PPcgySne>Zl2)vt%!KNS<(aEI24(JOy%T-A5TZb?&!5&i- ze{|$;BvvBgg0{QtU@~DeJiqgjMDo*d;YG5yt)>_N*H%hx-|C@QDCa^$+f zHkAmIXhUW8q8&$1KVr*`3j4As==V5EXJzl+N(EL8D$4HGY-)-})9YPgPiv_u?EV|o zm;##kT4xq8|JHg@V&~4CpAMg7zH;RXA|Vpf9yq!2UgycM*|A3@oO4D;QE?6ZV@os0 z+#F=mz%xFJ=;F{G04EPKnyuK!pv}^NrbEIRmZ6Ec`L0}|s%ZV}{NwX;P1+M|F0%h|^k}J9h(HBY%ip+<_XS7`Dt9YH0jbcNVcQ9sbQ2%#vOO!{`8n z`abx5!XUB~cBB1mhdyaIJBv{+Gz%O#awNYB#OP|NC0J!NWS&2jJ@0_sotT)|F$A8T zH;ksCE8#qFU=xwN%F=5eEeKwKMn%@hhyz*LfUHR*Nce25f(E5HZGytWR_)ujj}+^j zw19N4<>p?wPBXoFEgJ==Hqho?@JQ(HosgG*o}upc0|YRhc@9AA*ka7PKqJ6oKXR$~`-S)vvLd?>TexUU)mix7a^u*?Mrb$;FHOxks-R&Yk1C=g@p6)ZWhSsEG+D3MFJI zy#N=tSL~eX0WztRZc39_M@Io<3qbNH4ke&)H?fn_c=xcw5Fh?*a@yM3z2U|>I?!jX z^Hur;;xkF})7@umk(kipyINwVr~wlOThU< zE4sRjep>S!QT4ldGt-WdlflP+|?Wh+l6#mw?laO-)sT zlo)?UlL5A2q!hilf@ui8V1K(DA3-u9~ zF-`<*LKqZ~m!Dr&UQUJEbpq)K&P{?Q zg9gTlqzLc-!Kwr$K=^?R8*nI=4o!?h(_@121%Pj!^T-ys?)o7pyz-DbxaOjb&0P@r zNJ1qnydI61wDfct&}&~+&FMcYRPyn^El-KH;nEj<==ELUt*gCU#;GHf5uYDVW;Lzm zOl}Gd)4mcHyc~G{DubElHjlBC17po~$JQ+#VdE6jyoFz`X1$ZZd~RpIri9xhE#=wE zm)hT%S%ENK2bY}@-&T*NEFd6YlkF@UEKZZp!R;*&OfX7g&%1Xc-YP08o3tve9KYCJ zxNsXz7%bq%p1{!vbE>-l(;rA`=WGbZ{%^ckNk!d5@pl#mT3e#D zw`Dx|>Fn%GGG3(F>j40Pq{}Yl!G;q$sX6tPz|ZVe&-8W(1zvnthPt&{^3Bi$vyYqT zoD^hlcNZ2s5H;ygViRzUiGw2$p}!Bw*(}-uAFyh)ZH@Jei~@1gt_aF;_L$p!1z3k} z+Avtl)ipKc084tlevMBLeZhb5;6a3^XTbH*6j0LcIdS4dW`ZkiCbs_kT}({jd{)t5ryl*$&xpLfU@=xlT-cJT1IwP#vsB zrY3a0jvXx=#l#6y0A#Sj=)u+o5@vV#@?W^~XR%z6Ad;sHF<;Z6DqS_TYiO5nBHc%j z6^?xJA4B4__gAaZ> z4pC%|M)O-;pK%!QM(8+W5V}ael@zfk++vcF*5WGjT*kRTw#Hh#^Z&5-=HXbcZP@73 zATp#?8A4GcLy{t7D4NVk=6S4)8B&NyNtq)QDH$@)9#e=0LMWLjm5?bB8bsfD_r7a? zYkhnFwg33`-p8>!-s4zr1D@yi-1jw{*Lj{7fE5;`(k`z7_?JC}Q5(fihqVZI%++-_ z=4t?O)8@Q)du{>#tYe0%tBzcINDc0nm9aytNbp^hB>AvsN0tpTk?HI0ecaX-*_=l9 zYdAeJW;uI+!_NErm;3#S5{Lm*i(VGu5{8yFnMDZJw1H)(26_0nTgV5*4}mPuX1>pq~T$A)8enM!rf z*}0*w=oE97^#B|#)$Yk}>g?=PQc-z~y5z5Q>y~qKa|7Zp7_+((F_z5JZT|t@ca#)K zOMu?b@jKjUwrrqx0Vb2PeGGMEu)qKEPh(@iLG_$chhcmA?&HTRNYk0# z@?9K|C2HMYzN{Xd1?FhvCKhw7x0T&IqRS&&&c1!{tIPf@#(mzKhh?a`-8&_|JsVH5 z5}rI0>6YDWs&*)~^Z45AGUJdMnE;AkxEE*g_0Pe(f{gCPTvKOB(&DSl==*W&z2>(e z_dWDN1w+OUbo)5Q#|0M4qk7$beRt6fI1)wHKv@OwIJ#urMh9gyE_nkn69AABlGg{) zD$h^cR=i+=E|dsqZoPoa^io<{TH9jm&71i;P5?fTz+x5GPUt}4vSPieik|5VgxD2g5<@^mw` z0fn|iW#@eUydK^04z`{=qo_eDX4oFGoB7r$C-^V}G`j_poc^hH9BM47UTth*g2DO~ z2uv)XB<-NLcEPX)UCkvwKMEELDIh4>%0$C-qNcBp6UfLVAY*w?a8_zsTGq_Z&+ibw zKk;DgDbzRJg*FVBW&nV_xvI8|QweFO7JI_9KWCw^@2>RR1N$U~>xUlqzGB+6Zv&!c z-skY7PMA#4NjmlWX$m~8y72AeTi$Y>TMiNdcq4^8x3ZB3lk)Q;CZpOnIVDw~xpj?} zL|&}VoK6+y5Dp+(veO6aRSn)Tuy(IUwCnP+ITY zz^ruHWXqN<>Dk$bU^ds5$aa470HBoepvQh^6;`nQ9EDX)zZHC%CKl$tevLBHB#Jz> zgncaN&&u3J)_^ikUE>eANs&qu;FNCMb4JFLj$im#!T{%*L&)Xo*nRz^Wx*}?wom=# zdl0~0R?G$eAPcN&aXEqJUIOHbnT<0{XV0~eRX>QZsA!H@)H1TI9CZ4Odb)w87S$-m z5Q$k?!3at1^`)v5oTwFGa~L}I;Wbgaraw+<_H{k|IJwQpKx4lD>C2aEf$u*-#Jzz< zbZfcz4{_oHIf8l3jrjN`e{+K7NY`IPek2KoZ+)|^L5y6cKKnO#6MAX>b)jl%FK5_W8!-7*fC~8G)RxMu(PAb?m};v(ovVF)EhA|b@I8&Yt_umxPcSEW2p`UWjnXi zY5?hoe|+jaGXVThMP0|W*#aLYTWMPgLdw-P)(}*R*)yy>ixqm2%U`~I z>#}QG0A|#&cy25-HkOT{!3VlQ{YMvla-!27p>!}}PicXBYu2Wfcr*9f=wIUKU%q>H zGv;wU)_bYw_1095$bJw|_KYzL^u!U7s$ss@o1KbMjGUsxN_C?JWz}C2H@v$5&P(!c#A*tGzWf9=F3>z#D7CUBk;O zDhQK@k`g=*xykXVLEbZLXeUsyc6iY-Mws%F_>KgJPphimTe|-B>-Cr@T}CZQi_@P;=TO9cO-enQEtc@=|gb-OW#?|2i+cPSq@``K;&56YGRt z^O*@)a>sA%Z0>6_`#r!~XqCm!{_^-m#TWfbY+(s;yt3sh3o;aCTXGK6>$)55G&2il zj^Ep>Q*3K>=uC%u4zR^tyR{glg-#gRR05mqS@488m9|stojWi5w`XFaD6m)=6}4VX zUHwLEY#*R3PiR^7}-vF=B$4Jklz(7f!&$$8bxSf5& zU-SX`B@P=Gen2g@0!iC_w{C9LR|tu9-lj~wPGh#0)*pCkDYgKNbXdacBEhq5-7_n8 zVKGB=v>!1;oEOtmKDNd4qw5Yka$ z=i{;E*~T_vpf3h!&A?x_7MwFuT>*qgSu9xfUa;xev%^-DWf7}%#5Zx;zsAePQ%=4+z>!WF*r{~hwt~CxsveJUgkGL4j`TR3jHK2Whf_5X(Q#6jlsd51G+!ciNLzQwi6i-HTW zhN7|}BIWa~+qWBZ4rvEgB(F`J&%55xmr+)Bi>8W%{D2EIpn#nEdKz%lV;FGRJ6dpT zX`Dq6?X37v8S*fEH~jmfzkNLG?*9JWJ3lgPM5TvX)h!_;AVP9eDud}BU@~|G0Hcq9 z*#i;NG#DlvIc>xI&YrS&+f>B3+@nteR=o^bCF(`tY_HwBcGZ9ZgzR<|{=8cO-jMqC z^5uindKHeALgp8*I`s>J^rH3sAMgI_L)#Upc+G2P6}Hv=j$A%)EN53mpm)bQ`yzgi zTP9(V^kS~6nJ+Uv=iVB&t<38*)QUPPJ#_8j4yMLg$1{GM;Vfrfx)+_k`o(&5FIYTQ zJskws49!S&Es=f}SXTTjz-Pi0A2S(!PaDMWfw43~Pk zyHC5Xx5NT%*PN2Fcq6KMiAhq$>P_es&yKbQ?!h4ZFK+H|{JTNGX@m$>0O=<+S`97CLyO%Q zy@Ack2P_}xG+?*G$N>lyP_}`_Wk!HZ*DWy^BGn=eV=;r&h52mbwIK|aC8u904lab_ zQh-$1-7NCC>Pb@*18Q1Stwp^fT@rwJ8QFJHz#6_`FZqO~mMo_z&s^!{B`!PiHTx6W~IzyJ6MZo_@U>-E)ssD@3l7;If-RTBTqNVPXnVNEOiiYlxPPX z?9ib@l!#ozMK~gMgq^`DGgKE(KqL0n-y9`NluXP97M6_ud1M-utTW5ZB|D<0XJ^}m z)*7xKQ_M5|p1oyxf^^ac{EsN z;t^j5)hS`W5@c2?3DY zA&?xFIe6P4qGE6ODKs)HF$WpWdS?d^n=Kt_|A`q{icw$ zCjD$MNJDjq`g*F}cA#30rZ)4^_)QBdtK{Mt@iY+N{zFf4Wr)S3(HwUgHcp2QA1*j7 zYy7DRJt>*GQ$BwDn19X;wwx38UEhp5`dUC3#N&7RWD#*BX=g6(_$We4cA+uMrfycp zV0&a3n3Wh`GUBS@^D_5gj;cI7W|wOqu%Ym4C-koqSj#h1(mz1z15iKOSx@j>5dcN5 z3q|58#92RdY5^=}U;x8rVY5s|JL~!6Vx)D~ss^(McF_!_%Qd2anH5E!f?K{QO)bZ5 zF*(C`CaQC^F9&#C3x+@L(Z0T|`@FIv`)i~t7`2Yt?L>n5Y6Pe z6Vh7W;4!De99F-2Ocv?|o`e*2EZ^i@IoMlU<$yYiyWckqK&ClvJ=K)@ z0sWDHu<(k+pSKzdN=lr*@Z6eE-{|O~Aes2t-yHLM?FA1cMGz<{mkuPl#^dHR=+I~m z!;Rx9NOnByu73d$S0^hqIxK7rXtI~UEO-YCwnG4`kSH#p*-S}Gd(zsPo>$k< zsDoKqyAwA?Q0Nr|ne-d0MQK;A-KXo z5wT1gcOM$ui^}9F3K&ftodDtt@FZQyXV;!RD-z|u&>zSRGB?o)+BVk;t^`gnDO5>k zk3m=eBVTSZqQD1sKP@c~ji41)9vB9c*yM4y>vRlHd*GWKgpo?`V#l{>2O#dCCt&9p zf6HAtG^zO5Ci)W}Y$3y&K@i0cKwcdK57Z4lLk*cJMm0e!69?)VotHyHhRjk^QPGXpZhD$3Hx8) zR$xH2JK{95?^%}G}VeoMod}9n+HY|l<&<2kv%7Kb~3qyrVqT_g7-rnAr z0MMby21G94FbGx)z%X7w{RmzJuO`JP({go5cp*gQV>Jb(jk6dfOCWAHT!{lnYQ${r zJ6gYoGW3V9=+(f7H%-*sQ}8scHO-@OMVc`3tXB`g&2tF#zZ@~vBq zxpx4{>IOM}BZH9o!GiHMHuzJdP=M&zw@E7_^HA^m8jdlI>`*o1BCbAeW@s{H zcy4M{QC4=k^1-{8_6ZSj_kn#AZsGG6FII-vKS7xvo%)9sH0f^+m3Z+m1iEf_SrW)`~Fmq zm!3b;F@N@7}{B62i3M?Zq84L*z%vMWN@OmFKA0j4|YA3lE$ zBLiuSeU(&I4|;k^+cQW*4G`KY3it;^p@^uc6`R8YkyS{6Vd%T4N0Pwzg@qLnF?AQe zf7ycb{BClxIWsEb16mx!DM}4+eOM6tVJJfw3+#JNs^x^f!XOi{%wbQ@a^rPzMjx0NB_{9j<-pLP zQlQnBJk=*P#1WZ3y?H2!p%^$pt-3ZV+JYM~Sl$R6iCx;2&;D|z20$u8jRXZqDCcuM zHKd`r`7nm}fEaq1QqI5iq$M?Q`BY=03gK&W?n8HLDRPT2QjnImV3LF`Xb-qGrjs%E zsG|_@fM>LN~4d+D~X!aGvQDmE}OO2$mu1KjFd)2hZ^O&G^;VF6x7SHU9@u*eM3 z|3EAAlPAh^fFZ!0JP?Qso}uu{TDYQjOI!h=g)HlcUI@B&tp?PgWlDNEdrOq3fY@0f zCQ?!^?SkG8w$Sg8P&7}6Bjk;&I@6(|-|<>aAR~&OPha^PEB- zRmNg6G6WIbufZ*MdBjpnI0nKn{a``~P2fJlJfbe-7ZzG_@4qmwHZ(nrgvW6Z=yY>4 z6962P7ze>5LbQC+G6-;5XHs_^Y3}YF zuQULbfS{CH5+uWuv#y0I8SOK5<+Q$C4lc0M=>sHnH_@vQ_ADJOi(IxR;O4JxhEGT@8! z+Cp`6ySel)#j#Z)%omyZt9>{@7%k15-%%)czau9lYMasGAc`%a(%_H~?VmrOS-Fq$ zmqU;HS$%y`c!u#@d{fzN@poHqP*}G9=rSMaR2R#5RNU@+QeoSgqa(J|V^H0g#F}OQ zGJdc1aI%;3?sUjmYT=rDfzv)ZrMwi%(edHajsgi0((W?c(OV~%I-mEcmTZm5tl3#= zdDou0)gILPZ1p;buc)R87e2kbZ$}dZg;y&-JEER}krEoLP__`zv@tV8CtPK&t5e)@lTOpR_1F>Um+qnOtEFKi`GlOFq%z z5C|2DRobm(^mt_meOdnE^0s>?P?u9EkW$57P-D5T`CQSiarrS+g4xk8P>^m}cU_;o zzPVX_QsohX#XHy)+4MCoO#)W8fSnT9)$LgLsXG~egnGSoq-g#f#-1cSP=*}0NcUSI zy+1>Wq$u@$5kDK>B-sJq9(_(D_2^INDD=nidbxoqD13Iwb-Xk&Zp3oo!i97A8%Ar% z1`dXvPBKNZxgUssR@5c3pBX*W#=3)j>@HG*+SCHw_vIAggP$oxw=VoX11!C=+b3-%*w58H`$6Va#VQ*tM zVh^%UcYUK`xN*S8^mKvpk_fKP9I)x4#jp@O0!36AJ##Fm=DzMVK{dx~WYE&tsq09` zNWnx8FZ;2r;#j=HtJ}csQ~T26L|=Dx1p*+ZG>pGG_FX87g(iSWjZe~n-JQ5Pa4BuMZ&pyhf}MSPJbd6 zwe%DJvxwG;paB=4pn{xsCAwD#8_Zd{#BJYHNZ_EaIl%E8W>_b3!lD;`z_31x(QFD1 z`?`-#x|ctESfo6Pi5h6KTDh6qN3de;G6E){^I)`BaGiz-FH98{exb1zDbGHuQSnD6& z?dIm@jZLofeP#H$HA^_D?}vs`&t{vYjVtc8vpS20~fmg2;q z2A+H;jkS5pJ=-$pJi1YT73Yx+;cmjtyXCp>{fhH{=bO4-lPKa|e?M>M^I};kgQl(^ zQ;vG^2{WdUJ-Ojx3*YtcBzD$6Z4k-uH#>W`^Y^Cm-Fl65X9V(&NV1pdv0Ymo> zV3DulkvrnlUv_-l2gJJs^;~GgxGXFzgi7UL@UNRkle>=Ww6Sn-U__Gy6I>oKu^W?F z;HDt7pPXdT0W@aKHrtq)VCyBz!{aAcjcgxK?~dFBD*N8s-VojrQd8Qodv&-xJ<|Tk z$-E_J2G$^J0t?S?MMkh^TvHtcDz-Nu7FWql=#3E6gK@O-b%}^B9QXEME?JV!hj+RdMu-i$JL+!a$oF*Xcfgz}@qC(3)Uh)N)RG^p&k>D3>NExLzf)Gm&&J?sD zmcX%@B-FHM%T#jkiK+-c#va^nfKhuPD_D1K$fup`6yBMMcIq!CglI{ zr(x)(_7Y;b&_ir!-TOW1M%^d4K%VNTtgNbHX|V!@4KJ>abrmLiO195V(bCeAsXQVl z5+R_F+lqQjPA!+SZZ-$hD=lJMN_OWj9!Wigw>!@)NQh;~_4~`=Aw!d4Kgac%%D3)1 zIu6ZKR=j5(ps07@p2t~}=sgN7RllR3lm!toJSKdPApHP0BtzD09yb=j9$hksJ=@PW zuU2AXZ@s;T7Id`Ja5ThRMmO1Iog!s!$VI7&Oi=I{fm;^@2S;=8?r^JU39t@MC7|{{ z(osY=f4KYN2EGRyitwlFd;tD&vWc1=0-Q?Nm{{aQ5Oc!Mgirt|0-1uNSQ5CIG705s zWo0F)(;y}#91#r9J>Z9W15zE_5JH~yo4wiwj>*`^k%Okp{HsL$&HobI_UYs+HH-Kk z8ab~zDmTXbN(k$Z6uMJ>!f(&{6vvk#anrRU)0&z>W^=i!;}5>O=^jN;%ImEE)%CkH zz~Swc@KV@KnOeXoBEO{MDj2imq&r(<{6K*I=+D9RgYR)1A44v; z7HI+Po)wlBP*QTrF}OmTu=CsI$+0oQA&`=iIxXk21irK-cxVp0F^SM0e3}H?f`!e{ z>k)oy`kRZmqu4+el2XNC*~fcrP1Px(69(P zT8x6V4BB-KxF^B))aI}-nwA7(v_BSL<^t#WfNVOkssVh-FK}Y$Z0!1ASh&26wFgsy ziGfwCR&|%VZO4@UI#SLZne%JFh`C%{Ee{ZIIhu3Ca4@-xMldvc50LjtdHEP?JtDg6 zh*4(mr4?=QCylrHA?jo}zIH@7hjM5TKGVP!$=n1eM?24ZZ+m-th)MGOtZ}+KuF^6w zF}-@^>&v=TY|oyk1(S$BB)R#5lAI9Geh4`LAS?x@z<73-i;DKdr;G2}^|FHF1$tZZ zuB|~>$7l}TdYT)Z92jGE82DqVjQ+I-3TV>2McW1BMODc2+q%8jI(H28672rv#0E=0 z5Cn-j1|*?RJw@9yGc%phkmx>p0Lm8q$mx`6)CXLoM04z0C@InWn+s6#9>;*R{E)H* zAz62>(Z=^g58{)sb1lyt%7I4EIPi^o_5Z2M);V*Xl z+CTqUc1NSv@893;yR|p4e4{zv?^>@W9UT|_z_wn?ElXV3O)enA#xUb{$E!k<9Jepl zW^>vnPNrx9yigv zg~hw#%0#~a&&+f*)0w~k$u^Mr>uGAYlL)yU#HOYq8!u&SRSLtK%JlQ|^Pa3%E%&X% z$9L?Q{Ermm2^nJQ3T@IW7-eK(iyo%Ef^u>u&}Hd@pFD?)1YcQW(3)SO*eY5{=lTKM z4-m*tL*5Ns;x*_m#K#t1tBNRp+A$01z;EB+L&TQ3XCh0wpLdY8afq^HrLUf;=V2uM z0`$;n@TAA(crLXQ>|2jqNeXFJVNi19v_M*>h3`V&Ku9iUksJM=~kY`4&{8^kjlk3h%4>QK+%__#2{D>f%jl4Z{`n3w@X zI@9}M{s?&^s5EkM-kIQA2XAP=!BH+6-?3T!IPB?NPGnXA; zd#dDq|N0u49W6X#BwvCxmBdoZnD%FHD*FZVtg_9~+W zzJkH|x;&ect1oqAe@q&!vbTR|<|dJS?rY`-8uww>xcPgfF^rR4xj{l@!&8$j4SYjZW!P>BZuGWdUIS5i5&irFxw)N`QS3&U*>uewD?jgIL#}eCE+2rv$|12n+3Bb2 z$)oFlo4j)8fj*pjVq}X1JdPHi)wN4qd3t`n6UR%!YxcCKhX;GO*`tdlNTA}1*k{I! zqo`HxIz)_`iJLvzF2NWVbXOW^o1+2)12KNd!j(5ciiM476lzn4J0At;;g`F+`uE8G z-?tqXFubfH;wQ3JK)^i#KOHhe;s7euGc`Jzfpvbz0T?zFEN00q$Sm}~dE+Km^S00? z_^)29Ld!kwvO^Rktv!ap;G)#EHKIltlrl*hN z*}@&07kAJ7(@OjDVh*dgVo~hOa`e%Whki|#)Fu}*-sZ>G<)8-1_7YE)e z46@XZbZ>_>IzoIqUT7`?8k8{_nBCqbi@IfnpY;R=xYGOo`2L+eK{{@)qum`nie`ng zT1ZkMmfToz3p|pXQ0{EK1{_{B5|rgaofFGvK8%jq8gt%A0XYXeA2ttZe1fkrn+W|@ z0~ie}t{OW!bXw)U-9fom9F=uQf2f)LHyF$6zeB zW$RW&d>Uj2ABm$#`y=`^+av)1k%t1+a(kk}3eO7{vS9MPvL@&{>SV)hc;Uhl5_1n0 zhgIW4)PgmRrj6=9l?XUw8WkL+OqDfme_-nQ=1qFi9hHIRyXUW9Ohml4Nd<83Tug(t zQ1tn?`{F=PJB?^dehdzF2i^r0Z*yS#N(Xo&650p^$sF6x0_7J$EyjB@xUJb??>Ov3 z$f6Y?z1(b+upDeE_b&dloy6cB(LQxpV*+d#A#fl;NXCW_vN?q8iXiK>VT}}J?I^ep z!vvE`kK>qZH&AIT6)<<&xcw>abT)Vt&mHy(g8_=8jp8r{&qFV1d#x3G)S-Dp=dVHf zN4?xTV_kXB@QLEPmLIsJg2512iMAM4di`Gf7VOeaq4Zav#ox65qA^r|nqWl@O-_=v z_ADO1S;HFeCcx8%p~gKm{wT6R6J4L%n)Hw&{T=(To1o?1{ycp3Z8d)436I!kV93dO zwa1|ovPi6Um9vtm@S4knB2l2BceuavYM!_>p5SII9#HO__oFG-kB0kB^Q3VM!w11hr^SR;n+W9=mP zbYM_9$S(me$DytcY?imMO$ER;4~eNuLRMSp)Qr z$bpAV4LI>t6iwOBA9-%6Dl?Pcq}~e*JbL45&1Z2kbK6a6K92}H06#a8TG4BW~^tUnv$u$NVE*Dg)uL$Zqj z#CEc#_jdEi1SuCqoX}SYNc@nnV}nj=N}xSPg>8hJkD>`5nIPmTIMlDv`>A@7S52XO zWKbZcA%7o278A~5p~z{Jbu*v_7uq!a z*|*Ne_X(#yk`F(V7>j6AufbEU1FVWdS!ijbu%#vW%8@_5)CX$+SRobbP8+o>Fv-+znoDC40vO%-^gbI;tDpT=-GaRMH@%`9XCJyx&K7rRL z&RMW>9w0P1_*hFo_5y+b*bcIG)p3iy!8Kkr^FD{wQ-n#X&0ST#~P)Kl)yjc)v$fv>nMaQG&mwN>Lmpe*Z=-{_5igP zsR@;t|NKM0-L0d;QGfsKfBvfibM1fq$-8&|@>Qi!{4Vp-L393(Uu(ktyH4QmKa-OB z-}gUW<7jqF9EZPo?ZLy zUH8?0{FOjF-s~DaY3cHmKniXB-hVinALt?1KUIzYM9h>re-t<~(Gd}v{>lElsvs-j z6DyGG>Gu6|ZU6fXx$tumZx#idyL0CbAfgmZrGy0q@hQ>JM%}zge#_bSD%65pfWLpe z>&DMdy(N-u#o&)Ad{a-40g1?9cq=nAuh|M4HvD#13HJgI`@g=faaC;OW{O{YQ9unS z`XPCUXJpq7c1_KE`GUj4d4ID~B(fBF)mS3}f)Zw!nB+EhpL6)vH_|+ZTcRSpU}p{o z8OX+?dmLimagQyYpw#jOKeO~+Hs4W=qc}7+X6M~Q3yIc0p89{jTFgkZUjAj&?c1=( zw_NE1Ra!_r-R1Xn=aR_xbaUHNjbY5t#DtnXxmJJwYGg;8U6Ic`*X?gwQjagPhSl$` zTTGYoWrBSYh0}ywOL%TUg7Dw<3IF*rfy?B1-4V%0QFwDm%xD*^ic=~to0shB4t3nJ z`tq{BzdJ%Cd1qWTc-{*j(co8Vvroyb@fs1IjYs+$uBw<22w$JN;wx$e&kIQ~PEbzV8xt z+HD8__0s%|6#tKH9RK+XXJ`0W|MOQ(?f+^7Py4@`o^$=L3poD&Z$kP1)-x%;iHp2p z)1M4>K+v4zcDjEYf_Hn7YNZ5>J~heD9;DDoHrmSk^TgRO=WJOpDtB-jY{}pVG+AGy4bSuj8M_pgbPX9ul@#OD4|M;N-oay+X@C1Cp zx^e~m6YJeJJu(0I>jOOsWSNP>{e%}UUPNxDZ@dP&+GF#7{EI)9?6l?#{>PaZOB=0s zZ~Rl^{rwOAnd1Ys-w+{rJAG=NZ!Ib$c2Fj4`>W8=}|4XDSxy?;6SngCG(NUN+BK+mFmUooI> zrs8nz#ffqkH@6e1D$!2kg|6$-UIMQXLI)1EF&0N%BHc0IID$R=Fg$`iKg6pU%`s^Z z&cAWjyI+4o8}i{ffUpEuhI>Q|Dtq$A0N!SR3xl4aQ9bqs%0oy_lz$B5si7xE^~Fb4 zh1D(e0lSXAVX?R)&$ztM*m&mrC*r6E6DO5OQd7Nue(i!k&pxk#oe_nL9 z5LOu|r?w4E70uLj!EbBE^7lqlbZ&r$a$j1tTwg4S=LAv)?03Yza$EC~Z*d~}LEWdx z%P2P`N(SqV-h>O-l`I;bIyGYa?J@xvFaigN08q~fPjcRIvrX;CQwcM!V58&Jpy4(_ zH!gVfuYC{T>a%V8c2%MNa(Ah{3vLH!bb8-@)10AqQ)BGM4lB6OwtT#ToxtbeBlQXsd9oA^V~Z>xUszHbj}3gD z_QIF?#-2F7`uU-&=|@~=a%Ge^N5%N{Fdc~$wqT25c}wbzJu z;h9f*r&u=JHT)!2IpgeDHKQpqICAk`LT9<~D2-{@v4iIwZ*^zC96WFi<7u*@jOH~>>~lYL!M_scz|KX9cLmBME`luKF*2qlhKI|jn8Oo{}s2KLYa;LX*< z6q7Cqo5l^$HxK`)z^Fs)@hNHS0zV$iD$-6MtTO|qSS&7B5+#VotA&aFwm)+fJlEK~ z9~ckJ0dOA2?+7A}$uq-j1)wUgiGq4QWiVXgWIbJLSDE^g{eGBs&pvofa1>1U+sQ-) zsEDbCMo;i-)}cbD4eadc_@szNrCj4RARV$Pm#jc`kHd&?yhG1S!e0P8H65<6swLkJ z3{5-Wpykz5P>^NeZp4XM9l6^#40b0K69#31EPQ2I4xU>W$Yy_ll|YnQe9AvTQKN#? zquho;CU&788?yHyViIVBTX8yb}HkfQSP^6ml(e1oN(o*E?Z!f%~K zJE*nDt}YHqr))?VM;4ZAVXGWS;GpyK80=t$xKJC!X5< zR16|I`63Y}hx$y?RMX%k; zw2!rBTL#7(dIZ0%f7G-*_w@WvIuprLOlLhjD;nW%-U}3(ZOT}I zdKFpbuCefCEbAVlcA4(cxbg^&uH_mJF*~aI+9Gp=g{{GGI_=zKFMJEz5Z|{clVJmZ zt70%~7Qq`4ZLd%v>!bl6KfvgBl)z8;q-G)Qvo3cwYkTW4$V4_?M~Z{4znr%A^Gbx6 zAUt%qpA>@x;NZ~6NNlQ|?z5ntgY~6Nk^|n!IBcUh5Or4kQOY3p>)}PgqGFrD3IPy^;ko#5 z7VLmwnVasyWZ5(?T?s7lydMoCX&3HTQ4YK~4wn_qaM({7iWdsndGVP6`N0twB#ndf z0pftr7k$`y-%O1g0<1^y&4JFE8bZFhv!hvbVV8jdrb9x&#Gw4>LZX#G7sj+%R;u0> z2Eh`ZGuDKn+2@7=B5t=$5OQktxINO;=irhRIT(#xyuWnrfCl&u$q;3Y z14`|=>vry3C)844LGlHr2L<|z#W&;b+=ZU&M$SG<%R(xlvt`)UjO-^S<9BVf=45ls67bxv}sz!7=~4ZZ}>f3j^EqcF1@kK}{8 zXfIc_r+dvunXm?*729c2zcqI>@bYw!ddth1s)EMnH(A$Y-Wx0=N84b0XM=A0$lW>? z3F>(fYL;H@=@lE}@7#Z<+BN$*Mrl*^t<3S0!6$Pcrnv6J%37MlzqtS$Z-??~ls(y^ zmiA;G56g4olhxsN2#(=n8q?NU(K}+i=8;aqoxWk8^EHOLUDk!Ur}P~vmSpc`U*I_P zDB`#7?+TU5lP&We6+KA>zuEYeE3%wC)mu}O^o!!8^)yev8+{}j=T z(7x4t62%f3Nc_ZzF9-8MTfo~Sa2ANLj1-z)n3NzJog=ezILZH)!~E00{|ctF9Ux~7 zO-<#YK32acZ-P_SsyhvPi>GwNn_Rf>cmHHDB<@&J+DCT=Mi)j18#-{;4|R^qVH(C0 zBU^24tgSy`t9m2~Pz)a%EH{}U@^*mhiy?^}=3Iy%)wUjA$@~fgM7|6hRlCj*yIY<; z`4*RPi5cX6BZLbCKieAB0Az4$@UtWcX9&DZV;VDgDAkcbmoLHWb28kPCH{Q!sWiAEYW~@8;~!Dtmmt(OhBE^m+L1Omv zFKX|h>4(UKZcK7RM=dRr@WMrldUn8eN5r^nSG~}6JaSS>VHo%TAB!oBCY6AkBrBNqNYUo;h@GOf#T?CP6Yu^l+730{Eh1qetEc{V|VquDP zvU-v_KH%v^xo`bZ3!+K4kk~e|{K6<&0!$9BEH^m8k6~hU0x@I`4rxsw(4a2>XR-s^ z%J0~BJW84YpKu&f~w^06s6b=R}*yQ~39Wkd*xRayOVi=LN|D5@-$5ath&&)cAtOK(<`OWO7%YcsH92(_okI$y+16PC(x?!5 zSI(p7uzz~(uOl8J==Og98re^x9klLa3FqH7xIH9d_Ub;(4=r=xF$$qagv8S@-&`T) z+aMa+PgqExgHS*|TYIo7J+Csq*T-u(#k;Z-UOPV)7Mh+sIT$G+z8@?Z6bwq}V=}=K z1Hs8S^2uSrX?#6KL#|{?jq$zU;G(xYpFlF%wPly!l>2h$an#KU9jY5tY^C|H4i@F@ zIMo+JB(~7qF|qGTymFM5;>@S9O^$NYiA-%>YF`fw?C&$#Nd|;q5Ai9(5T&)iosY|` zsdp$e@q}@Z!SzT>*z`8Ssdr+sEmBQhk8~|E%!BB z^c3^c2Frr#rJJ<&8ID!-7&!Z{E4=d1&tJdNqrhdWCmeeu9i#iwkMr`Ljs`skYQFN9 zd2e9DK3MewhYuu!roHMY*XLSfrr7tl#z{1>=UFr9kvxLaLLMZRo#e7zA9-=xN?UH> zW7ILH-mBS2AS5sGkxf9T^#r=<-zMU!;ZfXh`D+p1_eb?7GcJsrO)vhiLBHQrU!V50 z?!A&-d-{E{>nl>?nq}6Kws8~5u_04zJM<&0=w6t@4@?|h3(B2B^5`ndHH-kXJZ5~T z^b0wBw@{S&UD+QGwr4?5f$nxk@*5klL;f1up#itsfzX;ptbKRdS0zF>JTZ}7zxhJ8 ze*N$@Fwsa;mI=ZLc_U#{KYmcrBohWjB>7QReelQ7feG2A7%I%P&`^QQ_KExV_dqm- zyvn_0F3AN6Z`a`S2BW8Zv^R|$d+|8pScc^(({u8j~=~>bOAr`NVI%I@7|vv zs>fP0o$U#%;j?%Ci6OrZsztypbI>B6@{|X;1LTy*6vB-HS?YyWEoi&yP}Ym@+zDRo zaezS8sdKdnlL#_(du1SdbhzJ-AvICEMP@HVAT^cxgb2vPm+(4Y2Kt1bD2qea-m+$D z_Jtu9=@l_8o5eDko9(+?;=6tCM(bQjKF)r!=(Z3CrBFbm{;9Kf$=80;&Fx>BW=>{k zN8Z+te6pM(#Utb&y%k*XUO1LkFU}hw^2J z%C*zickqfS33d@Y>GSnyHefB9Q$OTx{f-ID`<9a|ax`xYWuwgnOY!>`m~?VAXGJu& z*>frx89k>p^h!58%*HgKf4DYQD>}livt;o4SXYU8bQRejwg`IK4eP31dx5cdH-mPx zA6Z0`&@@0>0pF`fG5kJwj9{VM!hqB@C!_<8e{$f{85W%kg>*VH_3%fmPDn(wRE{+D zcpqRqrQL^zf|i+A*=zRIQMX0ovRAMvnu7(3poE0Z{$F1%|J7g40w0)mw8nsP)O--; zIAq~-_Zj#~T}9|-IdDum+DPMsWHE+If^Iejl$k`7wqr3_>}0VUd?vIY!umKek_JM^ z&zP-xp zOxZ|@m17`Upt-lnDr7_E!x}h4!jyu^Awd|?p4p+*Am`<+*SLss=UP2*Js65x@M;Me zhR^;Q-=is+$ho8?@W0%FE0V^8RE|T9&%X7HKy8H?@M)ZTdPYWVP?2+^ttR>u=RdtV zhyq@?#6>z2N|C{qmqs>OtA;@aB(z+Rh(OnfwU(=eVs^n>q`taPAEf>v{52BaIFMbi zc3+}AE?o4znF9NW!QWF*IkZx@S}1^BWeA=V;MhuNq(izGO2WnQI4U6 z9IT!VtGuX0N&&iSV?%>iYmCox{!%MRpqa=h?0GEf)X@C4-zF*caA_^IYjIlZ=w1hCviYiGlKXH<5PiEXgW&6I4rJ;aZYRo zK{yROv4*ZL$@*6BzG_7*cn9JMoSB9Ia;W8EN=r+tmwwvA>2mZE?dIpMA;7~lNVS2> z*#XvQDoKaf_!mwX(D;H(@aOSnE|boiV6T1SxrS5~IP_}bqRxE?7FCHPy9=Qu;n2aF zBrS0WoRmpnL$UTe&j!2)gehL|X;7{!0Z7}u^VeI41gB!W*hLf}Btjr7porrK?Q9O7#a-^T&7``8 zgkhi8Y&salJMmfJ`8=<$Cvua<`Mc%tHu3>A?GIRY>fshaa2ipCMe@CI?=m4wpu(zQ zqDKO@0fNs#gwh=kBvv?QaZTQ0PmT4lDJS(J49_dzN<+m9K`2v&$n7|?o~p-9=R=^% z$6x$4eUy+4Jsg0n5@Ii)sPXuimM!d9F6WKe;Ij=Y4g*)N%SeChn7*P%z`*mE+( zWh6%(O)R*ISo4*FMuu>m3Fo^|ZT-4+mUmKa?Q^#);pql8F^9SolY)Ma3AmvmLq(B= zeFSBc4intE^>O;TT`)B^uK$e73AZS@-@*)m8{9iM=J(uAX$dWSD^~v5xl*ew=ltW) zanpl3Z@zMWw9{@@zwDhk_QlV-|I*1+K_A#oG> z>ettElAFuaU>%7C$7;|35WDKwh|Gcm}_`q+g7OSNuTm#ks{j?AlUvhLMalTU*Vm0B;Mk? z7d}gylsVUW>_AHhp}lAFsf?FOg>~>!Ftvbt5zVQpsAiN0;iZ2OjLSN-sl3U2E z0lDx7SCN^RhzRq_^HpCSGk5{w0484YAIdFpCxtLDw^s6|QwakzpbUMqGN4Z%pJuTM zoIE3{%q;)iJohz{P;)n15A<5_uJe?+8rWx!#{~*noJ&!fwIeMj+Hu$>JN6VFCdKIS zp{FO&0^n&y1_!H_wEjXIYiw;5HM04H@K5lLpJ=@1P|gU5i)#b(X=3WFa>vx2%UI;&v<_fuDN(%?SX9dM9e=n}g8+65ArG zE+pVIz)C`TdR_6kQK8Q)Uja)gwr+^r5l%}(Gm10ZjxdsLsiTA!@fsGEg_BmB{YG4|Mm3J&Hm>6pNNLMlM+Z%6rUhP-48PeuIpW_-L+bqpuEUKkMypus~A;e}C4 z2iV9EIE|t_?n1N%I{T4pg!<`R?HY&!hP(f zwc~n&D$CB&u$Q+U?NmDVMaUyQyTn~ssZe)}K3Jq$t6^ZWwE9RieG3F15?_XfMl)MN z``zDp2jPpgy@SdRDD17#RaR{ip*5rz5)n~HV=vJwTMgjEQ)3GG7&D7c8EJPT@ev|~ zYooCz^#h3Pz;7+?-V;Up5N+)!)`h=JGPyZMam@oJIc|@)Pn9Mwrw`{eF@z27V8%B4P8dzk9)H9ZccG=u{TYvtgP%zCB*b$2#nDKk=^blIP(gM>0`*bKtCDm9RU|NfDC@ZNOuMWlV%eRspOxO@Xr< z8B*=rdkb4c$mx-GJ%mVdf}9?hdaiQ}5BXr>J9x-cM;q7A-unzg*5l~}?3+a)T!AKp zm`@Oo01P>F0XQMrrhtDiN1wnLm@a3*1J)J* zCMNuC>ic<-r)Qt8KPDhAZwl)jT~gAb2_2RD2lZ7UC?P;<6`VHpB@X2rSTeq=Cv{W01S3u8NRJfMCpk zL+b&x6E1~v+X`k`&Hk*_?^vbU#KcrYLHO)-t^ic?|op@B8t}`VIcXTrmP6{TUIHlXs5MC;`v#b#_ik?CMgfZ{IPOc^*n*exAT7CrUI;-dXgtCn` z7qo5vx^a}xFGy5%A2GZh8XTvyBCAX&2Uux+cF=)Kc z+S*nZQ97yOkYf33Nrf}RSfK}hH{i)b9UK^(u zuYW9f>fk-3ywqpAhc0cnUBGYtNe(zOEG}c*66h;W29KL+LwFb7*Zt6W_cLgnq@{AO z_()izHuCM;QzU4De-D%y+>RDZ)2A3Bu*atvy%Z@?weqc`iC-rN%A_QGkB;@Gg^L)E zES#=Q_BZIP=gZx97NLtgQlz6chZm%AC*c}NhD;-(SC*b5u3dhbEJvaoT=bFFe~gdr zHuEsiF+fp(%1$A;3QS^Ka6lrDI4ak3pA5}3R&lJQLtf~nGz`SP)SM$-}}K8eMFw6s=hI{kxRg_K@{nLk z9>mh94_O;girJ2L9S4JfN5k{dV$Nd(BfbwSduZzIVhezls`1`{Rp~JVuV8~>(|M!g zFM*VkqQhV0l#z=ic8V^O+=YCZjU%n8QP&!dD!Zhd({0^r+@|`xfC&t03;RTKk!GR8 zzl@fQ^oZcEIAX;noFml|vermr&KQK5sp18Roj zJ-$clZ8scZ#v(`(w|lJd1JF}`B5E*aSJD=vhdb@&k8X~R(t6*F89VdAYftfA8RNmL zxqA4E1WEu}R=*RxpD=_B%+^0qQGHwTJ8V>Swa*wVaPv8;omL&>g3cPUMl|RRR@zz6 zg7fN>6fOP!Z40yL(e^?Nm3$g?qEpZsH$w8GgfPV)<50~!0s&VzJVeq^D)w!g&RkPQ zqLN{!dS-{smG!?#V5qgmEa|{!djvx~xtIw}6l4b>_>_ca7Ewdt!iS9Q{sOtTw|*cH z{6S3C4MD-P z#m<$e;rSL&04@Up_>390b$X1%LvJ+0at<-Y8q4V4u6PKO4!J%l-hpo)6z^6^a zpXuiAIUmV7(o*_+MSraRP3()=72i^$2kq@!57ut9kbTeDQg=|qEJOch*z?RKBlXC0 zk^+LGM#f>IhQa+4*YbB-*B;b(u|eeW<+?Rn)+lb>y2T(MZ2ouIjh|GZ+o>q8jL+u@ zrmYVR3*Wr&z^t>&&z6DTY4J=dtU>Pu1zPQ{xax8>PE9ZSR%^HCUNUoW)$OZu6uDtZ zC@Z_E`&nYSeRqdG>ki^V`kVbCnEVoGnmSqw(XXl~E()%n?BYLsxJ`A!1>&f};!YyI z0^C;JlS3w}I6-y869qjil-A}hBO|Ev?ORKTi$@D#d|>Qx8g>n&11TyA%?B%kuq{F~ zt=!S%D;Jch2pc-`cVF}UE=w>|BqsLM3pGv}J}p-ri$t}=iL|uRLh%y!2vpV|fmzq5 zh`i{T#l?%K$r3AlAf(9Y+h$&P{?D5|$!Na)jK;h510eA%00`qudgs=FFob5Gs2)Ec z!n7-wS*QZ^s;$veSaz($eAY0l^%Ww2`rcx=uIe=ERGE_b7eI}z%*;c!hu?$20>$d5 zJ~MQ^e8-jH%+LNYkm%h8NF0b1zH|cTMFaiqMD2T-v7-7*ivbGy-fotqFLWp zG6A+(P&?teyw^Y5fLq{LJPIVM#f+BB2L$=f>VV5e)LD4xZ$HB?If@^h#egyfW;O2& zgp&|L<$ z1iZv3r>4H%uJ8tTT}DkQej`%OIlng4dMRYYfWd-xMjMHOwT|x*?TG)l|KuBa!x)VJ zk}o}bfRqKu{|Wo?mxvKN%G6ZYGWgPq8b|e7ktuLUfU^`GqpmBvE}DXR3B{I*`^+im7l=(dv7|hM z?C!MN7Xm`2UY;Fk)n{RXdE_z7w-xaTNw&pBUI79dPQ$__QO|^$e`Lae#n2SF2O7bL zDznAEXWG`e#?&>qTTWQLN<-0KkOr%m)nqa*1N1N`u=Ls(%q~j0dfrr2K&6R_if@WG zG|Vs5| zh-1EaNq`Jwq?ZqsB=h@9<8%xNhmuAF9W=@&UW^1t7w5|=37*ioT>7?wLX@&5JmTW> zuG#5izVeZ({u8ARigqokGT0Ocg%1}98(~1;MXw(&aP$kywrzv^$G`jZoJfxo78o9t z1&F4UYpzAuoCpneJ17g6CTrDHN-zOJC6ja%BMVY$eB6&UXy;GdW-Xpg0viH5gasRq!U z|LrFx9p38;@L-4po6OC6kg{`4300}C?qJEl`-&3WjBBV@NQZV^G#uhGROpIvB8FE` z$@x|Hwoep1f0P75dNPNu5pzJ)fZVx;s8gRO(>Tkf%qa>}mP^ zPgZ+!bQQ8Fd3da!7u$93u+Pn|MV25==qO2BM#vk|>M0>{sgvk9y(`w|b~vT9>3=3s zC}p?mchBKX^`nm?JKxlw!9p4Hyzf*3+C{2J&sp#`(CE7L$+81VEt-)}#rsi>zyssk z=qQZ2PRDcK7;uR%O*uR}+|poH(M3usR5v(Ff@P0{%zY~8QJo1`UFry%y1h?S^s^Xi zA+Ce>oh3}ZycWfms}L}hU@$dZy7D{ySc=S_IU+~?hGVfym@1^d&fa`c?sDV~rHg9O z^gZ2yetuUdi_MEBD%q{aNLh>t&A+${R=-hE%q$eKa(iPY65QsvjNTPr_L}5EQ!9+A zNi#|)QUoRg!%Z&VYfa)1HsK26qJD+Vf~Dnw{rfLrpcAit-kHF%^GuFMl(a2XS}Pn+ zq@ze&fU|~&=7v1L(ui972_=>cUtar}pBGiqQUzQg6+i$D)EIbUJ7mLWIUf=Y@A$0Wg&9FtvWDbs7Vq}g|K0+41kh`U+89_h{^z9B2UKh@v7uh?04{Ox|0`{ad zCj$T=JTmjzRWQ?I=8A}#kwt@GEpD8H=`VR)=DSpw>#yW|kZ(y>ySP{iYV|h0;$map zknr#nU~YVe4{M;s7sxSuk}lDy?+4zJ)AcL8z5CP~RVex*y?EvcNGxNMIY@uZ0>_CK0Koyc(hzcVL9f5RQl<^-)$cv8 zyOUorRJHfOFVZ}}kMTV=6k=`kb9`=Z_bJRWp9%DWkr-CTdqy<;J+&>0MNL?uLmBZU z`D=d7H{krEqSSVf!9Pp2LYb|V!)(%;8IPOJ(U-1{M)y_K1et7VpFfzYnh|^I_)BE! zYLjfV%P&qb3_wEv3ryGiA~feJgl$EDN#db}x$mKG7Waq|O;_w===V+2ixUu4E<%?< z8blGS_9C)cdt#N0> z8_|yY_TP7y7mkWLqin1E)`4@{oN0L0cC14STJke-pzh|=(g zWp1bCri&qcw+AqaXhum6FOz40^mLN0RWYtIk9hLMp?!{ZAhjC&(~`z4file zOgAhtG8M@DS^uh;4+_f}N009tBMcFR+s#53Q?qv-zggI>t?Q?T3rjqO$k-2Q-U%Cu zIe%jf6>eu*$%2Wj0(c4^e-hV($_BwvO$NDvoHp}MNKSlC+s3!_Szhq+{DdK!zGATF zqem9=ng!h+e6PSCA!Ky2BOA;h!RdXLTd;IbC}b2yX3SNoV2u#;e{812r{yhzUr=P^ zXolD-iWX{DB|6j$pHR!hB1$o+O&E%XH-qTX^R!XJ$MY5nRoS~8y>9s$eROz2x0XMg z+?-$hau(CA!GMcWe$)0mj&nZYUz-$%A4J(d)j1W}bU)pfx521|>*(`5YS%S#av>Z$ zCBihicYpaFP=EYoX8POgLEqApEw_q$UX^rw&zC4`G)wAZr99dE{m92BP({b?R>f_> zfren+rfR2sAn($LSn2g-B#+TRK)X4CEhMSRVBVV!a7LC;`hb>6{c$=0^w@E0>bx&Q z1*m&zuo&@;c|yuLjM$34V&kGo%*?>Jpc#VWU0d(!Yg3>6jxdu70sKMZ)qi(?IVu{nAhAJ04 zh-6^$+LD!)BT8UO`!dyd6dt?GGBEH9jHt7>R`Ig2mCY56^BN7TFR0L>wzDW1RL(Pr z%>p%83qWR2V5ih~nEi-I*;}ZLt}=u_vm9E8pg^6}uC&6RlMXBRy=3|=sPR~W*Hg9; z-Cs5UJKwhCMAL<>|0U} zs^^+VBJ~rL5Vyw|^hFf^D#SPo@Af9cS39YWX`5Tugu`G1Qmn^kp*{Hf0**E@XhHS= z13ozWU3F3AS1v{s4uw{zVa|#OYZ4K17>06}2}ftQmgS$@ncMxf@(>nh7~CsFWDq1N7jYHC-En@NmZOzYi zK#&_Jyz5TQ8ky^O0MKg z5q@da(#hxXW;n!5dSAGfdXd1Vj(_#Y8-H$q&M#Q8^2BWzQ4sfV02(DBzsENlH`AC0*Ob_#*5V8_J{C&cg zFJBZw!e?HkmZx95k=!SvfFUO4ZhLr+ZWuG8tuuLl!!{x)h%=>mNYp|hZ*{;Ml&0-D zAr@)o11ywnn7ULY-*sypwd-+yZ6M5W?fD*t4Np0^xNbHx_5hUgpKKd+pm~iOase^H z!`oYcmeN{L3EAsj74K~^7oQvke~*o))KZo45`^!9LW9>L+}dz|K(#@HeV$%!8@lVQ zyLOSy13`oH>WpM3fZ^4vwFbhD*R9pmF~;$gT1edgV=U2JMU{+$fk2a*9hvzP=8H{8 zSLiKk^fCtFj~o!_vWa+?u>0y{=()kJPxsa1qT#f{X|#eGII2QZoz**{mIubQi0PJ; z(9d#fd_@eqc8%HIG*i6oGaG;})VFGX{d#VMeF5}1O@up%=lcUCN)u}61UQnA%LRrd zu6rt>J-&}Vs)Hmpo+mIcBpap9(%;*=HF0{R-YspLsc1OrK3$^3!p2~Es6e2S^y>Kx z!nJSe>h^guiLKmmL#F1a-A@df2p1PYCIx1HG@CcKAfaLQ|DCR3MJ_)2p9fccrjFQ; z*cEQ^7hqu?{`A~;@5QJWc)w)8i193O_rZhlvd#d0M>HJh%LxC(d-paow!1a8A-IeA zc%SbQDU3wJC4a7*V3CA&a365#7`(4b<}q7Wd`JghoaE%%FKtsAOLs@VY|jzD1zLRl1iZ!r^h7Le`qT zS>6y?pIKwxuvtl5lU`ekF-ulCTq}CXKlX~G;H5j!_Vmg-^czeXGL|gVN|i;L675=* z4}5Xhee%r3ful!tSexWm?9WT)&i)n=J!$X4%q6RyIePH;K8JYJTtMhETdxxl39Do8 zmUP}7gs`0VsGGVaVsq7719S7V+VzJBtr@iqXJ2juSRcu7Si(1O5CSYRz{qSHb?Ohh z`U+tt`aoI56J?jtX|A#PjKes(U!!BJu(>`1NZuhC=-2BG1uny>j|xLg+#YxB2J>dL)x{ZHrOl;zp)@nZROM2FDkNbKC90 z2`5eZ%o#pR)G#$ZZIQqsuqbZ@#tb>eaZA;VXQXvh&?S+|2KUbt(OTM77n7?>@wd?J zOp~gnT^VJ^gH1bmd0d)@+#;syYimD|VYRFR2#M{=ha_~!cnO^$urUwkbc{aIYMt-& z*tX&+vIkuzG%{pWWzq2SA=*wP7pd>9+H~wn{o?)Zudl?-(}4@*`>bQ~(Z7O?S!uwR zdPL*KipJxBMKKv%&wEMcgol6TowWaE`7my2WgcM5G|0p}e0*m~d%HXpz2flgfpz#a z_*w;KLRpwe=$#a0=p%(H_&q4;QUOZJ9%{D<*h0AjBxm=AR%Cl`>vFt76XaLHlsmz% zL=2F6yv5zSc~iuB-;^H)9;bwPW>xZ_KLOVCO9z*}g-i}GvnU;eMXTO@4y1h(&5<#j z5fZ%2I*QbAc#s~^(Z6uvq%eH@Ck-;B@wXJ%n&!?%Vn#{UNn&zmifmE*$E34jjG~0GsOz3XE!AV?fW#@~d+p}3Mf36!f=8QZrV6ufc8@DZz z(N5oNB%d&I23>T1uu|wW7_F^qaY&*Q>M&ny-wt%-szIrql8-8)<(8~ z>=_(6PkSBoEW&ka^F?X@DQ^t*xZbT&^fnm%94I&Wd1AFsvRtFvX62BUj7MC=pKv0- z@O9I?`S26dv`a`AoU(*e`qATk0LY|h-A*Xn_Vo1+RJY$0=8#-(Uy}Y1^MM_y*Fc>z zd8NV6zh}=$V(1C%GjT1e!!h)TPB0?$ZX=uMdiU2iHvpVa9#OUX`OWy%@skNc%qJEW7Z2Q3swWe!k&&fwXUkMCJUP;Z%hse@D9vT}T+_fT+)G*ZCw2xkUpth8 zYD@18r=c-=4Y{+m=|^r#1s(F#he;1bcF&EGmmpKO!}pvFOuT+uTmhUb`jraAK~`%MStS6rE$y}%$R%xwg_ms900qK4sRrD|?-z5CxM4K49XTd7>8E+fq@6lrH}heJ+4VadOBT^K%hxL z=KFjm&VH)Dg4kfdijXrr4I=@6Rm(VBkBo z3kt(SQuYi^HW6I7G5Nw+Oyk6z1jn z(3S#TFu3*eeZ)?A)(FpftdD5ybH2Uu+diao^QKLrjC4%)7l?5>P|fO|6Ur1(TPRZ~ zS(qphmo)bpG(;YLPB;s1+XxrQd*+DFtqHf_)rnk;5L(;gi#f@ zlsV=mr1^9xk#TOeP1?x(V@LhU&s|1}t8N-M?{}Ut^{5){>unXerCoH}y;^9q#JI;%CE%(%$lFH&(n((?@8IgCS=cV6hM_-TRLtj@hN$1HX-DPgS;&Q;^)xa5ukH{ zquD!Cf?IKcf4uZ`KW@lnD$hwfa0C zt8|6j6X+ndI%d#L$<`cQm5*N8<992-c9YJM;G$g%^sO3JLrMTfec>146lgu1%VtVj8k zbP#gPpd=vCHs^Y4_hbe+FnF3!&D_v5u%E*qDahX+I=wg`-;)x@^NB|%N1sm9GUlh6 z9aqtmqks=QmF=G#hr;Fbon`a^c4}(ZfI$<&1xHY_04pyStWF8X2ulsQU+O09t177v zm*zwNLkR2~zuOb?U%q|&cD3hL-aTg=mN8)y7HkrQ#8^eg+14GEg~-==>#HPTFPh4V z`D7DbW1Yy>83gG@=FIyn1BWo{HD~&bT0(ylxx<2QGI((Ib6sl-h!fIBHmh0k#x%8mUW}&-yMM#2q(io4wdm%RmBZ~ipES%xww;|0e0E% zcH@%w>@Vq=8$v;8S@>82wT4jfv_B)iYM0$5&O6;7nKS9~aK5I2vGL$92`vso71M9v zNIr$-ZO*Y~!5e4qx4=LeUmn4{ve8sZE{ZG^aen4f+;#P5OZ__v=r|J$6H3_Ke zBp;cgr&;rL`4%(+rwfBX8XI@j$*Xj`EIB?#bF!)-;&S9;SB8gzsiWyvsqX*C7Lk>> znmz0mRQ0M)KH+CUvXA;9YK3QCmxaUPPI6gi?_s-a9eZJD_T>EG@!Da^!R)e-RDVJrwDLqXQ$Xp^t0cAl9{;$2t5dID*VY*O!>#OK+3Hv>9DLc;gF zAnUJKdfS;y#aLZFqdw5|5dh~7o&5r;@;~(8`Jl%%A?&`G%|N}*$FtJC0+>*9IRf*i zA)t88U?p($t<_B{7)oXzy-kc+NP7xWPYWVk687wvLfAwuJZus8p*IEM3mJqd6rlvp zL5tQDb8@ZkDwc=9PKJnc!?+~MT@1pBZWOq%oNV>xC*&{^l(uRV%ZH@`w8$aowPQnPn!U|C7~D} z#;+q!nfNsmP?MCWP_6;<0F7hQAA5lCH$W^I)){Oa0BTE~({$O|UBso6961qUsIdAd zFnN3 zF%)3!iFHa}tQ#bs18CF%ih_sv8Sm2e)A>V57#@J-Lzo^YD3XXOmR=c!{>*~wm(kqL zG~iiG)Z0EVX5IobbopW zM|x)d^*+h(Fc+%0P#-OHMjG6m-qoFi`bBUa%&%c6Dy^bv=|*V3Z7`tFdtqLLV`k3>;*&zQvYKPbS6HtW4!%98b2f0+oF9UV<+O-;#IMMAoW zh8dtK+Fynv>VfeDHA7tdfb&eIWm-2!v)7n+0-e~hVKztaC&*?mfKZ(Uc1|>{1oTGP zfpu1wb*`KM1m1K|y^}2vXOb2jri~}q6(p?~=7yQ=Y_~yU401X*L=Zsv_ zBbI?PS?PA`Az|X+te;l0KI5=~=`+~)-ukjP?z_1qAyM^-u`8Y~vAN(?^FBkj0rs<4 z9;q$a4~vM;m|2pc4eW=8aGLoW*kU~_f6`4sr#hGrZq7R)3O|k}h>Fk7|~<_Af>lw1h{B`Qd;M1`ndo&cbf zS<=ZSY{g98QEY8#?4~HC6sqIWKc`g37EHD?#yw}`9Ktv)^=nXqQsHFVL=&}e?R8-u zffQZaz()&r7slS4w>36f5#BXbzS7BhE5D4N zTN^B|HzfZ1=8rAuV>d+IcdLq9scipXArbdk#os9VZZqL`;O~}p@}53EY$W2 zWTpf>-*dziU`B`YtQN_S#M^|h?cv5FTXTaGtF97At*{sfO*CP>VX%2KgC4w$u@(?b zlt;$eh_M31sXb$R`o^M(B{+d8@h6v&d5OA6pVNj6TpL`Lv%W;DFjo5POu_Vn2gNzi zux1RHnxKItv8e1Rnvh|XK=$H}5g{Q1ndO1Gxf-d;Ju~Hew`(R<4M0*uY%9H#B+q-TJu~Y+WtWFiO6L*csm$Av4H9)r#L@`cBu&*S6$6-pn5Sf zNz}B$8^XJx*vybY?kIMf8!=V7kuDrLr@5u zG2nGXhR?$d{stormoaR>WagQi0s6Ir7y&|kZcX&wL=%AQ$Orl~()1xg7EC0M!%acc zZ&bon7b=8llNIhh6*(LGD=~Q#PFFyR=l`_(%YVgSA=p2V>_V7+=*f{KvHk20ikC@2vAi(M`i6E~GWVO6C!u&CF#f>xyNoFg83Ph(F(S18WQuwb#u19#FZ9SG z1DlH*L67)`L9`HuRqDWY(ZjVSzHUSA#&DxP#msJ~N%l`z1RvR~vqTHB+e?tIVP~^Z zgb+TyGR&;}K+|X!R7jK|RumXqU=@v_*F2fu%x#02_=snO&}}U!{|hiBB@>y7w{H`1 zT8K&nshAwnzW)AXoXUcU${l}vv;eIa5K$pkFz9I{wm`f_7&_$a0w-;^tlCNZyCJHM z!A&4~4Fc_;bA`>#($rFlrY2E06VW2d1{6XOzYu7*>Cg)%Z>t|@>cC@LyOQGhI6Z>?nUyt=A7GPu19>}1->T@V znR6Ycje#;?vv}S4Oy&qg{Xy)wb1KZPkXZo|Igz{)I{m-6$VAV>L4LIa_-+~8&1$%+ z-r^4lDF;Usjee?^_@6E981#b3;DpRpblZ%A+hcp7+*9PSKhgM57RcFTn*!14!eT@O zihNRfsU8oGh#0Y*{{q%O86pCi@#7#e9^`DaSBh8=P8^uvgx1(2N{#@8vMESWSfc(3 zvQvC-@p!(VuHnT_pr{vBE_-HTf>}$=s`OM@1(Sr~^Vzb~!tJd~Xhuj?|_@w0C4k6^y3i{(~R zBkK7FQbW&BxS-k!g%iVJSem?iJsbJvB90`9iNvl5Q<21`qbWqKi8u>3>TPF?kIB9e z&sQ&RVn*pz!-j8vcBp&htWdFm;wlZ`pC6aYQR!$UU{C0uMnZ7YRrnymIxlp$@1sY5 zcDkU7ya<$iKq+Vs>Mg=WgKHeAZyETM9c=0LA)1jgh7jSvz?(+(It0iO7_vIOUX9}wneZ>TiP^;i~y>XVGuy0IFBXeAArkw(W>Gf6J-Qc>5BfuFryuNEzC6< zj*y&-y%_74iV4wYH>Gm1lda_V>wmzub#!-SCxg0uYQ$D7B=N)+xk{s~?PGl*T6SU3 zmW=$;j}(#+)W|u9pmlJsC1DMv>u?!mwW=D1hKHNJq7=ADC}e`=+K)gnm3|e+-n7d?GOq2M?5v6{P%TPItja|OENMtcdG!yUju^PCuR5aB_6vr?gFu! zGsta&gZNW8k~Dw0s)<5j0hLjaN$SSV1Ng4Iw;!ks?P&$XxMj5|Sd&sH==DzWj7vh> zOH^k~fWZ;geuLgjOc)r2w6EWPjYRqkM}(;`w7M0M^%Wp|{Bv2d`9xNh7|WwzA!dMt zhJ9Kos74}v@D^)37^_o551{`O8iXfAAP2~c7oal>fL{_XT7F_sr=Drxjy}m~$qNw) zCLU!eW}87mgd;)_DssczHU?N>A`;<9UO*4i2(9~i#k+UxafgYLZ`+kKVoz$AJoVIE=fH4jQIj(b_2NB>*r=NU31dia0OW zgfzcq`9loDun!VEJjVed!@+Nm0~D31o=S?HS6J*v;PKv44vKr=-gd{T?;S4U{bH1* zlpG1bD}i8n7~(QB8PnwUlBNiEiWD431F@&tjv{;!To|;PbKnGj3R2Nl>(#r*g`)Ip zsY_{wTq*B1e7XVWQw7lV;Mg5oHQFR7ZH)N@&Viwzs_JJ6{;bRP=i&sGpXM-+_dF&TlT$+&MfUhPJ7X!dG z`BkHpZ{KoDNT?G@J62GlsC$lTED5vA{a@4QPqd6kD#wY)+N@N;GCUB;hDnTLRaLt zgwXWI{}$91G$B$q->(X~4D!-?{x5lZ3Vj*A= zFh9l2KW@sqEcdT1TjF*4V_YowVtjnugOym@C%*)mj*VAl#CH)gG?h5BsAdyV#dF9a zl?4e?8fB}KagLln1g$5q&l&%9(SJLXw)W3UVd2AlD5m&iiSnBeuu;a!EfkIpA_@}u zMy+1PHLzzG#G6(l`e3Sk^alWw517dR+4@FBMf4;Lk_Z31SkeFVWX6RIfo zrRX4yrVoDq^XJKV!2Te#*`cFzuH{YA|FF{LK7?;FYo}IJ9t!i?=$kGHm*L z4+cdimQ5tSWx2BR3~ilW2C-m9h{4@X9{gT*CIZYA5TYxms>G>JZ~Jr2{`INuB$uVf zuBCYD;6obh!Q2BUkD1_ zli0&Dn9+J2XZiF8E+L_YIo2!twwiMd4GcWTIqrFb*Jbo{`~3K?U#z$v$81*@%aA2y zF-vD{ZEZlaiAcHbCdzVD(su<_lzMTdQ1K-H+m??tuG>A`JO}ZpT|WCld)`b)p3wdKtw@r$@*V#) zZLXL4j<^)XnGdz%wEau}tAEx_Jsx^)FRDFUOaB<4SYZf4!dkFYF?@I?|h;#zMlE7yIzvejmkvn}_bd{Yh7k;DU!P#>j{>|MnNJ z9b?%4eIv}=|86N$4{p-mKXk|UKerr6{pV(<|NliO{=fB1{uEm^K7aDpQ#x$vW03r7 zsTGCAT|~EAfqSO=SQgkQ?w4yyUi|As9BV#_T_IIpM(xTa$Dj0wcP|zFePEO}qhfqW zyZWRtE!AI}N1hHn6XEFE!@|ZIP<@Je17|;?+%ofDFRQpw5x?{f#B@Z8c11Xh=19n2 zfBj$ifhA^V_NN*#CO-iFz_Y6hRTsm_wUQQU_z6dY~InT=Vy*@L)rBr*PHfKKt*N z;J*@(^`eyPVQxMj6Wv!2{(7QMhjvp_DO!O@{27_+f4(bS>K;XKfi@WNWucXq#Q@)iTX(s+XguB%m_rlxy3Y&fIpo8706teFFc{7Lka z=JoQ?j3SDBU%F>9>wLCxBe zqx0eClYe|4bMvo7!F&4j=_FPSNH}4{v_l8zk~+wK#QzfzWQK1;O^t%Ga&X&dP%cRP zWD~UiRyw-w=EaitMxTJha}p?plM+yoSyM>Jv#@S z9lp=*8JNwS`t2;&4dw~TunC7qRmhpae;FpA6!$g~>UMVTA|IeXrZ^~z$` z3G}sa+lxh)8u*6V`7%IRU~zoa_VpT<>>?U=$t7nNkHvHc^+#;ut~1ZYT(WuYi8DRL z#Sv|7>wf3n?vu1HXjCDW2W^;N_ABr$cdmf|fBz;(Wn~GX1Zg#sY$FCmXK&Gw?HOqE zg9i8Kjdy6foY-Y1Gc!~o;#xPCAyG_gTz~M*FcI{oG}B93 z4V~ZQ{bHowP=*a$H<_(rO}`y=`0OsTG}iYi4D-van&D|rGF8Iz=kGq)|NF$RX^NHr z=h-@sPxX7$1aC}L<_*6&nC6l=@$399mJd*?a&}yJUdg8Z%fTV3>TWDyD`UVGIFv!) zKlI?<=@_9YLw`vOWEMJCmIo#>P+$|gV(|EQWyxq0o^H<+yx+jv*6|GayM4N3x}w@U zL#9Nqr&{5XCBt8gowY|qVZhZ4!xGs>u=&tnd#%pB0m%cw_e4s``_T zOTIfBtYwG5MFI@0H6lvLS;Y|k`N!c%5hGE~1<4{}kql7oEHOxEH&?-MtqCqY;0Sye zHoJvabpm0<7Oc{cTo_Ic!sGW72FwKMBJ51{UyvUYQv(Ud$+)&fsAh)1(rSh&OqUXM z!Yksh4={0v5Ge?a01$Q(m=Zv4RPvWK1JglxCnneA5nz_C(p|L~OUcQ`6b{=TjnZUb z)GS6Azgbr=?zvBJ}yjgkZ=aOIUM+Jko=mHNGjh zNd9qTxkWGEZNfq@eH;`{c?)|#IARu)$|&7|@`gW1Dr(gO68_Yqm=I`m=qpj(#f9z_>nQF2ufb5p&}8EprYh zdHd!wn+ zG2VOkUujar35$1Z`Jw4ir|ae^vg>dQ&&P(C8u!Nsk5f`v%vE0Q-<`K++xT)x^3B<>3sA)nVpdwXvL@0(=u8Q9^<-6zh0SdIAe20Wj~a`C{<9>6e_X;AwmmLhy-{ak2&V}f;p zs_XmrGUzyHoWDVyc@0#Lb<;9&{NxAJvpsMW{6e1pY}7)A#NL8(e2&^gdv^AUH}LRr zyAR6o9)5oQMAZzv?Xz;H@L#Xe=?HqytxTXzC@+@6e}tQoo`(^Th=sNFKd<4ZW+T9V zX6y5=VZ#s2nvtmSip@#pmX90ks{6)wi#%MR%M`!W z!^0EiI8q#ZB5K2D-^QQ!t?)euI~_SSA2IkXj%I4DdSgLJm^_s*=KTO4F zAAxx^1zhh#aLF4HB{4PR8)0H*t^s&1X4OlL8Lb|^#U)%(DE*a9I}tI%jyMVvISj(o9BvA$z5ySYdN}Yzq?;&*2)+@ml%GSrxB;ikTnPxVGFu z?!VIOnT9^6zN zWhY+{uy*6FeEa3m-5bU_lL#MjfltnZPkvuQ4S$eEi9 z5)8BU2>lkGb?45Xudc1#!^7i_0R=W`dkFt{h=n%0SBD=orh`ErUFKX?R+bu)4i=$T zR#g#Vz$6}<=_^aPt6$lYi24HpiggfvdjDqGxs&`$TcEZ8ja9xTwc=(LvB#)H{6j-kIoLvz zv%WxP$DwJBljXeUUI!>DuWM@LdVYgpL9q`UOewgw0ipd;nKA5O9 z=R08b&yPcr=dvP|mX-z^$Oka93SnJA=_GUZ>_57wlBBKN=^cM<+pkAS?9D7l+k_8t z+{Aam$^9w`~;$^6=tddGX=}WQ`})>{Q|+ z#z8m?v}JlFjM+qFo5E#=b*@NH>0Zx~0Hg}7g;_eWcq=B0H}zYSn&$Zr=@foz59r~<#6#lbz0 z8>n+EiX)1Vwp?FQEIRE%7o1TXSgTJbeAN|0$dWkp{ zQ*`Z89<0HU&na|KJD*5uL8}M34NdcB%!wY?_JuxqA`F@_W;ttKL)#A&pT}yKjtVZq z_IMQ8*~pn<9eYi>Giq*-BW5wx#&|G_x6KNGGbfq66htPSvpT@ujTRr+^15 zDw{``h{N3&{E}TY1#RpVkF4q-#g@dk$Mfhl1=_uO%-WLFvw1O?CJDr_`MjS(x2<~O z2kGO6{?eyju?5M&b0551k+ z%-JcS!bMsePwX=C3+Aji%pS?+Q=#H<_7q1c^$5n7q$;eq&AMyXE+i0XtaA7Q7Jrwy zaunqi1Tyx+hr{8p^AVXCqwKekHp9=NAD=@^LZT5IbchB$V45`E3(h(O>#OcS{32gy zX9j&!17;=o#|bCgXppIc2{+H+G<^0#P^9Z#zg~xlWa7se@HfP7FNslrpZyFZT4raR zLOTIa7{m@AK7jMvy`-)!d+yvh)hwfpaDD6T>&t+hA}n3yvX9uFIz<^4Mq^)vigfVX z4O9h`R8$CIG7b)6n9py`A>w$8)kHc}=6MV^tg5!wv#1C^eB>Y{9VjX6hc(zjqxS1l zDJ5UC53chqE|!E+u^*i#I1iJ!j{9!TTu0rp_mK#+|LwQ1JEs(GM z1G9>61-9$uspohV6QBMPVvs7WI|rv?4K#$`2~T0@DM#!D8ylMp@uR%$ufd^^ z28ffWkt>MUdWZe>7tluUeZ6GM2no(+fGc_kiJ&9<1qWB6+;td;wD*W_;H(Bs+hKZe z3(A=-Zxz0dPfgLEQb6D?`}i?KX2A4Qf;VlKx4ZimMjAzOx6!|H96T6^u`jO71r#IT zP98u4`|Q-I6uCnXM3R#Z9cWU)ka_U%;aW5~71&8dyUJDXLIG4my;k`ar9$r)3uWd9 z(4cmssKzafL_GCusWLqUcY>}QP)OvlE5hcb`G=>g!0_wGvvs(6GaxcjAUM(S{UdL0 zL$C(!-@i}G#B>Iqi#!svX8mAQDbTOwRl^xUhk`R=>fFy)MFT_&|5n$?Xs_1_1jxW) zZpxfL9}h0PNqmctcF`leP2{Csn;k4XC9f~YM?im)9#Gx5r9%wIhIhuQ; zv-0cLC+NC2+(AMDwU8q(M}~v0?7IVg%D~Vt12OX0cmFS7Sw(g>!=zaD;>G9aTq;sX$!RQ+Ty{Gj~tOivd=INZ&}wH7RR@)m(j4Z`B^^I}R)Ltr#WWbk`r zK(BRIkvAS%VSKbt=wKqFrQ>u#$Y?EbK8#a@4n)_$;1uqqg_V^aicaR)I?Sji@r_Z8 z!{?T`j%1Ibry{k5eBk&pM*kx9jtFD7oSidXzSM;)8s~I1UPe2(#qa{Z!c3w>El7f{ zh{PZ9jSAvX`TCMME?DNzy>9YM@{$#|*tz8H;X&7-k!QhHSy}0|>!`L&f_A5FNQmWW`5Oi4)wf0_G;R`KaCob@{A7)8$Z7n zsI>46zYJoWfP;2dXSsz~&&i{xmvb=^Vmi9%&W0dVU9rTMlFK`)sb0z73h{~sA)}I6FF^6`r&mtFz(UF5QPM`=| zsFh`9W21s;tBjTnY}yG(+osh18d{zk7KKk~<9K{afzO~6PJlx8l(aOWSPgU+^F#vR zlOLzRgU_&+lhX~fD1BfFc6OpDk>f$ObV~08-+g^LE_O|F0MSUMECZ zXw^ppC{lSbDk%C8`f*h6AMjX6b?WynX7m7$Uu_?}34B06Oex-lyN!pt9qX3|^^{KG zccaCYY_}J zOK(S_jUyY?GAzEAtH_<3-n;(wtC%Gz?fBB~!w(X_@o+6cec(!c9oB*yc1f`y8<=;N zoR^oU#l<{?ImEeeQE$+`vnS6iJo5C^$2QNn`1mU*m+)pmJzkIai@khqK-Yo0d!3k_ zMJ;v<t7zj`VDywS7QS%Pd|{L0YEM-PD@B6xHNHi zzepQV$TOC37Q|P7_Z0gTl*mv99H+gNBzSHOCFM2hGVsN+OO&lfzls3N#YfenvXwHb zk8pqfoC}CB3FI3C8RTYG;ekh>szHB548)xTsDL~UK<^~>l-th{@uzs8uBL`g(;b+T zXK`_Hr4)9MtpmS{;@p#i?jY7<*C#y!Sp^7d_j@S-WD^6LUq@iJ(E|Wl5xXfdR{K6U zD1#7;))}Xi52~MW#EC47!~Q8rIux>$W-O;tSl<2Phb+iwchrq%fyIX4%=r2Hmm@`@ zCeXQS#*-cmjTiOep=%!~P*Gx4Ql7>4)%X<6wCjQoVK7pUz(7$k`|Lagr=Luo%?~F{tqUgDY zi!3E2m6xB-<|h*>YQ~IhZEJGkZ4#wmwcYg!HsS2YzL%uf$o-m`A=nGxwq)hzbIQ}x z(_6LqsyZG##zzFlmIN-$WClQr?FRxzS{)SN2tHNFXV^H;4lVX!AawC%X6c|yZ#&Bu zSpfhI(W3nQ`;GAWzt>aEE;K$daRtBt#h0&NCvopTVzCD}mwCXmQKF+*!86!^r0oC& z2t~zQJqk;dgdhnY)MH7Wc!*lSV)mz2_M8*Y4_xD2ce)k?(PK(EYW2TmH}upL9Ds=C zPIpZ+1D3KdoE6fz+st-jV-Z54*Rf7>eJ~Ly4xQcIQ-B10#piD*=hM6Tp zwi-IE@|sPTsFg3s3pNrhN$OUjqy5oYdK3lTEo|dMio$gFm3ow^KE^I2Qkj_4;0ZP} zzSYvyBqJNb3AS;;Vv&=mgNQC+zvVrdR%;>gwVjC@e5j80*(r$btvr3JRpS#6hv1g@0pSZBPE@aNnwiLdoUV9dx0 z;G$yl6Y7Gd7dRP<_RxHPk~5|iHz#&$ZXd4Fp=+cE8@8=_C$##X_iH-3yU}%a!6XrR zkD)b)V9ya4HNO5md6kbT2wx2LmcB;2-mG~JBguDQiC6y%B|>(CeJrlQ!}O8`Ic|Hh zPY=!9eXl`OLNpDsJ9g{~bD-Y8%9Fj!keu1NO?&yjrQNjRc zeAC_@iP*=hl>8RA-Zw0);OQb_b9wnVfTO0>7f>n@PhHZf;p$mpgoCf~d9ySJFiuF^ zGXV}|HwK^u_kvaqC0_UNu;(dup3J<{Z!H4v4&k39i{HRD)R(Z|J?59K`Iwgfz<~hN z8mnlwgbn>~WPJx*j(z)nsI+KkS!rvRBHCLE-R-RaexZdCI_dXtfAMYEUy6^kCuJ8B!p678K=W%}gh&Vt^L&Lp)e*#hgNxPP1G&(LW*h;LG$XV|%q4k7>E=((HYp;c=tvEtnTedMWb88aeJ}~h6{CpOQeV24k zlKdweMbDl;Zyp%1oRqSWSvWONS$K9vf%)P(VRX<5s)gXwIKF~lNLSk z&N!sGIXNHMa=k(EPOkY9nB5#=9nFjH$f~~sjh4cgU4p9!?BAl#dGlG2&Ng(hJ%0ZD z@N*R)$_tRRUd39u3sepLHXVTOg3L6)W1V$(|Aak)TVLUnZ9sMJx+YkY{O9gP)(=B) zefakCyTvuuZ`c4-J6UC=5{`j0gO;D4r#=AqdRi>6^IV?8P2~AqVBU}1RXlv+M9#q} z3-u=qSjGp@6oCN88f1$=^Ezpek)2%&N5mU|*}a*=30!FX*Wx9PY~-_BTJW7m2!IXk zNfAI1K8}oNkVsMQ)w4>|%gJq<{QInA~K+NOI8;nW7I7N^o8_XmCAay~X9 zB=SvDF4v|^ZJ_(Zz$g0XXTv1YI8`G@)>z4WlSANw8>uWnfLz$lsLYGDskhf8n_&vT z=r(Q%l1MxnQaM~*Cle;Jg&=#!)E!pvl5j6qh7dWdyA!)&-?C+lQLaHSFpd+krKOdX z*pAYR7>FXnH9~k*S|p3$)YlEBVR;HskZ>>^O&XE^BS5kZ)_u@ex(&eO+*s#MjEpW~ z^f3l!ITEvhT|};C!kdbgwEpZH7I#_@ywY=Po9wH8nt29oxO0O_swo}@(A>; z51S3qF`}@?r|R-b0n9Ro@rTI+akP3mM!F&suBN;2U${XZR$Co0FknK!A!t72Q^TJ= zJ;t{$0k-XCWz00lW$*;pEsic`G4~xD9QTJm+T&C~{#AY?4Jp|5G zSmfEFQju-f2IP0>FgYa&LnYB0(T=T1P&8OD4!fd1@<~g_qm`fRMz9|6d;)+0$Mt<- zp?5qW?K5gEi{xgqG^?CL{D_n9Qd56I$3e4lHjKrQ3_V^EzY`8dLnz2erme1Gw6>ym z<~%8Vhd9Eg=1jmKzU>&@L9X(Z$b!?P=@q?cIIl3$~>w7+3K z&6V{I@_C==^r;q>Q$^}dp(m@t$P*X7gq-+UXQ#C1*W8X-0A6(_3EG;Pnh+Irpnjn_ zIZ2?1%O{EMNC}R<{gEPcD4(;Dhi7JIf5I3=F7k)KpV6{%<$|3j!rR_96(O(H#XWfR zdtG}ExvGYhlFzD8J|GXb%3&;P{?&zH&%3SHACN11x zO>-{Fiy72{0l%xwqf>W!Xx6=u}Tc_fsuBQI`=RRq7fY`lbH3zr5D&<_gsx( zaJv>z+@-=C5VxVDqvPA`Y*)2)50lZ-Wi=$$F{HAe#2u_2LWWPvM?L`3Rx*hW$31$J zk9|AKJ#tfXJVfRZ;Ftgn<7x9DgQSnQ3QoGHQ;4RQ26zg2m2e){uQ+x}cjH=v$g!KU zEaTnk3Y;cIw*)&6=YQB9_Y6hXSH7{AnMa=WkK8tvXzA>d__?>;tIEiIFO=558$^TnFL59iz_nnjK~YSn|GB2C-#ZE6T}@pxcOy zot{1$hw>Hf*EG!b{9u!amMm7E!#X-l>sO1;35LY1Z5Kz$fE5hYT2mN{Fo52TfS3h! zOgG)bwnouJjh7-20<7mGpzx%yJzQM=NOw}uq(02v^T7-DvfnIh%!#~vUqaF9XB%7n zU%yy;v^9IiwdSiNVOkF@4WQf+05>k--;mHYsh(63gTv@S$PQVqsRtao$DoB-y?ekq z`XM${tRQUaJ-9f-kt&dpL97TY^S72~01^n)g2<6szC7BGR6H=|kiCOL zu(#*gSqw=o0r7=$2BYy@R3&;!qmU_GdKVR|D&~8BqWc=*ITG7l2OuO>U_+kxOG45H zAiV=SJnRl5P-O>#$;F`>yyA!`X;yjCJZ*rUz@HpMVlLwVA@@M<(ZHykrQ>~<*N1}48CbQwdOTxM&{9(;M9 zw0icewUcrU_#j+-f>8m4)CEbd(d{7thX?%p{B%2I%Smo}Ns__;p;hi5Iug(%N-ijT zn82p8rAi>-h=_;?3JGCNZ#^yD_W2qfjjKpoe)=sDb`}=Cj$H7U{JaII=c!f%f43lz z-UA-B1H_hg#i+SJy)_8<$m0)gnG^1x#FEfR_=Q2$OnaMEsC2> z;=bQNR3r3Ub#CTUzergcbvmBU8AN^BX)$eFTskchRW90+x4`od>Wed&QH9k8`I!?= z@=LmMAff}HEpT~vVP(N>IOQQQC_vx3n6YRhyWtB##cvNaLB($*qAKA#!V;&t)7t)k zTI36xkKlPbn~uFj!w`VHosBSd56jBpBPM6l)-NwDtqW7OMRGOoTX62M_U{|e**2p> zNR)Egi~FY+cHT}3lL#b;+RmWQh`6Sf+7rI^H=qj?s_iG&|VvT88|8Ptw(C}Q&~x}%VB zpAq-Cc+m;^vP&!b(MBD({xAw;VMZ=u%oGOmZ9$obdTS5dkL?Bk7X%-g0Rc4bHU>TF ztBFAp2EAc5QS4@L`}hqIy7F**6%6l_$4DLu*CHdu&pC(UQxHvMjW?#DS$ehN&Eho& zW*mI{&MN?1uHC;;w5RRK7RRNN);SS3)UPh~U4?lQp>0Ew775wo`}gnP3=F&mF$pA6~F*iHicash_16S@vL{==8++ab#UmrX`ftGOT6*31Dc>m3cQCnqOIozJ`h z4xSKLS&6Z=oJ-Z(JOPFf!y{1#5H-bzV1@#4Sm!5uH<5UU1)6_B<=a$kGm=?u8jXuM zabO`V^h-J~0FKlA2)C-WX>i7}D9VD{Q8;uibKi#50FZpaYH+@2_<2)0P&K};`|8|` zErqCiFMT@NHlz+T0Sw@__0PI84^UVZg)Qpt%DbEPfZPgt7UsY>GJ-lvJ%9fI^ye*y zAH8{#2*QXaP)AK)jJFqgTcNa%bxLp(X`V7k=Sm5w)6yaduY4+Qu)t{GN#@ zE=OUzPbb_x!5Cn?o|&%-2Q{+=73=K+A#!2A-S-23*PmgN*|r*+(YXBX;O324@eddd zeV%{P-5rbMQwotxneoTKgR?v!5jBM3N}XTx6ORgOEZipon{XJIeU?t#A`TuK8I}9> zF&=y#K2W5M_ZDu)(*>C=iJJ*VjmXE4+CRam4ZQd|{L})9+6?G$c(86vqmVfHMgndz z0U+++*0mc{rbtNv7avaIVPM9qh+$J8-Jt+VD@a02AsBAR!nXLG&ZCXXqvc(Gve2gN z>j#XnynYA=(Qw7Y$AmO&V3ovprH5|@2k&4S!5OSnlxoCDLc}Gs=RV!G1Dfvld+x&8 znx7DY;4;gZx;sP3}c_ZZ&X%p|w zjToH5Z!s28Dd8~El&=Z3E4nRsmVy%T6C?Yfw`eg1u=^adGhn=(gnjR?XZjvH4K_k02LlTAyG*H40P| z?eQgLWjvCSOvs}v%+wKr_TE_ni`zzDGZGFD}?n!%NRJ zEP!Z95o;0LcnHcjTYRW1P4kCLWo~q-+c25IYUmO;@wSvuJR|L) z*=(4{_a1{TRpFlmDwZ2#)Lw4gUDLM9B;Vu)k|81+M%IJ#>QZ~_2!Ub+-1L{;cpuBc z9oq=a=TuZwk04S-J!)6N_1ix75dW618<&?~!88jd%aKSlAr$3;a}dv`I?imd9`A(8 z;FyG8(?rHv%98r~7FqL|xTfj8n25YReZ{do3K z6qni}CYqrhXl!q%1rLm}h~N@PKQwIA^w+F`VbUF`70lb77#hlTa-eb(DU{aeoq)zs zC6FMr0x9FmEfRSzd{A~?vU78L4#MN0jt&i*nAHdHmp~YzA-BPiPjEiaK@b`>FbU&s zx*j6AryD;42a`vS^P~E>1^X+w`@nP%3wK)8oTo)6>qq1zQOblC*T?%kMS<_3Xu=vJ}sQp)lc$d9K8UUJrUaKag>87$-** z{v1kvhmhq5b=^aGzgto=2FK7I80e@_@waeezlayjVZWTOzBrTef$TU&ul!spx;_WC z0vb-5ikN9`?h&E`NZD5`Rkjs+E?a+h8on&w!i0^(CeE@~o#jmRM{SzDVuLtWdN_j3C>D${jlU(mDytJMe)iI)UxF}@BzL`RSCD@j`8R1vz0jLX@o}p6t zjy$l0P&)jgaX%fWlVzdXn>!16GZ%vu=~_bHPDiqRxOd3l^5X1CT^MtL0-jLr5jT&E zYaImk7=~-k@9WodqC1BX(40N+Mq&?eKj{KUdWW!SfA9l>qjh20_aJ!fmzI;0L(YH| z_zCMC6~j=fJ2+LXjMx+*OfVu?Y!G7@PV2{i&VIH^VsMM= z0DOG7WMsBtvhkhd2BrK_u}kUF4Q!4^|RM`tlS zqNu9-L6>BsNnjp zbynil5~0UReQF^(qjK8uS`W}az$DF(_w}@?#+Ng6^!5_)xBaP8orFPm`WO?VU?_lf zJADFLPS5$dFB{C-75n!LK(1cTYmbMJhh?%w_eCNyNFl&NnNA_FHVTgB-j&$f(2BVv?6Qv*i|f{g++$=LFKrgm;KL}$S+;&^f> zE6KumOL1pUh!$DA>52lV1}!~e0L}I9LdkX-bQx$slK1?kTok@nU^KLC_Fi6}qQGE| z+sTtelz^EIgEr)m=4OL%B$R`?b|YjL2+S%}y-+-STqAV*%}*xfce4sw&&sts>(Ut$ zX$*Q!bS_+Dp&b3JFke30+w! zQL36NnxGb8^lRHmlPV?$Spn9BEw9hLWs9;W-8M+NBg%I4n4cKCSyAGpm4JpK;nKLn z*Ke@*9{IWcz?CvLmI)JM@?-LIPV()eWE+7Cp9~nAFVh zYHSR2lr0K6g5X5r_TlSSF_8jd0-9PkMVR-sQjzDN_oH>P0*alG!Ef8b)5Db5R+>~p zif2CkrkHDVl!mK(!puN0r8@)~RDv)W(rDWa%OFlj8|%fjIxu$Q2+?}-!272dq#Z5; zaSft9t_Ey~xU6kAh;i0tyuvR88g@A@!Bs+>4D#8%tUtrHkIYCz9Wvgy(v)s;tZb z-Yx*?H+x2(Or!5{{RALU_NQTsdOHtPuK^A>!S_HX%hEEbadu!cJw02C3SsAM!pL4L zpmzGiY8CXO$S=v16I)%>xT8;8A6Ng8afe<59c>5rCiIzAXJ~D$qORQ9pvp z!{R43=4LO~Cnar#yg|9qod(1Tm%lU<~+ zkhu5i?FiyT5MZOat91FkF&EU)?cknh(TjexE-1KGX>Cz$lAaG^c{y7n;GIlsUydyF z8coOkD51EcgJQfgwaS@qN2FXlcUT9Vp)S1VZIi`;4B?8AXg zj)tsH%1#O%wF^@|eEMNtz*Ai|5U6x+)*G&5GYO7ycZF9dai5k31K@}|-}D>87z))}bHs!7K0&;z$*q$F|(0vAD#tF?be8o67Z_u!9LHz<+`dgpP<#qOg zAx*$Y2!c^!&mJzEXjI3U_d`-(1+O2pen4rN@3HGYP~r$$$hzNrothGfwWg(``wUD# zOoDxEbhHIo+mElWQCg_H`ThCX7DRr5&;lbu=?x$WVgf1ffEYx!xpr~0M;dbu(%?i$ zfoQYN6GPieijWgZ95)oDPP_|EkDW?7K*^>R}C=O5E!l(>WI! zE86Coilm#en)VBg#J%ing1u87Hpr$sG1-KZnt@H;ciBjw#4KeT9K${rftDbU=>acG z_6A98*tnUTd8q8%SuQ1m+*qhFKH}5kqcopm;N}Z4AiacE4!vAvEp?27&O~{C@jrfH zEI%~W)z3gFbY;KdtIr-yxPRC(sP00r1Ui4khAW1|k{7~=P~!e7uw?Q*HA2vW+5!~S znDQ7;-QjIh>#3hO07{x@KUA%XgG_S1LJ0aUMDEm=Zo;h=kfbBoa(?FoZ!&x5r>f~Y z60~`lAhIs<*aad69QV3lPtt8q-L2tNSiM5z`B1q-L%i+-4k=3JuOq=8$y*p11$Vv= zg0Ov@K$Gk`+(MrYf(i?Dw5d6NEtdH)-Bxw=a($z-hmmrTUo~{orUYm_!)_x}Kl}Z= zzWZ$x4RhmGu!Bx99%l_KRI{3Ba>LXf85>NqdHhZo&(|7e47MF1%W^*mPqKr>_@pa< zfVD+4+FxEjjoPVkx(THo^kEi^aVTY$FQGN6&5647@A3@bg6HYBrVfzC7dT zT_HW<3yQnwwRz-Bxh%GiWDadQbWL|)ThpYPN^bM}-F(lIydF?wvag=LZ2N3pLp}Pt zA2fM^zqiJ$E4%@xUYev-XxIpu%V2z?=T7~wn%FI|*duw=x1T?M9$fQ7=VxY&Q1cl` z3GHU<0p;A71{BeB!7Yn|w*P268mcT9Hat5f9`v|b#;nL7D~yvwn62$CCB}>-?mx|u zns_IV#=^+F^cXcxg$>Ma@4yp(9ror&RDMm0z%s}wD2P-Qp@xRjYIjW{x(=e^ATsDc zwH}_IFN~BfATbZv5YqG;%kwNRltxydPT|9e^z!WmP&YwLH!w|c9kXMS(YuCNs5>Nq z3@8t)Kft8D8UE*Yi&!)aLD^D7{=`noxWa*ydC5&s^`?f|3WxK2v;)i#m|_vqFMSX$`a@#Ah}!@ z_C2!Rpc=?9bBYt8pbh$IyhV&~KHR5o0?iFlHUnW%6ZX~@gaqUa`)x(vnvk*q@C^jd z-8g+s00hWYhR1JjV56y>;7KJNT?YQJMw&=J?;X(w!|*Tt08aFOYhon%2T^4`fc6qN z9;k?K=;9-QNZ`>#-x^3rLi|HfsQ{}@h(Np!NyyS|ZP7V4Rf&c#hjtVQxlYYF&eWi*s$(jUUaPa?)04uzM+S8^q*^#ST)%N$ ztKERDZf}w0wFdtEX@1XXn%|FY_-(^ls-xjRSs__aZaKzpoMT$I9*u+FBeZsl>gsHg zx*0$(!b@-9o^<)mnf(F|Jd3F}7fRQ0i$`*GhUQ_bYl?=9y|~dZgdsAAp==^7uR9ljt=*Tt@Y>j72f?B&E-%kQ#(81p{d34cocqfK zVbJ>lf0Xx1Kl5#`q@+D^hHY6pA7=4miINVZ}4MKGY%Lze{sKBFLlFqMKaAucX1 zirgaq$Ho8C0+1M>Ksj_*F&Tk47=2B|<)UL8jgDKsiX$wJK;Ok9C-=}Qf~OGuibzdy zs#D&mQ~7CC1c;H)QbC&o6`nR6>Aqlr!QlX!ttc!IWYI*^9$u6e9~_5-6oT0L<}Y~M z4!9!(`-`WIa#92O7@|Lhz>N6$L%>TzIB*dw>SxSQ+wEommDfT;IU(Z$$X)_#N3=2> zhCmf)zpBqLVYHsaYzQS1>THTvQI%%usIZBZ8T32+>u1M6pvnlDlru9(?A8k3D<925 z0JkzAoR+rBy=Ai^hlP|`?wzLdH0MtVo}>|Hg}?RhIK=Q&2|gQxZMBfSk7cQ&@I ztE{ZVfqD2r5?XuiLXQ?56{QR$<4u_pJ(iLKSn@0B%u#6zB`82gA^7w8*0_-jO}HP% z#;&4k=fz#6F`{h<|7&O7utIAD zV0?n8qh`>jRBe9OMj& zam)~EV7uIf*dyll?QlZnhK^(Cdja^Pn0o_9<&a`QCG?7-pY|5UHsr*a>K-{VitG&W z3%J#p3m00RKfi(PiXCC|;iD78iO_W05FK~;ySsbc&3Pa-?jY$JFIWo25%N+zEegg&u*T56&=W56z0yc= z2n;6|IVz4`z@Xq}4x(2F)&Pi~M7u`XooiZ4s{A*pv#t~72?!jU6s0fsp2M)zZynqA zo``B3alta9_D-R#ZVD>k+v@C3VAO!K3+xh`K=I{`+?loCa{tY$jIn}XHSv$ zB9LdIy&Lz_XTHZYAU|yOmhkDEurHV~$opW9H5i<#6vWMB=iJ>1s0YUk9(XJY>vQPc zQe0bf7~Vms%<<4DD-_T>x3;!&8e0g5Jb(wnr2{F|8JsV8R~In`?vPgn=2AEwC`$CK ztahN7`wW5$Ynq__QTesgE3KyX2_7*P$vjMj@u=z}ZDE<1Kye!m@uZ9P16!{Abgg#+I-l)PY9 z4FJZ%n6?Q$fhUcYUo&#*;n)8ib3uhZT8vo6^^Jyv>dKFUa}0FDCG;d@aEnhcEL z2*a%ak{_u0Fc#gG-|%>1u+?$8f@!@$`l^w+npUf=lVyORa|9Jq{NBflM~{E(YsT1W zLeybTd+B>E2hB{RvW$PVoj++s;h#I!ph9s%-~%}*srgL{QewJjVRo#5bdY#J1y z^dMThn>-0D56kWhdhO7O(*}LAN97oZAIRj;k&qIT>9x+5ApEUbs;L)DoE8M8pQ zeW4h#)oPDPR!mBQCpOV*llQ9<;4G>f#3cyo4F#gDu(<(R0Z2lZf*Ycly1xFNvxLFM z%8U}yv2a-IK=t>evonH*C9I*%A2)&crKKHx>sA|%4~hNzvjIwKqTSEB#V0n+Dn`x`Y84pp$TpiptP~*k3VZm> z`ST*r#lk{s8FBbQZlQxlElk$2BTAQde1UH&ToXRX3&A{y_|+BzCI|Zhw4j0eQ{!et za_m-yE09FLgl|&URJsbmIpDMCV~7>tYSd_p*3*E){_mGgd<+A2QkZeqn81-RwGQK# ze$5^cO*`iJX&Vo<*KEK+`k!A#G-yzGP*cOY zO($16)gkrFV~|M`GG@g1w4m4d%EyoMrwUv>8T$I}|K9NubX|Z$K7ou9?NhHj#c;=o z+DTb|p-w*R5v~Z$e;c7pUW=?-*?cpven81j&%ECt{wPcI=5+4#RLbHY-h)ge>Q{^8 zyh3J-BCnpzmOYuZ)$OL@4dAn-4hy9cI>?L=u9C<6czu)3+xKG~t7~t@c68oRkdm`> za{BqJ=6>C1chXEpQu3u2W9}?m5^(Y3Z0v3!GczWCns;mNT(ZC5%JK<2A$PedxAekr zM_=Pqm#w3#}Nxm4Tr=*h`${Fn>#smc;B|=#lULXAHOx*?O|j{BW@vE&LcEz@C5O z5J}9M!*u9)J9fCfWfQ}((7mXtcvlbkNchh)qHqSbXz;58=5~)58bEjrfjGk)h#*h; zO}HjyneJm$1vLxd9=F>9c?n~shAvMS?V>GmiO$=t{5B50wOUh{Gr z6B*MBXbg%VnKYjRi}0$}YwqI#?$ocMyW1i5AYfe0aKkaRt$gxsDF zp*sm)Z1y`e$;onNFt@@3qidXze#Yq3lbz_hpA7dMV-kr|dv?j^(!yIO!t<=zJ;x6D z^FI40p~a3s$zK8J`S?G+;3LNGzZo5-e3bX8l)ErrE59YI{0#c9Tk}q_jSr^$k9o06 zA$H{?nqFkbGjE=6q+t63b={4hQCDQM;q8z2ae@9FZ5pW<0?WyzY8%rHfuqNCzcE-4 zm`!Bt#lR6ydTKJ#3(N&~Mk-0ng`4kpEpmoE9emwywtmt_apVCIz!l%0rE2=U7h`fT z$v`zYI2bg@!}||D()^DnGIgeO(4)33WbR_(uJ!WvTOGU}o1I!|?pi3}&kNMwIz=uN zpwCEG!OYS~vd;NmPjD9l6%~JIO*2t9=i%u2&aoNK?22rTkeaPABU$)}yb#lB-iZSu z@iT$R18>G03a5;F;+_gwY`y-E*{x9^;q{N^=I$Bt;c^MxQ+!ZazM7l;c1~w+X7?RmJIe*b) zO(>rt!`HH?Z&H@B>XE64fAOrzMi^5QKG%Qziehjvr0Sq^uP(eOr&RULG&9vyfZ2eP zz3Vd-x6EJ9$4}F-lR}6*Mg7{NW&E!y%QJsn`}q^ z^5U;JBClp!LjH(Xkex1M+QH^`W3N?REx+c_PVEA+#MijLzr4=Y9JRikp+x7L*S@@4 zH^!B-V{$%ZdV8)xqHl_XSr5E+c^Nn!kjzW!N&i^vUr}dpr79?Jv)|-jZM=3)%<^H8 zvbb+jVMT86NP}v{n~R!Z^Q{`=mz)e!PRTbUb&mHxwQw5U8qjE)Yo%5`VOtW^c!w%b z1CH%loc_whglvQlCNoZk(4P$d?2pt#af0XcO-97WYNa}id!Mb6OXL%q|FZ|9ry+;!y>FY4RQx+t0Oup;bw`HcaeOh;J!^2S2T z8(^D*FEw!o{;}#O{WPlNJ7zu*x0`&lfPs~cQrCDrEoGoZje_25rFH|0O2*fT69N18 zk4}`mqo|o|8eR4p;y3x$ev)k~9c7{8!pJEWM7x&3QJ&lx>(W}s)9X_!pFS@f$h9+4 z`l|NN)l3AKS*n^CQ;D$C#nbo)t8#4(Nz+v7e3?9x-IvdhC@4BW{BiPCq|`C?gSi8( zweK=#uYPTF7ts%Z5xnl(n+3;(DsytQkcXb#!NO#Y#tIDYD_FUC?Of77@8S}kcaqvX zi6L?8a;cu&h?7M zo7rUenCa*jv!kS+M`O5)`tofhPOymXp;JR{WUzQvLW(|(q{R{0DqA5g6}QjE2BE`6 z#(SSc!%z`M-wKOD?3=U8Z?SP+n|eN>u0P?$n4y6|%)AqQz;|A%|2|C4Xspc4x_xQB zz9L)_k0pLQilM8k;%oS5nwpYS#ii$^!KJVo&b;JPe=fN3(5T|*g`mcCoUYyWqZ?us zUOL1d*&C?nugqC+QOvG*`T5%;-7`P)as9nEcrzcxU4>l#_-=P^>*-;VG@$Bu>nCAB z)v>C$rWY>tqfuJbc4Yp2ybnb{mqWv$lKQ(5e00a@Jv3+oxiFG}bKM&?h0(yf)gla3 zPbKIkpS7xU7WkDYy{a~jmI}1>Yq;xT``@b}n+Ph+^G`|-el*p=kXXjvzCoAD-?(Mt z!0gCR9s1wg%`|V4hFk|8+r~6WGDbJqUN~jkI3X2at1RlI_oP1|sZk=pHY$B%V~0dy z*}vyId^dUJVp~!fbp3}yjeA`kQ{oaE9p(I!?4mW_P&v#DxbFRmhqWio04;?M)%bOkf?pfe0)jeXePQ;)>;*K&x z97E^P>f=va&10A(0*@{zC;D#H3;E}^xCBn*Q63j_&nFvYU0-HOCN;)(y8ZQ>u)BSO zWau+|?amF>YnbZGG}6DLWhdceETNrM|C68H1YsdcxnrZKcTJB-q!tz3g@s26?tj?1 zPlTDN*`1oa!zJNMIBVo2km=zf*{K8;&Nkw}lI zTh>xXe3UmF>fBwmymsuLD9QQ#iNPk3F27Uj_IPu4h>{;SA@}~0Awoe{A6O)|jwkb~ zVq4et->)rVn)=msXk53B6W4Dnf!M+nZ~5}71Uqla)IZnU?PvV`*M;)p1o!PL&Y9!3 z5;?8$j?OEQ{yLGHUb+3=lZwBN>m}^1sz;b^CGRi5oDRr`4s6^Yc%Tx5T^y64ae z8Eonh{V_85g6^`+2HOz3FBv%;ekrm!HraZ|mL-C{WO2{#oCd#W z(cJT-7oRUoO-;CeYsYk$KYp0Z<;HAC{giPAx0@@y-&;Mkw5Z-J)`_9pw0S3f2ozmD zE%vgeyD6ttE6mU5`N|b{FW0tog{Fqg6B@PY*l}2(3j))J1hFn z*X$H_3V*u1?S~NUzjN4bnpb&>)o1f5S)IMTL9&lNo?f!Joccgg?I4TUr(Ps{ z_PcXuFrunV$jn#$-;+kDxq2(3qx1YJ0vn4POnXO6XRa`o;cJ4dVvM)3#ELWTe2EMD zzu(d5VHml)eJ=5aRSN+N<3FoLU4QP$7<5pbf8*Qna>a5^cjs=We65=Uz8UqV6o1tU z5Ash0XO~*2^k+{Gr|;iyu&JQZ%iX~*mn?CPy+&|mwkGV~x0Ok!+=b*wL8J}wGh#0z zc#Jk+!sw1YwkS_lky2trw5KY-HWU}Q)K$5@YTFg!BE8b z!-QOb?Vrm=i|Q0h8n>HM%B`M99k#DZ-;p=EJal{*UhpBsoTWg%wXXiJMe1T0eddVQ z!k(&4lz}nFDwxja3(QZaar<7DH~acM^*FxfAQi7RIe)V$vZQ+RUzexp80?vD93Z5J z7=)`jt8w+(w&NW6c{!9OHUakk{^lqK`%OO*MR})<8v`0sO=f6~#=en)@ioYJRWj1i zm)gUa{NGE1m)VK)=^bg|%Ws9Xk}f-&ubVz#-@R(9&m|YZuG3Bvv{OxRw&cQ*KFu{x z`af?1nM7PRMW$uDveSwGeOQx$9z~*`>Gd{K-Jbc;divAen2GQ6jrP|4gW{2`Jor8S zdq?+_Rs9s1e4}ZwD=+x3 zDxg9@*vBw#c*mI6TT7a4A!&uqATtG`K^E5qTT8=DZiqu z8#bt36X`0+pXq5B>|P181wee`&-9&)Y$CJGh}_+ENgz3g>bR0e<>tL~xGw?>RK)Mo zmi4?DLid?m%u=#*WzU}wX&4g6@4GK{-+kd^OerNC;8o|?_n0PF)uYCR{ofxUih-M= zJ)Pny?|7?Ko+h8rSV=fD1NmRy^P%GmDU-&&b&i@A-GobA`OB8({te3!|9}_7Q^`3y z;=FyUE}w+^d#mG>;jx)hO>NhizaQg}E2GHy%(0$_8CA+3kB_V;RW?wjBT3Ri) zs_HeNA_3-oWFcElY@+_-+pbuM8&EwhSRNVdt=IF{pMIRrq$DqsdhjQ)AcZ}=_N6@% z*g55nq!QWiK813NtN;F3T3WCAHTxf{9UL!UXA1I~YIE7BorMhOkGCMxI@764GH1z* zGP}d_p6W{VU%^tA%b-VK7j;t5$lSrAg^(?)-#PyLX);?j(a&3QyG+Y{w=HE3lAoY| zJ03X{@4B)pWd|wu*A^8Xo6jEqNn>}PtQYC@onV@c`19v;w%k!kwJqlT)pJ0QBSXbl zA~M-ao093kFUdqf@P7@eW6K{k6AMr2_4d(|IguKc}YQ z6PkM?^Z3eW$vvGn)PIG#Z|M{PH5I%fu{r5Gx)`HMZe&gKcQ`0 zto}N~QA<&8{1f%Xf4>sR=|G?=N2Dfx`}RL^R?aC_bUU&`Nv_HEZ|uq>r|n9llyY~2 zbzJg3m(X8{)f7z(ox5iK$>@n^FoJB9nI`!2{H1ytz4!m81zbmrT5WL{cDq?*QOP=S%u7XPtIFRlRtM1l%;(4g1jQat6-}2rTLO@?-^TPOq=_2 zp;Q-vM zb>w3|o)YmzhoPWy`>TEI?#cDw(B!2kCnD-Xu9e8@fYsI`C-g>&I}=W_+w?3?<- zbL#W>nufn-Mcl4?w|np`?VnF2wcm*MDU0ZjEx87cmZyq@9PcVsxof>MJi%x_a9)pkVz84-_#2;K zfly*@!HTl)NaRm4GNWXY0P_r2Dr?S+-pT)dZnBA8-Vy@LG|xVL4-%CUK130yB20I| z`KP_YZ;!{Go40RHxFBAsYO|1M+v(tZcT{e63sD%f(fL;M9bI>G;MX7Nx65{^N5*gG zJ2?~kCM%k3796o~6VB6)|FTw@Zck4;>h`k2i-dm&-pS+rvc3M0kd55aN{$w;q-W>FVZUOvT=K3M4y66T|5^JX>isKy8fTV5-^+Sw_fjP`bY zs?{nNzhY+n!knlusJJAI$nE|>XXpLv0%E21j?Q1Q-eC9mh~#;T?K}|~A-u`GEia32 z()E!gDv`({`qRWyizYmJ{K??zq|iuS=H9P1N67r?~mJLn%r1CT7R#?g}Hm*ukdt^?cSj; z6VGqEX?a_DuDh@_cI#f8M z_fa}-9coa1w&_T@Z~3mbKth;g7j-B!5bL9f04RnuFHF*E~ zIIlbqIL(<|JIo=)z?@r=>RY#Uz0?M+v5R~5mb%(iw_FX|{Hm|)3S zP@C4ce8q?w*WUAp?s4c(5=oOi1ZT^CUz4oD#N3W!?2`9~b~j6>#dZ$F;UZ}h_JWfTCUc1ChFwTFTHx6YC2U&W=3zY z>c5|kth>C8^8BFc(Nm%url+~4xplnmTiN}kZLiB-RxsVR z6xPE&TPZ1*ij*;K)Ioar&kNyCj}SY|f<-%=S4vN;c-0-vpNsdk$>o(lmZB-ZTsrEj zc-PqM@#^iDN;VYhA{CY1n^-^8_c(o<&Vb^>|@sXulJ_l2L6ffs~OQ`#mp+I$<{)+an zzqr$)?m7A^J$=f5mAT!QN`jg?9D#6dSxViD(m`TWH-4w9=^Xt91x(Sc|HykqC-enLtyUC-@ z_pDt7WTOR?qpZu48nS*y8|3`|%CZ8a-i*)%zU@nzTd<9KF?Q3AJu5Fz#&UDNrMeE^ zx)NnhPQ24A1)A=AC27zdJ*6`Fx$lUGV$pfE--oPUR==US{B}U4-%_<71dWhwOo3Yl zMFW+8@L$jPLGB4-i7F4k=Z8kmd9!y^zo!d%YpGrn94_|7s^G}8)*rLIqsyl+7;Nn; z_B)VeUb6O5NjLjmP*cCst;@&1wbO;Z4YXOHu{%!c_-rEBVf9to`v2o-oQl4&xEf20 ztA}fq(Ii^xYD!tYag7s$Q42cSh zj+C>5dES5>-BVm_|IS0KnhjV)`s=%{h1nec(0=Uh{;GZX0dKRXjdO5D^w4z4pLXx( zI3P)FC2x?;nBG%2 zZ(X|PE>X>Gsx)lXEn|v6Ayn z<$1OXtkIp$%0@h-HB$0eaQJ#{ubP`~QCmP_x`Y+jq@UA(VLH!PpjtlWHzdAxP%%ChrQpIbvY@)e!oq?X;MuAx(r~EK*4}-z08@tYAw~MQ07;br^sqwb%~@c# zm!-^^3I&>wO!Y*2XaC)c+|IBNXi~V#9+C#tmiVjDaDsy!#-uFZg_x7ed{B*kpj@zXzdF9t4pt@TTdM z8QYQUGy9CCe)Ba>B_$hR2Yrw;;LXG;&?1tZaw!k?IQJkP3HhaylLtyDCnx7~-+l`ry`R^;$mYn!Nq9D02zV>Y1`oL-ho0{;~yTzhZ_#ACo`)1@#B23YMRB* zM2=~Xl5un^^kd8h+;I0Ed&&Tlx%v=IbHx&?>=SU4NQe0cVG54slAI7m{(B(#FcwiK z?~T)>*2$9k(F=wH96uQ@vv}#z9RPNM3D}l%^8430hBLFf(_VdRsonqBe&M&2)9t5P z3C<~$>-`NTJ6pHj>hGS=46 z!CvXs`!v7o$f@-97l&TGQ4w|McWND8uTcCY%4GVPekNVqi^*5Pb+;zgY%UnRxRBLQ z+b+D><q5Gcy|Ok1DJR`uGN=bh5j_Mee66-%~$ z!L4Un^#&#*bo7=w`9v8`TYb?e42zbIi zC~n$oPd=7_>zl~)6a`CYZo?k{e45@1fAC*xKN})f*uJu$h}Hlj%{YxEWJ)_GZ@s-B&Q!;y5i2iI@=AC)4MKyU$wdHlXM)-M*y3`d~T9xA{%3@F=_A}wz zGg-gE=!e3d4?p01GCq-CR5^;?9?LOBHHtQ#Uev8Lwx?F)s?K^}b`5Fb4sM)US^VWk zv3?y=$E_iZCX9!KmKw7an2)oEgm{Q`Q|z3p_^zeqdp746`om`c2cK79pk+~Goh*Y%sz!clKJ$;wF66m_m~Z{-DoTRF8Ic(C zW9jsnl$|n%6W;8{)NC@fY{akng*Nkf%8%C2*T;O?jOp_;%bEnm#kKJ9`h~9VAtHNI zf-Oj*OmgQz-Lc3_25sPyj>GJ?=0N4*%gyUnB6`YVP*jEJ+cAI<12e0PGb=P}IICwRClP<9o_J;-;R)g#Tk>FS=Hi zy^&L(!TpOP9eJ~rCW{xfrk^PC-@_*v!~CzJqJqNhg$=vpT)kC^H2#%#+AhPLZlnA{ zOdiuZST~ znoxm9%yy&%>P3i8HbG8HRE^vUaAUp@m*C%Py>T!*wTElbF>#HB!=Aw{E1e#fLAKBy z7TFutf9XzHmBvJ&-^ZwxSqGaxWDhD1~sh4iG zNr)~U%njB|co~v`66Ig-6$a~?V~IYkr%e0Y zB*kIw3%i{z;8js#aNQH&FNVd$-vI`KBO+4pq*Y+P^&J!YY(okRJQ2m|0r}a&3!gTv zQCL+UkU6Y+iyX%8yyZpNeYq>-2IB>!3L>b-b{ulbfsh1?I z_dh9xDP~A(Upo}foFOt;viK=6C0{X6diIw==7&sp) zU3*XylT1llXYk~kun{JjBs%nHp!9AKry9N?Fab7QsWpijw%i8}7_gt(XViZn!u2HN z@)XT+r4aJB^dDc!gJRpJi1oPVzcehIP1G^*(t?5qX5TL{NHAH@wUA=QwbLj1%T4@cm$}q^Q4Y}1w(X_ERLSe~#@4;?q{l+a2J8O7*7sGmnWAydy`&0S< z;E?zJ?N%Xu%^?{(yU(^>QSR$^$rc*cI`qy6Zgep*@>F^Fk{|~xA3G;?%|stqip%?- znYc~QqSsc|M4-VT3>!a-xz{PU$w*M^W5@Gj45odVn)%8xX3rR-Uxiq+c%te>pU`Yu zbMNhwdt9#A42*NRZTGTyJY~T%820ATczH zLJB{Lg+MkK56-7I8zh?VjFYvzZk<%jxv%J^;Oa9*UKf;%WG|)GPplJarNj@0+z{51 z5fDn$y-{^MN;NKKxSKO1vmtqFwvd)gl2*D&nfsBZI*kI_L8T40%@5wJ@sC;cV@dA# zXqTZ-*fZ&txk9c-fBLzOSp7VHEkdSU{9$f*m=`X4-<+XBeO7-~^PhuCZ6As<_LPY; z_ciOQQy#21U@VepJ#>(|jXPc|U8TF`adOlCgf1w_9hhtc%DTs_z6R}4%XuN=kZ-0cp6+&v;r%nGkgCJ1g8Q~rp6W*{+;n0YR!0u0};PgIQIl@ZX&Th zK<>0bYQ~c8f`obZ#xw6;IVv_@zXr%!Pe#iXh=6<&aUfTF|4`j)zmeST4Ms>Rvyn?P zyHLywVOv8JMk;!y5A;>mqu!C3YPke%LHXt3?;0vHv5`yj{ju2~LAOiTzrtjDG&VW# z?%Q_?9(X0>j~FD;YxjbTT$?!w!xJx$-LTiC=OLuf-iF!NlMySJTGO!3iDm7(as4Fk zxCi}rpd#^7m4T@-ycrb8WUeY}m9gHR>5`=)lJXUJN^V~0VJX5ezy9k43H)7Do)AOz zzUvU+K*64M(iDDQ@9m3cEU0$ym)SZd{v|fVIHBFXKzX{uDX_0LG8Nd*3eKF@Y)?6& z7`4Le{k6O+nm>?el381Vb&TW5HEU)mMvbWTUhLR01N?_9$)ATp17&BwuDP`yYjwz) zQv^Y71%!Z?81ExXXqCgIw209F=Bs{78a8f1jz3v=_a}cF?f2v)Wf$`i6bWW0O*f^| zZw)mA%O)5{pBx(UxY#J|VJCqL)w_uh9FG}q#@#}4hV(K*B571^2A z=4)mYwk6&m<0Sn&pZe$)f19SGmmjs#=y$ay9`G?3^1%bx2cXy8eX4q(v-klMeAkrfG**u6BLUyH z-TBpaCr%KqQ&eC?=Vm?2;F*)7@Npzl3_QV}|Bhq2M$G3UypG@5!WgePppt6rp$s;n zm&?*ReVmPBo_RG-te^ml^r*ngH${vvdcr^?m z8$9Li?eC|(36x!9ur%tkWI$=e{9qB*m&NJ_Mc|{{@rZbW=Ti&ukF*?Rg0>}$=b2$w z07+QfgAW8!>TnGC<73jvDwj$ZV>15&aS*B@`-0&kq+Fw9VqjgM2gYo;+(mcEm_>xw zRO=ca)n8D@;&(Hc09TSq5sh9HJ zd8ru7*4rZz&)qW%U(-a)S%Bv%Tp7QLzs;TJNobSwt#OgWqswmIpZ*lbPp00u$+yVq zydI{-Lkz>mc5YF%{WP1W7c=}SxUeHZS$^&QR_ODFw5M2~f$pYLZH?wM)q7){aP1Ik!_6x#Sqv6M56^j0VlymI3*$#8p2Cv zZQ?dF{UY})I?wN-=^u%A)+^;iAA`<#i?CrFkmwLxL^OcQ#4mphiYw71aE8uwBZl%7 z|4ti}NES>&hPz5i_Ui0d9UYl$qdPPfot7Oi=yu0=X(*RFUj9<#TjQM`m1V~lqWzxR zSF69@SpQ1vtV=`M5t|>mHU_U=o_x(_x98xW&hyEXh3#GzYwc$Cn7o*|^L+SgbL_jO zz#|U#Qc2M~OEX!r(Q?j1&TE40S(+X3ZgMhD9M{jVc%;=CkD4Wa@NHN^uj6^xSTvy4 zPTG3Qo?tD6aw|gVfOf+qQWN$ouIH4}l<0JRN~$Zm80@`PXut!r z%$QKxWJ8W~Q*n`pht509VbLlCQX5g{CnFsfq2e$zDLkl~c7p8p08nxn&Z64jnPLR% zIVz7B{17=lK#(ag*8el>$?1UL-HbSr42BWh#t>juLi@$N|3?d;=IEFXQ-mbUTc6{f z5r0|qpp(2jj9Dr0yA@si!eRNzSr1d7&1@>tufZ}BtAp7=6(9Zh_W+F&U7i}4TWui4 z0$50tZ?<4DWLl`1)YLR%G?o0W`ZO443&nH)ZOXPYpe|qv+7soY zfP_SjW=r=Yi63?Ft!M%jfz-(Nc5L@G&0Z%zz4b|$$J#D>@isx^NOem5Zi2@aCL1nE z?eZ{x4_q0Cf1m#+y)qL+?B*60Lx80Xwcb-1{2Wg3)*aX#V9CydvLURT^F+18U4I5;73s0t_~FAC-lq0@PGpsW{mOzH13|th z1M=~1qOe|j0Mv^XY$=2b|CXjrZ-Ngg6^pot${t8c6$#nBH&};oN2Jyv37Nz4)oY*~ zLoj55E_wE;0p#J>wWNJaXrllT-{o>YN5SOpQ4-*@sK!sZAHn1f2s^;lK<4iU1{?xy za(v1;Z|GLSK_Z@AK>HkjJY{g|B{0(|cN~sMm;sP+c7A?-b%OU{U2k;lGdsa>rEPCc z7hJeNz9k0Cv+%VreX-}%9V@J%-7f3t`ibV7&WXo=$fBx_(BLpLgd_uV;!0rqo|Do= zJ@5snu5|AnC%i&3gK9?8(9od&$*5JN5M~g;zqrvH`@&4fA}+8#ZwN=wQ`^o% z<>4puR6z+siDK`=@tJQbnV8#5)_s2x?4cAk zIr^OXldK=Ii&i-=ygUy)pGl@&e%!=W@2EZIc&A`5Q}HXGsrFKi6&b5ORJqNChIeN> zbYH)Mp}I8vy{ybuzdzlNO|XfLjpY*(QbxVi4BH!VEHx%nqgnfvuHw$wpx;qvu&aTY81bR(dvVZSR4ENX7Z!X_7*b+^i&o} zN(C7UDs1=Ae!xAb^X}cicNP{UN}t2I1I%}}0~CmR&%4Tuf87TypFZqK;&->egR{(A zG}~+LdZ%mmqu}B{WV0+{T@mh8BbMbRimAD*Ug?KJ@-&9R8r+UHM2>wE%!+U&8`FAW zv)BMi^)TG#NW_ngSR#fr4R{psXz!Big%IudqFXHS7Vd8qoq=iv2ZM{lC9r)++ucGA zIM}9ery5BTOHoZcP8+fS2K$aIF^M)3&3~)0DzPVZX>A(B-N_$HNK88DY3$a^PODr5 zC$E<(4o5qVEsPl@*Yk$6+bWwO#Fb?Ar6UpYJ^OSBL@LW(Yny@JNX+d_z_CmJ|cHY9im$nyEcW zBw7k@(c~Ch^6Ag+16syhfgh?g2mf$fw z;4)uR!ZqR5HDT%DBWy{g8r=w||JxTl&wB~IMtv+Yg}-<*PSAlrVjad?eSl50kDldU z?fYW5fH3qV(<89}$|5d5-p1ID`EZoLJ_`H`Tvos%?tk8wb1R@?Q^9q>fduLGDXqP= zu$X)hbcl`||c?pP_kos>QXffdzIDezlMJImR7>K7H zZ(Apuur zLO%lnl!^^xuKx*jF~qPpZ#%oo>u^#9xT$jN0(LJ#mjfH{ zCuiaIwQY+mVfC#Omy=lP?W>?am2U)Nbn8pyZ#nb!ObStx`moA5j}8kPf`})5DPuDdCQ>gzMTl1ztP*uEIwB>JCrDn z29pa`l)_%Rkyx2vUoXFmjFCjgRX;4?idwn;B8?&J<;w)PJn+LD6D_uqnQ8}Tob(DB z-3G2wr1wI&GOE`Oahn*D8k-Wd+|hjzN74#+Y1T7qFU0Spt;8{_K{fKf6(rlKHvZXp zbm~!~l;r&DOQYY}OwL7okDWJJ6W;v(eGEm>D84)~Rdc+ZrX>6ZpxnDH2e2*HoU+oz zE;@C(cd&sI!*_=&*e^5iS1h^?tvjJWvUX`-b+c12SrcQ07C674pe76t$W(l=9#6d3 znzd_PKw#=$iWDzF#s3y&< z%o!$(LRct|slC_P4qYkeLRe$Ns3?7p;QX0ghY%u|L{x2ABuGVBqB8~o zA0zq$ppG;mWxX=7vyc!uc;TsgwPnQ1{!%Kg2yI^*Sbm8~=Tl8Q>sm(78SXYNHN zxZD5xTgH<7vpZDuQc^D=Q|KtE@%wg@Le%BE{MKMMV~cj*EkgRb?EqAI1nH2oLNFyB zfue#!e4Q@sCHezE)87*Q0IwcSd|+-4)KWUDE?Ix6o;)E~>AC!AQDfVGo}?7=1!dr$ z1PGSC;wD;#gpxwqmL^Xfp{*ILE9umbzAcIer{ISiS+z(!^-b{ZcyR5 z6OMI_0F)^(sxflw4JP#irXon`1_K##;>g{CN0C9F8|j}Ay9!jUwp#k6I|UAcwJhmb zK3TL4kOv+t-g|_8Q{T<1ih^OX{P?08N=6M>G7uJvykz}i z&pf!zrufWv@9ItXu>fM$2IqrvS!)XoBqN%+Z}3e(9Jxtb=zPFhE9bKH66YvHwn0uO zES5+g2iTP0C}gEUG?V{}`QX77)KQF(o-L61Iatp(!9uUBW*VV0{cRwZOagq>6H$>h zr$dQ>Zk#eD;ZN4yn?oNxE^7MYNWyGGhcXH1_-Xc9$V@~cMrqe>5!}suXAQ@ZE1@7_ ztZ`R5*4&gC`^2WGsOY$`ZWbkI6TVu{^c>kp3Kfbne3=r`#|r=b4rmTct_20OFmj_r zgB&81G5!it zYML)jkEw{Q=BYnH=d@hcf8{% z+B*CI!*JAn2?Ni{^VPt;G{p60lsH8{d|={^wE}^}zyphgRB%T{C8WIreuD1uUQ}FGOX@&n^?Qq49IZ}xRGo`oU{FpW~ z9&-{ttCTGzz}?YQSg3f~@LzOpfjrZKyNFTi^}Ac_C1cOFZSi#L+-Kc7J9^{Wav_7_ z%GN3Q+nWOn6z{XNh$gT)h}y})caaI6Gvix} ze!wlfKS9b7hG75oW2T0mcG~N}q?Lfsz+fiSyjLRD?Ly1Aa$TNnYLRwRq7D_5?laVv z5OV8~(EuO~mN3FAS8)Do;55SaC&C|2+F%B}ZHk8^(J_jCL#AHP{ z@LHGGv^8{Kv+zyKw5;W-hQTH}<*E^1f=pm9O#u1=dIt|4KW>J~%7UwK!);N45&&TT z^p7$SA3$XlhaHwAVJi9iB4;Gv0u6N*~O&1`=a>uO3Bf&j|ED_>`^IJgp_*pq6Tl| z;m)nxe7Xja0IdRZZx$HPh?}$>0%$V8*A}<5X}fYnX8vy(SBSE*vKFWbam$*W8AIJd zIUUhhr!@p7UbN)tJLRyx`t)hwE;X=D!9hV$hzc`1YY7Sp3i^4Y16>4>rkDp&KF~c_ z&?8Cnkx;_`pD6_U6L}fp{l0?E6wnr%UCs3j_2Io4($m2;#=hnK1#U=F`Tkz}Rj-Sn z2T7P_^y$?k>zMn{U)rXqAwrWaY9xukocxVa?>+}CdcC53mkT{d{N8#K+2nE{;j7^n zbAgez!VeW=bP&J(x{9zV>nNGx2I@8uuWc58o&**q(A+!c5qOz+z8UMn z0waV0>2HuC8~KW{F#IZP@iKftt#l<}?@%aP1i@JJKdl<@>T3cmw!Lol=d-6zFI}&{ z_vld*ps!|Zg@3mbfe2*9BpUMkkar+iQ1Q9uBU`(`%KvY&kGr6AL~L~xvoFViY54Gs zZeqld2;aHkE=;os&t&}I-C6~>a;~$QGjS}oM7K%*!@iShAzgEyay|6~D)n-dfsEc5 z*yqV3`Vjuok?HQO6If8sf8>ZZs%Q(=B;)|&12?evK@E56JB)IhfMYy4mB1Rp>_|qT zW_SdzwV~sTO>25AR6}y4V4Ve1mIVcd-H*an+UZ!+Qqzd%>kqH%<8!^tSe(>A0< z_EHk<8jE+H&Z1a?U*4+fhr7edeg#!qOtfsOZyzm%D~^n(d2*Zi`Wt%fGVY0gd%2ho zEk^uE@X_0K;5eE~2I474_c3cT;uXi?^xM=$-J-HFH;es-Y|8S4TpBze56O9>?d&c{ z?ZUFBPAIEpvGPDVct@)7B**mm_yB8;?_nSKj*=mlZ``?YX@c(LuZ(OviC4eFmg z8J>?WOpUc=im|V*r1i?*4ekyqZt=ACH7&moNj-L)i^Zz-CHvmhzU(5jE5<(9UK4gu zE)7oCUoA4e+2<5wjtDU$MKnSe7muRY2;~o93oD*iFBsPZAo$H0y+s?I%TFG62EDu# zZp%Su74!N6=fP+YsOp68#icj&HO0E2I?z%naHCfa71{ICG%PD$!`RPM$H*o4cQ=Vn zWTjjnjpXcd8veT!L|KAj$sJikKcRZ@Vl-L9iB4UddaNRWjec!;l~q-T1>_7}nzW2V z!jPB{fqR{dAUs>0FWv?mYp9=|n-l-!mDV*vivgWmgB>S6A{^5HP`g#@HKWUYinV$Y4mWvhBpJk4e%^DX+8ImcxBlync9n!GgRH_($h+W)|JQ|M zAC>6Ra6?nIMAm^07}M1|?>J&vh&xFj4~qR2vq|mnmQ7Q6cLLHQ6AO`=kTCmvzNp0U$c%6*rRCbJAJ@}G>&{tsv&bX2iTkP1Xs$~55fMwqYgM4S}kf?xPFksigV-J4ug5$4uh-l>!;C=(xEvHWJ zYH?~D1h1s2wva-D#DVT=n1MV&UJ>^<+pIoQTucS<*Gwm8`oX&nYz zpu?2wL3iMPN}N9)JbFaWP2GltFGy$BU;^Yg4}^lQ`E$JhLE|v6si9UXf((oW z{67d97wV#2b&-}aUhCQ!TG(y5h_lSJU3k-q=8B66!BIhcI#gfUBgh0hQ zSUO6_e@VKWR@6U z%DS7WO><y@YA5xo?82l*U||2%qtYvlxcT<(Ew!Ed1j#^e z0<*>Kc9eMU(EfpyogI-cOybz(Yd-#m_C)pi4qSaV!;)%?2EyndO62aG2X6;vStb@7 zl+5D4?!H^iC$ag_1#%b8mLKSAa;4;5MiY z>s*{pc4v>WlEvA|4q-m6glE)VqM<_7Fk?tX2dBF7RxuYf*}!s9#*6c2(XTr@{_7m{ z^b9~|CBjn7VV8$x97R8l^YbeLMtlb&;@D}iAkCcp*(!}tYajr=t&2o?uSu43o?Rt3 z2l)e!BF9 zyS8x00e57lYFZEOtoLz^aldMdwY)ug_`#A&LG+GLqZV`bTh<_$_|A45#b$!m=9Vyo zRBIS;5)e-{S9~rAf}%v0N^ds3o74Q^%hV~D^iVmTP&Bde>t?YDgSEgNrGrp)V5go~ z;70hfq8*{nua_P}m?}K(@T1pG62%9^Z3E(eZq{AWmo%Tl z?z;i4p2-fU+TJz^S2zMQ7@I&RoYzU19*@qhK|I_Oav~~bR^PIe-SzeLKXgyTBEb&T z#|Dr_9ufo%?6&Y+-4{{AuxheBnJH@oXF48RaE%>Q6cxn;lhf0mPeVM|BBjZ`&y4O!c^FD{t=*& zJ0Z^r(_yGDuUL-;AkVi;%Qi8+bL_1UX5Z*FHf3Da%TqFa|C*Z=c4u--5)qgq=cOX_ zYcY2bi^^5VFjp09hG02^S`=hm`JQ}te%`+(z4&E^!=(EK;k|oL0>w5F0SsXg5Y^~; zHS_EI^r*c;>nt><#GZ?m>P95^aZJ-2?dywVVm$s<>N8cjx6Wp~>+c?&+0lJHmATKm zwdm2C99oeOZSm+xpe5(icdVfvR@Ds?zcT71>Y3zW*q=aX6~qV9sFHFX2*SaSd}kwy z1rE=8Joo)eNc)xSTaIqdBnTVAu;W=YVyVR>EI9eZ#Oim_pv@3>>LUx|6!H69NqJGq zJ9}ro=%vl`TBFZ2&&Q{H%-gagMUA@b=alZMXEb#edA(e``Y`{nP=ETB&I+E){(q9; z)fH+LtrH2(@>h2W-H+c&)vu3SI8b9e zkPS$`x{Ro#?*T+Qx`_GQw>JZ%0<(Z;uvW4>&yW44K$!3&Ofh0{G0W>slUx-EE<4=TUCH1HR-r zP>`Ka47gieNytX(?iR$%08r|`zvxdmF5>Em%R%I55V7piyxDqmKi{`Y zO~$A2;Hsh?9t`GpOX;v*&$VN&XyzBxn9ay0E+ZY13pm3>G~*VgrZ!J5nv}2)G!dET zsD3Ul7vSUjCcUx{rB)Qfb2!;aL8Zw}U0_p5$sgkPHI+L`bUOW__wO-}mP>*0w~1&u zG^NJVfB7|nBdO3xbG!*YCkk7AP4WG-&@1Cnz#1`;b}v+ipFIC4c_j@w-hjZ>3bEB+ zX5H<3zAXp7^bP_!h}W_~1KQPXOS%iqIJnN}<&zF{Y=T5k7c9lsUM|9JoxbZd^n~bO zEnSV8T~#om#|vleuE&0>wy!)SY+!JBdq?}(?bFkluf}R~JL4A3Z-*w)#O!lgujIkn zhnkn#-rzJg-OzMSXZ zulzV(vWZ$~a!_+*Mr!d{@#EvYm#haXtK*rt7#SW;t)Q$)5~@e%jYsm7FiInJ+zJc~ zI4iK&h+k!q1|e&> zX|pJwUDx?CRk%LtN1jj4`LSj|c5rZO>4z^}U0oh^22nrUqj^xZ#_iU{S|>t_q3$69 zR<24VtXL%)i^D1p7ls{t8gMzKv-O!)Y}~rl(%T!uEmQ~F@3?Lx_Hy~joiP_xAP^qR zc#o5j{9sfL{eyzs98Tb5st*Pn|B!+Sah!G1on*E^yDVS!ud8iM4oImLLhaCWWzMTo zD5uB9WIG2(JbFkV!xc#dkNRQ~HE3U@Et`LBoFgrnKk=hJheYb0ZJTA#Y-vED00?eH z+6*9!k?=xLtHu&FA^;PS-qIm?I~G-!?Na(EHONs{Hxvu#uVjZ!_o=VC&<@1`B9nlm zq#gk+9E?im&WW^J^@&f;6Ilcx=hvn-J;y~(facy!F%#u+jeIjKP7M^vqhGo{c8w-u zR5HOZFCDIoDX10-IX>~A)W@!7H2@HBK2dmH1k73(d_^!@X_U3& zLo8dx+$UcBhuJ}t$*!eE>gf3YB86A<3TUwMs+9jox;2B@$3wg{6>Pff+N~R<_3@!O z�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

s1o@NJ}B1_~G$+C?NJ!aMXA7Z;;N9xD9X+9SB_ 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 Gr2GXM)r_40 From d30f8e6e682bd1a71199b3a977b0058d5e3cd5e9 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 1 Jun 2023 10:36:38 -0500 Subject: [PATCH 066/463] GET for oobis, operations, key events, key states --- src/keri/app/signify.ts | 123 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index de508856..70a3b25b 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -167,6 +167,22 @@ export class SignifyClient { identifiers() { return new Identifier(this) } + + oobis() { + return new Oobis(this) + } + + operations() { + return new Operations(this) + } + + key_events() { + return new KeyEvents(this) + } + + key_states() { + return new KeyStates(this) + } } class Identifier { @@ -430,3 +446,110 @@ class Identifier { } } + + +class Oobis { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(name: string, role: string = 'agent') { + let path = `/identifiers/${name}/oobis?role=${role}` + let data = null + let method = 'GET' + console.log('this.client', this.client) + let res = await this.client.fetch(path, method, data) + return await res.json() + + } + + async resolve(oobi: string, alias?: string) { + let path = `/oobis` + let data: any = { + oobi: oobi + } + if (alias !== undefined) { + data['alias'] = alias + } + let method = 'POST' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class Operations { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(name: string) { + let path = `/operations/${name}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class KeyEvents { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(pre: string) { + let path = `/events?pre=${pre}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} + +class KeyStates { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async get(pre: string) { + let path = `/states?pre=${pre}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } + + async list(pres: [string]) { + let path = `/states?${pres.map(pre => `pre=${pre}`).join('&')}` + let data = null + let method = 'GET' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } + + async query(pre: string, sn?: string, anchor?: string) { + let path = `/oobis` + let data: any = { + pre: pre + } + if (sn !== undefined) { + data['sn'] = sn + } + if (anchor !== undefined) { + data['anchor'] = anchor + } + + let method = 'POST' + let res = await this.client.fetch(path, method, data) + return await res.json() + + } +} From 792d50b9210965fc1c1e4c52999a1a3aaaf01d1f Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 1 Jun 2023 10:40:46 -0500 Subject: [PATCH 067/463] classes from coring.py --- src/keri/app/signify.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 70a3b25b..1d9a6f99 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -447,7 +447,6 @@ class Identifier { } - class Oobis { public client: SignifyClient constructor(client: SignifyClient) { From 9bac888381e2c3d14307957293368f7b4ed6fa8c Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 4 Jun 2023 20:32:18 -0300 Subject: [PATCH 068/463] fix missing bran in create aid --- examples/signify-react-ts/package-lock.json | 1 + examples/signify-react-ts/src/App.tsx | 1 - .../signify-react-ts/src/MainComponent.tsx | 4 +- .../signify-react-ts/src/TestsComponent.tsx | 83 +++++++++++++++++++ src/index.ts | 1 + src/keri/app/signify.ts | 7 +- 6 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 examples/signify-react-ts/src/TestsComponent.tsx diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index 385b5cfd..ae33bcfb 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -34,6 +34,7 @@ } }, "../..": { + "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { diff --git a/examples/signify-react-ts/src/App.tsx b/examples/signify-react-ts/src/App.tsx index cdc951f3..4f73b0d9 100644 --- a/examples/signify-react-ts/src/App.tsx +++ b/examples/signify-react-ts/src/App.tsx @@ -3,7 +3,6 @@ import './App.css' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import {SignifyClient, ready} from "signify-ts"; -import { Signify } from './Signify'; import MainComponent from './MainComponent'; function App() { diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index f818e99f..7bb0fb54 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -30,6 +30,7 @@ import { } from '@mui/material'; import { Circle, Menu } from '@mui/icons-material'; import AddIcon from '@mui/icons-material/Add'; +import { TestsComponent } from './TestsComponent'; import { SignifyClient } from 'signify-ts'; @@ -224,7 +225,7 @@ const MainComponent = () => { onKeyDown={toggleDrawer(false)} > - {['Identifiers', 'Credentials', 'Client'].map((text, index) => ( + {['Identifiers', 'Credentials', 'Client', 'Tests'].map((text, index) => ( renderComponent(text)}> @@ -317,6 +318,7 @@ const MainComponent = () => { {selectedComponent === 'Identifiers' && } {selectedComponent === 'Credentials' && } {selectedComponent === 'Client' && } + {selectedComponent === 'Tests' && } ); }; diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx new file mode 100644 index 00000000..1da4079d --- /dev/null +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -0,0 +1,83 @@ +import { useState, useEffect, useRef } from 'react' +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder } from "signify-ts"; +import { SignifyDemo } from './SignifyDemo'; +import {strict as assert} from "assert"; + + +function generateRandomKey() { + const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + const length = 21; + let result = ""; + for (let i = 0; i < length; i++) { + result += characters.charAt(Math.floor(Math.random() * characters.length)); + } + return result; +} + +export function TestsComponent() { + const [pre, setPre] = useState("") + const [key, setKey] = useState(generateRandomKey()) + + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + const inputRef = useRef(null) + + useEffect(() => { + if (inputRef.current) { + // inputRef.current.style.width = "auto" + // inputRef.current.style.width = `${inputRef.current.scrollWidth}px` + } + }, [key]) + + return ( + <> +

+ { + try { + const url = "http://localhost:3901" + const bran = '0123456789abcdefghijk' + // const tier = Tiers.med + const client = new SignifyClient(url, bran) + assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') + const r1 = await client.boot() + assert.equal(r1.status, 202) + await client.connect() + assert.notEqual(client.agent, undefined) + assert.equal(client.agent?.pre, 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei') + assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') + const identifiers = client.identifiers() + const aids = await identifiers.list_identifiers() + assert.equal(aids.length, 0) + const aid1 = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) + const icp = await new Serder(aid1) + assert.equal(icp.pre, 'ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK') + assert.equal(icp.verfers.length, 1) + // catch (e) { + // console.log('error connecting', e) + // console.log('booting up') + // await client.boot() + // await client.connect() + // console.log('booted and connected up') + // } + // const identifiers = client.identifiers() + // const resp = await identifiers.create('aid_' + generateRandomKey().slice(1, 3), {}) + return "Salty Integration Test Passed" + } + catch (e) { + console.log(e) + return 'Salt Integration Test Failed' + } + }} /> +
+ + ) +} + + diff --git a/src/index.ts b/src/index.ts index 425b1a33..d9bb293e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,6 +8,7 @@ export const ready = (async () => { export * from './keri/core/salter' export * from './keri/core/matter' +export * from './keri/core/serder' export * from './keri/app/habery' export * from './keri/app/signify' diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 1d9a6f99..078f9e6f 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -226,7 +226,8 @@ class Identifier { nxts:any[], mhab:any, keys:any[], - ndigs:any[] + ndigs:any[], + bran:string }) { let algo = Algos.salty @@ -262,6 +263,7 @@ class Identifier { let mhab= kargs["mhab"] let _keys = kargs["keys"] let _ndigs = kargs["ndigs"] + let bran = kargs["bran"] let xargs = { transferable:transferable, @@ -281,7 +283,8 @@ class Identifier { states:states, rstates:rstates, keys:_keys, - ndigs:_ndigs + ndigs:_ndigs, + bran:bran } let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) From 06392c6c362e01679b5bfade89b07d7b4cf44e58 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 5 Jun 2023 22:55:45 -0300 Subject: [PATCH 069/463] fix count ncount --- .../signify-react-ts/src/TestsComponent.tsx | 54 +++++++++++++++---- src/keri/app/signify.ts | 11 +++- 2 files changed, 53 insertions(+), 12 deletions(-) diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 1da4079d..69332bf8 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -53,21 +53,55 @@ export function TestsComponent() { assert.equal(client.agent?.pre, 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei') assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const identifiers = client.identifiers() - const aids = await identifiers.list_identifiers() + let aids = await identifiers.list_identifiers() assert.equal(aids.length, 0) const aid1 = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) const icp = await new Serder(aid1) assert.equal(icp.pre, 'ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK') assert.equal(icp.verfers.length, 1) - // catch (e) { - // console.log('error connecting', e) - // console.log('booting up') - // await client.boot() - // await client.connect() - // console.log('booted and connected up') - // } - // const identifiers = client.identifiers() - // const resp = await identifiers.create('aid_' + generateRandomKey().slice(1, 3), {}) + assert.equal(icp.verfers[0].qb64, 'DPmhSfdhCPxr3EqjxzEtF8TVy0YX7ATo0Uc8oo2cnmY9') + assert.equal(icp.digers.length, 1) + assert.equal(icp.digers[0].qb64, 'EAORnRtObOgNiOlMolji-KijC_isa3lRDpHCsol79cOc') + // assert.equal(icp.tholder.num, 1) + // assert.equal(icp.ntholder.num, 1) + aids = await identifiers.list_identifiers() + assert.equal(aids.length, 1) + let aid = aids.pop() + assert.equal(aid.name, 'aid1') + let salt = aid.salty + assert.equal(salt.pidx, 0) + assert.equal(salt.stem, 'signify:aid') + assert.equal(aid.prefix, icp.pre) + + const aid2 = await identifiers.create('aid2', {count:3, ncount:3, isith:"2", nsith:"2", bran:"0123456789lmnopqrstuv"}) + const icp2 = await new Serder(aid2) + assert.equal(icp2.pre,'EP10ooRj0DJF0HWZePEYMLPl-arMV-MAoTKK-o3DXbgX') + assert.equal(icp2.verfers.length, 3) + assert.equal(icp2.verfers[0].qb64, 'DGBw7C7AfC7jbD3jLLRS3SzIWFndM947TyNWKQ52iQx5') + assert.equal(icp2.verfers[1].qb64, 'DD_bHYFsgWXuCbz3SD0HjCIe_ITjRvEoCGuZ4PcNFFDz') + assert.equal(icp2.verfers[2].qb64, 'DEe9u8k0fm1wMFAuOIsCtCNrpduoaV5R21rAcJl0awze') + assert.equal(icp2.digers.length, 3) + assert.equal(icp2.digers[0].qb64, 'EML5FrjCpz8SEl4dh0U15l8bMRhV_O5iDcR1opLJGBSH') + assert.equal(icp2.digers[1].qb64, 'EJpKquuibYTqpwMDqEFAFs0gwq0PASAHZ_iDmSF3I2Vg') + assert.equal(icp2.digers[2].qb64, 'ELplTAiEKdobFhlf-dh1vUb2iVDW0dYOSzs1dR7fQo60') + // assert.equal(icp2.tholder.num, 2) + // assert.equal(icp2.ntholder.num, 2) + aids = await identifiers.list_identifiers() + assert.equal(aids.length, 2) + aid = aids[1] + assert.equal(aid.name, 'aid2') + salt = aid.salty + assert.equal(salt.pidx, 1) + assert.equal(salt.stem, 'signify:aid') + assert.equal(aid.prefix, icp2.pre) + + let ked = await identifiers.rotate('aid1') + let rot = await new Serder(ked) + assert.equal(rot.said, 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') + assert.equal(rot.sn, 1) + + + return "Salty Integration Test Passed" } catch (e) { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 078f9e6f..0f12eac0 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -227,7 +227,9 @@ class Identifier { mhab:any, keys:any[], ndigs:any[], - bran:string + bran:string, + count:number, + ncount:number }) { let algo = Algos.salty @@ -264,6 +266,8 @@ class Identifier { let _keys = kargs["keys"] let _ndigs = kargs["ndigs"] let bran = kargs["bran"] + let count = kargs["count"] + let ncount = kargs["ncount"] let xargs = { transferable:transferable, @@ -284,7 +288,9 @@ class Identifier { rstates:rstates, keys:_keys, ndigs:_ndigs, - bran:bran + bran:bran, + count:count, + ncount:ncount } let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) @@ -307,6 +313,7 @@ class Identifier { delpre}) } else { + // TODO should be delcept ? var serder = incept({ keys: keys!, isith: isith, From b1c658d16b9ea26772248d8e837657b9922b9da6 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 6 Jun 2023 10:31:47 -0300 Subject: [PATCH 070/463] fix interact --- examples/signify-react-ts/index.html | 1 + .../signify-react-ts/src/TestsComponent.tsx | 17 ++++++++++++++--- src/keri/app/signify.ts | 4 ++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/examples/signify-react-ts/index.html b/examples/signify-react-ts/index.html index e0d1c840..6c2e23dc 100644 --- a/examples/signify-react-ts/index.html +++ b/examples/signify-react-ts/index.html @@ -9,5 +9,6 @@
+ diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 69332bf8..094831eb 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -95,10 +95,21 @@ export function TestsComponent() { assert.equal(salt.stem, 'signify:aid') assert.equal(aid.prefix, icp2.pre) - let ked = await identifiers.rotate('aid1') + let ked = await identifiers.rotate('aid1',{}) let rot = await new Serder(ked) - assert.equal(rot.said, 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') - assert.equal(rot.sn, 1) + // assert.equal(rot.said, 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') + // assert.equal(rot.sn, 1) + assert.equal(rot.verfers.length, 1) + assert.equal(rot.digers.length, 1) + assert.equal(rot.verfers[0].qb64, 'DHgomzINlGJHr-XP3sv2ZcR9QsIEYS3LJhs4KRaZYKly') + assert.equal(rot.digers[0].qb64, 'EJMovBlrBuD6BVeUsGSxLjczbLEbZU9YnTSud9K4nVzk') + + ked = await identifiers.interact("aid1", [icp.pre]) + let ixn = await new Serder(ked) + // assert.equal(ixn.said, 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') + // assert.equal(ixn.sn, 2) + assert.deepEqual(ixn.ked['a'], [icp.pre]) + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 0f12eac0..c5257558 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -122,7 +122,7 @@ export class SignifyClient { else { headers.set('Content-Length', '0') } - let signed_headers = this.authn.sign(headers, method, path) + let signed_headers = this.authn.sign(headers, method, path.split('?')[0]) //END Headers let _body = method == 'GET' ? null : JSON.stringify(data) let res = await fetch(this.url + path, { @@ -139,7 +139,7 @@ export class SignifyClient { throw new Error('Message from a different remote agent'); } - const verification = this.authn.verify(res.headers, method, path); + const verification = this.authn.verify(res.headers, method, path.split('?')[0]); if (verification) { return res; } else { From 7aca21cf4af066a7a91909d824b37a075fb7e38d Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 6 Jun 2023 11:01:35 -0300 Subject: [PATCH 071/463] salty integration test --- .../signify-react-ts/src/TestsComponent.tsx | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 094831eb..c9641a0a 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -43,7 +43,7 @@ export function TestsComponent() { try { const url = "http://localhost:3901" const bran = '0123456789abcdefghijk' - // const tier = Tiers.med + // TODO Add test with Tiers.med const client = new SignifyClient(url, bran) assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const r1 = await client.boot() @@ -97,8 +97,8 @@ export function TestsComponent() { let ked = await identifiers.rotate('aid1',{}) let rot = await new Serder(ked) - // assert.equal(rot.said, 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') - // assert.equal(rot.sn, 1) + // assert.equal(rot.ked['d'], 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') + assert.equal(rot.ked['s'], '1') assert.equal(rot.verfers.length, 1) assert.equal(rot.digers.length, 1) assert.equal(rot.verfers[0].qb64, 'DHgomzINlGJHr-XP3sv2ZcR9QsIEYS3LJhs4KRaZYKly') @@ -106,11 +106,31 @@ export function TestsComponent() { ked = await identifiers.interact("aid1", [icp.pre]) let ixn = await new Serder(ked) - // assert.equal(ixn.said, 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') - // assert.equal(ixn.sn, 2) + // assert.equal(ixn.ked['d'], 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') + assert.equal(ixn.ked['s'], '2') assert.deepEqual(ixn.ked['a'], [icp.pre]) - + aid = await identifiers.get_identifier("aid1") + const state = aid["state"] + + assert.equal(state['s'], '2') + assert.equal(state['f'], '2') + assert.equal(state['et'], 'ixn') + assert.equal(state['d'], ixn.ked['d']) + assert.equal(state['ee']['d'], rot.ked['d']) + + const events = client.key_events() + const log = await events.get(aid["prefix"]) + assert.equal(log.length, 3) + let serder = await new Serder(log[0]) + assert.equal(serder.pre, icp.pre) + assert.equal(serder.ked['d'], icp.ked['d']) + serder = await new Serder(log[1]) + assert.equal(serder.pre, rot.pre) + assert.equal(serder.ked['d'], rot.ked['d']) + serder = await new Serder(log[2]) + assert.equal(serder.pre, ixn.pre) + assert.equal(serder.ked['d'], ixn.ked['d']) return "Salty Integration Test Passed" From 7a3942bb1b08258939c17b2f6eb081e6d2dac9e2 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 6 Jun 2023 14:26:52 -0300 Subject: [PATCH 072/463] fix kt nt as string --- .../signify-react-ts/src/TestsComponent.tsx | 44 +++---------------- src/keri/core/eventing.ts | 8 ++-- 2 files changed, 10 insertions(+), 42 deletions(-) diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index c9641a0a..627b8441 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -1,39 +1,10 @@ -import { useState, useEffect, useRef } from 'react' // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready, Serder } from "signify-ts"; import { SignifyDemo } from './SignifyDemo'; import {strict as assert} from "assert"; - -function generateRandomKey() { - const characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - const length = 21; - let result = ""; - for (let i = 0; i < length; i++) { - result += characters.charAt(Math.floor(Math.random() * characters.length)); - } - return result; -} - export function TestsComponent() { - const [pre, setPre] = useState("") - const [key, setKey] = useState(generateRandomKey()) - - useEffect(() => { - ready().then(() => { - console.log("signify client is ready") - }) - }, []) - - const inputRef = useRef(null) - - useEffect(() => { - if (inputRef.current) { - // inputRef.current.style.width = "auto" - // inputRef.current.style.width = `${inputRef.current.scrollWidth}px` - } - }, [key]) return ( <> @@ -62,8 +33,8 @@ export function TestsComponent() { assert.equal(icp.verfers[0].qb64, 'DPmhSfdhCPxr3EqjxzEtF8TVy0YX7ATo0Uc8oo2cnmY9') assert.equal(icp.digers.length, 1) assert.equal(icp.digers[0].qb64, 'EAORnRtObOgNiOlMolji-KijC_isa3lRDpHCsol79cOc') - // assert.equal(icp.tholder.num, 1) - // assert.equal(icp.ntholder.num, 1) + assert.equal(icp.ked['kt'], '1') + assert.equal(icp.ked['nt'], '1') aids = await identifiers.list_identifiers() assert.equal(aids.length, 1) let aid = aids.pop() @@ -84,8 +55,8 @@ export function TestsComponent() { assert.equal(icp2.digers[0].qb64, 'EML5FrjCpz8SEl4dh0U15l8bMRhV_O5iDcR1opLJGBSH') assert.equal(icp2.digers[1].qb64, 'EJpKquuibYTqpwMDqEFAFs0gwq0PASAHZ_iDmSF3I2Vg') assert.equal(icp2.digers[2].qb64, 'ELplTAiEKdobFhlf-dh1vUb2iVDW0dYOSzs1dR7fQo60') - // assert.equal(icp2.tholder.num, 2) - // assert.equal(icp2.ntholder.num, 2) + assert.equal(icp2.ked['kt'], '2') + assert.equal(icp2.ked['nt'], '2') aids = await identifiers.list_identifiers() assert.equal(aids.length, 2) aid = aids[1] @@ -97,7 +68,7 @@ export function TestsComponent() { let ked = await identifiers.rotate('aid1',{}) let rot = await new Serder(ked) - // assert.equal(rot.ked['d'], 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') + assert.equal(rot.ked['d'], 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') assert.equal(rot.ked['s'], '1') assert.equal(rot.verfers.length, 1) assert.equal(rot.digers.length, 1) @@ -106,7 +77,7 @@ export function TestsComponent() { ked = await identifiers.interact("aid1", [icp.pre]) let ixn = await new Serder(ked) - // assert.equal(ixn.ked['d'], 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') + assert.equal(ixn.ked['d'], 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') assert.equal(ixn.ked['s'], '2') assert.deepEqual(ixn.ked['a'], [icp.pre]) @@ -132,12 +103,11 @@ export function TestsComponent() { assert.equal(serder.pre, ixn.pre) assert.equal(serder.ked['d'], ixn.ked['d']) - return "Salty Integration Test Passed" } catch (e) { console.log(e) - return 'Salt Integration Test Failed' + return 'Salty Integration Test Failed' } }} /> diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index cda2d034..a619a01d 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -48,10 +48,8 @@ export function rotate({ data = undefined, version = undefined, kind = undefined, - size, intive = true }: RotateArgs) { - let vs = versify(Ident.KERI, version, kind, size) - + let vs = versify(Ident.KERI, version, kind, 0) let _ilk = ilk if (_ilk != Ilks.rot && _ilk != Ilks.drt) { throw new Error(`Invalid ilk = ${ilk} for rot or drt.`) @@ -186,9 +184,9 @@ export function rotate({ i: pre, s: sner.toString(16), p: dig, - kt: tholder.num && intive && tholder.num !== undefined && tholder.num <= MaxIntThold ? tholder.num : tholder.sith, + kt: tholder.num && intive && tholder.num !== undefined && tholder.num <= MaxIntThold ? tholder.num.toString(16) : tholder.sith, k: keys, - nt: ntholder.num && intive && ntholder.num !== undefined && ntholder.num <= MaxIntThold ? ntholder.num : ntholder.sith, + nt: ntholder.num && intive && ntholder.num !== undefined && ntholder.num <= MaxIntThold ? ntholder.num.toString(16) : ntholder.sith, n: _ndigs, bt: _toad && intive && _toad !== undefined && _toad <= MaxIntThold ? _toad : _toad.toString(16), br: cuts, From 4f1bc8a4d86435304d36a15cb8cefbb7dddb0416 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 6 Jun 2023 17:51:09 -0300 Subject: [PATCH 073/463] randy test --- .../signify-react-ts/src/TestsComponent.tsx | 110 +--------------- .../src/test_components/Randy.tsx | 84 +++++++++++++ .../src/test_components/Salty.tsx | 118 ++++++++++++++++++ src/index.ts | 1 + src/keri/app/controller.ts | 1 - 5 files changed, 207 insertions(+), 107 deletions(-) create mode 100644 examples/signify-react-ts/src/test_components/Randy.tsx create mode 100644 examples/signify-react-ts/src/test_components/Salty.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 627b8441..76e96f13 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -1,116 +1,14 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready, Serder } from "signify-ts"; -import { SignifyDemo } from './SignifyDemo'; -import {strict as assert} from "assert"; - +import { Salty } from "./test_components/Salty"; +import { Randy } from "./test_components/Randy"; export function TestsComponent() { return ( <> -
- { - try { - const url = "http://localhost:3901" - const bran = '0123456789abcdefghijk' - // TODO Add test with Tiers.med - const client = new SignifyClient(url, bran) - assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') - const r1 = await client.boot() - assert.equal(r1.status, 202) - await client.connect() - assert.notEqual(client.agent, undefined) - assert.equal(client.agent?.pre, 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei') - assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') - const identifiers = client.identifiers() - let aids = await identifiers.list_identifiers() - assert.equal(aids.length, 0) - const aid1 = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) - const icp = await new Serder(aid1) - assert.equal(icp.pre, 'ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK') - assert.equal(icp.verfers.length, 1) - assert.equal(icp.verfers[0].qb64, 'DPmhSfdhCPxr3EqjxzEtF8TVy0YX7ATo0Uc8oo2cnmY9') - assert.equal(icp.digers.length, 1) - assert.equal(icp.digers[0].qb64, 'EAORnRtObOgNiOlMolji-KijC_isa3lRDpHCsol79cOc') - assert.equal(icp.ked['kt'], '1') - assert.equal(icp.ked['nt'], '1') - aids = await identifiers.list_identifiers() - assert.equal(aids.length, 1) - let aid = aids.pop() - assert.equal(aid.name, 'aid1') - let salt = aid.salty - assert.equal(salt.pidx, 0) - assert.equal(salt.stem, 'signify:aid') - assert.equal(aid.prefix, icp.pre) - - const aid2 = await identifiers.create('aid2', {count:3, ncount:3, isith:"2", nsith:"2", bran:"0123456789lmnopqrstuv"}) - const icp2 = await new Serder(aid2) - assert.equal(icp2.pre,'EP10ooRj0DJF0HWZePEYMLPl-arMV-MAoTKK-o3DXbgX') - assert.equal(icp2.verfers.length, 3) - assert.equal(icp2.verfers[0].qb64, 'DGBw7C7AfC7jbD3jLLRS3SzIWFndM947TyNWKQ52iQx5') - assert.equal(icp2.verfers[1].qb64, 'DD_bHYFsgWXuCbz3SD0HjCIe_ITjRvEoCGuZ4PcNFFDz') - assert.equal(icp2.verfers[2].qb64, 'DEe9u8k0fm1wMFAuOIsCtCNrpduoaV5R21rAcJl0awze') - assert.equal(icp2.digers.length, 3) - assert.equal(icp2.digers[0].qb64, 'EML5FrjCpz8SEl4dh0U15l8bMRhV_O5iDcR1opLJGBSH') - assert.equal(icp2.digers[1].qb64, 'EJpKquuibYTqpwMDqEFAFs0gwq0PASAHZ_iDmSF3I2Vg') - assert.equal(icp2.digers[2].qb64, 'ELplTAiEKdobFhlf-dh1vUb2iVDW0dYOSzs1dR7fQo60') - assert.equal(icp2.ked['kt'], '2') - assert.equal(icp2.ked['nt'], '2') - aids = await identifiers.list_identifiers() - assert.equal(aids.length, 2) - aid = aids[1] - assert.equal(aid.name, 'aid2') - salt = aid.salty - assert.equal(salt.pidx, 1) - assert.equal(salt.stem, 'signify:aid') - assert.equal(aid.prefix, icp2.pre) - - let ked = await identifiers.rotate('aid1',{}) - let rot = await new Serder(ked) - assert.equal(rot.ked['d'], 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') - assert.equal(rot.ked['s'], '1') - assert.equal(rot.verfers.length, 1) - assert.equal(rot.digers.length, 1) - assert.equal(rot.verfers[0].qb64, 'DHgomzINlGJHr-XP3sv2ZcR9QsIEYS3LJhs4KRaZYKly') - assert.equal(rot.digers[0].qb64, 'EJMovBlrBuD6BVeUsGSxLjczbLEbZU9YnTSud9K4nVzk') - - ked = await identifiers.interact("aid1", [icp.pre]) - let ixn = await new Serder(ked) - assert.equal(ixn.ked['d'], 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') - assert.equal(ixn.ked['s'], '2') - assert.deepEqual(ixn.ked['a'], [icp.pre]) - - aid = await identifiers.get_identifier("aid1") - const state = aid["state"] - - assert.equal(state['s'], '2') - assert.equal(state['f'], '2') - assert.equal(state['et'], 'ixn') - assert.equal(state['d'], ixn.ked['d']) - assert.equal(state['ee']['d'], rot.ked['d']) - - const events = client.key_events() - const log = await events.get(aid["prefix"]) - assert.equal(log.length, 3) - let serder = await new Serder(log[0]) - assert.equal(serder.pre, icp.pre) - assert.equal(serder.ked['d'], icp.ked['d']) - serder = await new Serder(log[1]) - assert.equal(serder.pre, rot.pre) - assert.equal(serder.ked['d'], rot.ked['d']) - serder = await new Serder(log[2]) - assert.equal(serder.pre, ixn.pre) - assert.equal(serder.ked['d'], ixn.ked['d']) - - return "Salty Integration Test Passed" - } - catch (e) { - console.log(e) - return 'Salty Integration Test Failed' - } - }} /> -
+ < Salty /> + < Randy /> ) } diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx new file mode 100644 index 00000000..9f705e94 --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -0,0 +1,84 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState } from 'react'; + +export function Randy() { + const [testResult, setTestResult] = useState(''); + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/examples/signify-react-ts/src/test_components/Salty.tsx b/examples/signify-react-ts/src/test_components/Salty.tsx new file mode 100644 index 00000000..d10bab02 --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Salty.tsx @@ -0,0 +1,118 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState } from 'react'; + +export function Salty() { + const [testResult, setTestResult] = useState(''); + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/index.ts b/src/index.ts index d9bb293e..871088cb 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,6 +9,7 @@ export const ready = (async () => { export * from './keri/core/salter' export * from './keri/core/matter' export * from './keri/core/serder' +export * from './keri/core/diger' export * from './keri/app/habery' export * from './keri/app/signify' diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 14af872f..30be4b56 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -152,7 +152,6 @@ export class Controller { let seqner = new Seqner({sn: _agent.sn}) let anchor = {i: _agent.pre, s: seqner.snh, d: _agent.said} - console.log(this.serder.ked["d"]) this.serder = interact({ pre:this.serder.pre, dig: this.serder.ked["d"], From cc0d688328f19609bd882baa08db7dd2ac8f3360 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 6 Jun 2023 17:30:27 -0500 Subject: [PATCH 074/463] Ui for creating salty and randy with params --- .../signify-react-ts/src/MainComponent.tsx | 438 +++++++++++++++--- 1 file changed, 386 insertions(+), 52 deletions(-) diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index 7bb0fb54..9d2ae878 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -6,6 +6,7 @@ import { DialogTitle, DialogContentText, DialogContent, + Modal, DialogActions, IconButton, Typography, @@ -26,9 +27,10 @@ import { TableHead, TableRow, Fab, - Divider, Grid, Stack, Box + Divider, Grid, Stack, Box, + FormControl, Select, InputLabel, MenuItem } from '@mui/material'; -import { Circle, Menu } from '@mui/icons-material'; +import { Circle, Delete, Menu } from '@mui/icons-material'; import AddIcon from '@mui/icons-material/Add'; import { TestsComponent } from './TestsComponent'; @@ -315,10 +317,11 @@ const MainComponent = () => { - {selectedComponent === 'Identifiers' && } + {selectedComponent === 'Identifiers' && } + {selectedComponent === 'Credentials' && } {selectedComponent === 'Client' && } - {selectedComponent === 'Tests' && } + {selectedComponent === 'Tests' && } ); }; @@ -409,61 +412,392 @@ const IdentifiersComponent = ({ client }) => { }; -//make it component -const CredentialsComponent = () =>
Credentials Component
; -const AidComponent = ({ data, text }) => { - - return ( - - - {text} - - - - {Object.entries(data).map(([key, value]) => - typeof value === 'string' ? ( - - - {tableObject[key].title} {value} - - - ) : null - )} - - - ) -} -const ClientComponent = ({ client }) => { - //write an async function to get the client in the client component - const [controller, setController] = useState(null) - const [agent, setAgent] = useState(null) +const getTypeDetails = (identifierType, data) => { + switch (identifierType) { + case 'randy': + return ( + <> + PRXS: + {data.prxs.map((prx, index) => {prx})} + NXTS: + {data.nxts.map((nxt, index) => {nxt})} + + ); + case 'salty': + return ( + <> + SXLT: {data.sxlt} + PIDX: {data.pidx} + KIDX: {data.kidx} + Stem: {data.stem} + Tier: {data.tier} + DCode: {data.dcode} + ICodes: + {data.icodes.map((icode, index) => {icode})} + NCodes: + {data.ncodes.map((ncode, index) => {ncode})} + Transferable: {data.transferable ? 'Yes' : 'No'} + + ); + default: + return null; + } +}; + +const IdentifierTable = ({ client }) => { + const [open, setOpen] = useState(false); + const [currentIdentifier, setCurrentIdentifier] = useState({}); + const [identifiers, setIdentifiers] = useState([]) + + const [openCreate, setOpenCreate] = useState(false); + const [type, setType] = useState('salty'); + const [name, setName] = useState(''); + const [dynamicFields, setDynamicFields] = useState([]); + const [dynamicFieldsValues, setDynamicFieldsValues] = useState([]); + const [selectedField, setSelectedField] = useState(''); + //async useeffect + const getIdentifiers = async () => { + const list_identifiers = await client.list_identifiers() + setIdentifiers(list_identifiers) + console.log(list_identifiers) + } useEffect(() => { - const getController = async () => { - const controller = await client.state(); - setAgent(controller.agent) - setController(controller.controller.state) + + getIdentifiers() + }, []) + const handleOpen = (identifier) => { + setCurrentIdentifier(identifier); + setOpen(true); + }; + + const handleClickRotate = async (aid: string) => { + // Your asynchronous function logic here + await client.rotate(aid, {}) + await getIdentifiers() + }; + + const handleClose = () => { + setOpen(false); + }; + + const body = ( + +

Identifier Details

+

Name: {currentIdentifier.name}

+

Prefix: {currentIdentifier.prefix}

+

Type: {Object.keys(currentIdentifier)[2]}

+ + {/* { getTypeDetails( + Object.keys(currentIdentifier)[2],currentIdentifier[Object.keys(currentIdentifier)[2]] + )} */} + +
{JSON.stringify(currentIdentifier[Object.keys(currentIdentifier)[2]], null, 2)}
+ +
+ ); + + const handleOpenCreate = () => { + setOpenCreate(true); + }; + + const handleCloseCreate = () => { + setOpenCreate(false); + }; + + const handleComplete = async () => { + console.log('Type:', type); + console.log('Name:', name); + console.log('Dynamic Fields:', dynamicFields); + console.log('Dynamic Fields Values:', dynamicFieldsValues); + + let fields = { + algo: type, } - getController(); + dynamicFields.forEach((field, index) => { + if (field == 'count' || field =='ncount' ){ + fields[field] = parseInt(dynamicFieldsValues[index]); + } + else if (field == 'transferable'){ + fields[field] = dynamicFieldsValues[index] == 'true' ? true : false; + } + else if (field == 'icodes' || field == 'ncodes' || field == 'prxs' || field == 'nxts'|| field == 'cuts' || field == 'adds'){ + fields[field] = dynamicFieldsValues[index].split(','); + } + else { + fields[field] = dynamicFieldsValues[index]; + } + }); + console.log('name:', name); + + console.log('Fields:', fields); + + //create identifier + let _res = client.create(name, fields) + const list_identifiers = await client.list_identifiers() + setIdentifiers(list_identifiers) + handleClose(); + }; + + const handleTypeChange = (event) => { + setType(event.target.value); + }; + + const handleFieldChange = (event) => { + const prevFields = [...dynamicFields]; + //add field to array + prevFields.push(event.target.value); + setSelectedField(event.target.value); + setDynamicFields(prevFields); + + const prevFieldsValues = [...dynamicFieldsValues]; + //add field to array + prevFieldsValues.push(''); + setDynamicFieldsValues(prevFieldsValues); + + + }; + + const handleFieldValueChange = (index, event) => { + const prevFieldsValues = [...dynamicFieldsValues]; + //add field to array + prevFieldsValues[index] = event.target.value; + setDynamicFieldsValues(prevFieldsValues); } - , [client]) - return ( - agent !== null ? + + + + const handleNameChange = (event) => { + setName(event.target.value); + }; + + const renderDynamicFields = () => { + return dynamicFields.map((field, index) => ( + + handleFieldValueChange(index, event)} + // Add any additional props or logic based on field name if needed + /> +
+ { + const prevFields = [...dynamicFields]; + prevFields.splice(index, 1); + setDynamicFields(prevFields); + const prevFieldsValues = [...dynamicFieldsValues]; + prevFieldsValues.splice(index, 1); + setDynamicFieldsValues(prevFieldsValues); + }} + > + + + +
)); + }; + + return ( <> - - - - + + + + + Name + Prefix + Type + + + + {identifiers.map((identifier) => ( + handleOpen(identifier)} + style={{ cursor: 'pointer' }} + > + + {identifier.name} + + {identifier.prefix} + {Object.keys(identifier)[2]} + + ))} + +
+
+ + {body} + + + + + + + + + Field + + + {/* Add more buttons to add other fields as needed */} + {renderDynamicFields()} + + + + { + // const length = identifiers.length.toString() + // await client.create(`aid${length}`, {}) + // const list_identifiers = await client.list_identifiers() + // setIdentifiers(list_identifiers) + // }} + onClick={handleOpenCreate} + > + + + + ); + } + + //make it component + const CredentialsComponent = () =>
Credentials Component
; + const AidComponent = ({ data, text }) => { + return ( + + + {text} + - - - :
Loading client data...
- ); + + {Object.entries(data).map(([key, value]) => + typeof value === 'string' ? ( + + + {tableObject[key].title} {value} + + + ) : null + )} + +
+
) + } + const ClientComponent = ({ client }) => { + //write an async function to get the client in the client component + const [controller, setController] = useState(null) + const [agent, setAgent] = useState(null) + useEffect(() => { + const getController = async () => { + const controller = await client.state(); + setAgent(controller.agent) + setController(controller.controller.state) + } + getController(); + } + , [client]) + return ( + agent !== null ? + <> + + + + -}; + + + + + :
Loading client data...
+ ); + + }; -export default MainComponent; + export default MainComponent; From fbb1126e7695f89db34a0b0f135b6fd3ecec7fe3 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 6 Jun 2023 21:26:25 -0300 Subject: [PATCH 075/463] randy diger --- .../src/test_components/Randy.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx index 9f705e94..23ac5312 100644 --- a/examples/signify-react-ts/src/test_components/Randy.tsx +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -1,11 +1,17 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -import { SignifyClient, ready, Serder, Diger } from "signify-ts"; +import { SignifyClient, ready, Serder, Diger, MtrDex } from "signify-ts"; import {strict as assert} from "assert"; -import { useState } from 'react'; +import { useState, useEffect } from 'react'; + export function Randy() { const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) return ( <> @@ -62,12 +68,10 @@ export function Randy() { assert.equal(rot.digers.length, 1) assert.notEqual(rot.verfers[0].qb64, icp.verfers[0].qb64) assert.notEqual(rot.digers[0].qb64, icp.digers[0].qb64) - // let dig = new Diger({qb64b: rot.verfers[0].qb64b}) - // assert.equal(dig.qb64, icp.digers[0].qb64) - + let dig = new Diger({code: MtrDex.Blake3_256},rot.verfers[0].qb64b, ) + assert.equal(dig.qb64, icp.digers[0].qb64) log = await events.get(aid["prefix"]) assert.equal(log.length, 3) - setTestResult("Passed") } From 02096eb3df214c775e61b2e0b336fecc29e7d6a8 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 7 Jun 2023 14:27:46 -0300 Subject: [PATCH 076/463] Witness integration test --- .../signify-react-ts/src/TestsComponent.tsx | 4 + .../src/test_components/Delegation.tsx | 107 ++++++++++++++++++ .../src/test_components/Randy.tsx | 1 - .../src/test_components/Witnesses.tsx | 77 +++++++++++++ src/keri/app/signify.ts | 4 +- 5 files changed, 190 insertions(+), 3 deletions(-) create mode 100644 examples/signify-react-ts/src/test_components/Delegation.tsx create mode 100644 examples/signify-react-ts/src/test_components/Witnesses.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 76e96f13..7dc3daa4 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -3,12 +3,16 @@ import { SignifyClient, ready, Serder } from "signify-ts"; import { Salty } from "./test_components/Salty"; import { Randy } from "./test_components/Randy"; +import { Delegation } from "./test_components/Delegation"; +import { Witnesses } from "./test_components/Witnesses"; export function TestsComponent() { return ( <> < Salty /> < Randy /> + < Witnesses /> + < Delegation /> ) } diff --git a/examples/signify-react-ts/src/test_components/Delegation.tsx b/examples/signify-react-ts/src/test_components/Delegation.tsx new file mode 100644 index 00000000..e73b18cc --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Delegation.tsx @@ -0,0 +1,107 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger, MtrDex } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState, useEffect } from 'react'; + + +export function Delegation() { + const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx index 23ac5312..f3b0c790 100644 --- a/examples/signify-react-ts/src/test_components/Randy.tsx +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -21,7 +21,6 @@ export function Randy() { try { const url = "http://localhost:3901" const bran = '0123456789abcdefghijk' - // TODO Add test with Tiers.med const client = new SignifyClient(url, bran) assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const r1 = await client.boot() diff --git a/examples/signify-react-ts/src/test_components/Witnesses.tsx b/examples/signify-react-ts/src/test_components/Witnesses.tsx new file mode 100644 index 00000000..193124a3 --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Witnesses.tsx @@ -0,0 +1,77 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState } from 'react'; + +export function Witnesses() { + const [testResult, setTestResult] = useState(''); + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index c5257558..9ec40259 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -131,7 +131,7 @@ export class SignifyClient { headers: signed_headers }); //BEGIN Verification - if (res.status !== 200) { + if (!(res.status == 200 || res.status == 202)){ throw new Error('Response status is not 200'); } const isSameAgent = this.agent?.pre === res.headers.get('signify-resource'); @@ -476,7 +476,7 @@ class Oobis { async resolve(oobi: string, alias?: string) { let path = `/oobis` let data: any = { - oobi: oobi + url: oobi } if (alias !== undefined) { data['alias'] = alias From 457d9749dac892ad1808de419f313665be8089ac Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 7 Jun 2023 17:31:04 -0300 Subject: [PATCH 077/463] rply and addrole --- .../signify-react-ts/src/TestsComponent.tsx | 2 + .../src/test_components/Multisig.tsx | 117 ++++++++++++++++++ src/keri/app/signify.ts | 33 ++++- src/keri/core/core.ts | 1 + src/keri/core/eventing.ts | 21 ++++ 5 files changed, 173 insertions(+), 1 deletion(-) create mode 100644 examples/signify-react-ts/src/test_components/Multisig.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 7dc3daa4..acb69e09 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -5,6 +5,7 @@ import { Salty } from "./test_components/Salty"; import { Randy } from "./test_components/Randy"; import { Delegation } from "./test_components/Delegation"; import { Witnesses } from "./test_components/Witnesses"; +import { Multisig } from "./test_components/Multisig"; export function TestsComponent() { return ( @@ -13,6 +14,7 @@ export function TestsComponent() { < Randy /> < Witnesses /> < Delegation /> + < Multisig /> ) } diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx new file mode 100644 index 00000000..58357f08 --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -0,0 +1,117 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger, MtrDex } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState, useEffect } from 'react'; + + +export function Multisig() { + const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 9ec40259..c3fe1763 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -3,7 +3,7 @@ import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept, rotate, interact } from "../core/eventing" +import { incept, rotate, interact, reply } from "../core/eventing" import { b, Serials, Versionage } from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; @@ -455,6 +455,37 @@ class Identifier { return res.json() } + async addEndRole(name:string, role:string, eid: string|undefined){ + const hab = await this.get_identifier(name) + const pre = hab["prefix"] + + const rpy = this.makeEndRole(pre, role, eid) + const keeper = this.client.manager!.get(hab) + const sigs = keeper.sign(b(rpy.raw)) + + const jsondata = { + rpy: rpy.ked, + sigs: sigs + } + + let res = await this.client.fetch("/identifiers/"+name+"/endroles", "POST", jsondata) + return res.json() + + } + + makeEndRole(pre: string, role:string, eid:string|undefined){ + const data:any = { + cid: pre, + role: role + } + if (eid != undefined) { + data["eid"] = eid + } + const route = "/end/role/add" + return reply(route, data, undefined, undefined, Serials.JSON) + + } + } class Oobis { diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 62db7ad6..722e80f0 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -29,6 +29,7 @@ export const Ilks = { drt: 'drt', rct: 'rct', vrc: 'vrc', + rpy: 'rpy', }; export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index a619a01d..f90f1a5e 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -441,4 +441,25 @@ export function interact(args: InteractArgs): Serder { return new Serder(ked) } + +export function reply(route: string="", data: any|undefined, stamp:string|undefined, version: Version|undefined, kind:Serials= Serials.JSON){ + const vs = versify(Ident.KERI, version, kind, 0) + if (data == undefined) { + data = {} + } + const _sad = { + v: vs, + t: Ilks.rpy, + d: "", + dt: stamp?? new Date().toISOString().replace("Z","000+00:00"), + r: route, + a: data + } + const [, sad] = Saider.saidify(_sad) + const saider = new Saider({qb64: sad['d']}) + + if ( !(saider.verify(sad,true, true, kind, 'd' ))) + throw new Error(`Invalid said = ${saider.qb64} for reply msg=${sad}.`) + return new Serder(sad) +} \ No newline at end of file From ec5c23125b10e5abfdc2bf990e730a46b2050418 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Thu, 8 Jun 2023 16:25:34 -0300 Subject: [PATCH 078/463] multisig delegation --- .../src/test_components/Delegation.tsx | 49 ++------- .../src/test_components/Multisig.tsx | 104 ++++++++++-------- 2 files changed, 68 insertions(+), 85 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Delegation.tsx b/examples/signify-react-ts/src/test_components/Delegation.tsx index e73b18cc..22b0124b 100644 --- a/examples/signify-react-ts/src/test_components/Delegation.tsx +++ b/examples/signify-react-ts/src/test_components/Delegation.tsx @@ -48,50 +48,17 @@ export function Delegation() { count++; } - - - // let aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 0) - - // let aid = await identifiers.create('aid1', {algo: 'randy'}) - // const icp = await new Serder(aid) - // assert.equal(icp.verfers.length, 1) - // assert.equal(icp.digers.length, 1) - // assert.equal(icp.ked['kt'], '1') - // assert.equal(icp.ked['nt'], '1') - - - // aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 1) - // aid = aids[0] - // assert.equal(aid.name, 'aid1') - // assert.equal(aid.prefix, icp.pre) + op = await identifiers.create('aid1', {delpre: delpre}) + let pre = op["metadata"]["pre"] - // let ked = await identifiers.interact("aid1", [icp.pre]) - // let ixn = await new Serder(ked) - // assert.equal(ixn.ked['s'], '1') - // assert.deepEqual(ixn.ked['a'], [icp.pre]) - - // aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 1) - // aid = aids[0] + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } - // const events = client.key_events() - // let log = await events.get(aid["prefix"]) - // assert.equal(log.length, 2) + let icp1 = new Serder(op["response"]) + assert.equal(icp1.pre, pre) - // ked = await identifiers.rotate('aid1',{}) - // let rot = await new Serder(ked) - // assert.equal(rot.ked['s'], '2') - // assert.equal(rot.verfers.length, 1) - // assert.equal(rot.digers.length, 1) - // assert.notEqual(rot.verfers[0].qb64, icp.verfers[0].qb64) - // assert.notEqual(rot.digers[0].qb64, icp.digers[0].qb64) - // let dig = new Diger({code: MtrDex.Blake3_256},rot.verfers[0].qb64b, ) - // assert.equal(dig.qb64, icp.digers[0].qb64) - // log = await events.get(aid["prefix"]) - // assert.equal(log.length, 3) - setTestResult("Passed") } catch (e) { diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index 58357f08..b47fca0f 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -36,7 +36,7 @@ export function Multisig() { const oobis = client.oobis() const icp = await identifiers.create('aid1', {bran: '0123456789abcdefghijk' }) - const serder = new Serder(icp) + let serder = new Serder(icp) assert.equal(serder.pre, "ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK") await identifiers.addEndRole("aid1", 'agent', client.agent.pre) @@ -49,59 +49,75 @@ export function Multisig() { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - const multisig1 = op["response"] + let multisig1 = op["response"] op = await oobis.resolve("http://127.0.0.1:5642/oobi/EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","multisig2") while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - const multisig2 = op["response"] - + let multisig2 = op["response"] + + let aid1 = await identifiers.get_identifier("aid1") + let agent0 = aid1["state"] + let rstates = [multisig2, multisig1, agent0] + let states = rstates + + op = identifiers.create("multisig",{ + algo: "group", + mhab: aid1, + isith: ["1/3", "1/3", "1/3"], + nsith: ["1/3", "1/3", "1/3"], + toad: 3, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"], + states: states, + rstates: rstates + }) + console.log("waiting on multisig creation...") + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + // Join an interaction event with the group + const data = {i: "EE77q3_zWb5ojgJr-R1vzsL5yiL4Nzm-bfSOQzQl02dy"} + op = identifiers.interact("multisig", data) + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const ixn = new Serder(op["response"]) + const events = await client.events() + const log = await events.get(ixn.pre) + assert.equal(log.length, 2) + const rot = await identifiers.rotate("aid1",{}) + serder = new Serder(rot) + + aid1 = await identifiers.get_identifier("aid1") + agent0 = aid1["state"] + const keyState = await client.keyStates() + op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4", "1") + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + multisig1 = op["response"] - // let aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 0) - - // let aid = await identifiers.create('aid1', {algo: 'randy'}) - // const icp = await new Serder(aid) - // assert.equal(icp.verfers.length, 1) - // assert.equal(icp.digers.length, 1) - // assert.equal(icp.ked['kt'], '1') - // assert.equal(icp.ked['nt'], '1') - - - // aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 1) - // aid = aids[0] - // assert.equal(aid.name, 'aid1') - // assert.equal(aid.prefix, icp.pre) - - // let ked = await identifiers.interact("aid1", [icp.pre]) - // let ixn = await new Serder(ked) - // assert.equal(ixn.ked['s'], '1') - // assert.deepEqual(ixn.ked['a'], [icp.pre]) - - // aids = await identifiers.list_identifiers() - // assert.equal(aids.length, 1) - // aid = aids[0] + op = keyState.query("EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1", "1") + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + multisig2 = op["response"] + rstates = [multisig2, multisig1, agent0] + states = rstates - // const events = client.key_events() - // let log = await events.get(aid["prefix"]) - // assert.equal(log.length, 2) + op = identifiers.rotate("multisig", {states: states, rstates: rstates}) + console.log(op) - // ked = await identifiers.rotate('aid1',{}) - // let rot = await new Serder(ked) - // assert.equal(rot.ked['s'], '2') - // assert.equal(rot.verfers.length, 1) - // assert.equal(rot.digers.length, 1) - // assert.notEqual(rot.verfers[0].qb64, icp.verfers[0].qb64) - // assert.notEqual(rot.digers[0].qb64, icp.digers[0].qb64) - // let dig = new Diger({code: MtrDex.Blake3_256},rot.verfers[0].qb64b, ) - // assert.equal(dig.qb64, icp.digers[0].qb64) - // log = await events.get(aid["prefix"]) - // assert.equal(log.length, 3) - setTestResult("Passed") } catch (e) { From ef6c539631edaad675a2a5f71f2a27ef2e1089f9 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Fri, 9 Jun 2023 21:04:13 -0300 Subject: [PATCH 079/463] add delpre --- .../signify-react-ts/src/test_components/Multisig.tsx | 9 ++++++--- src/keri/app/signify.ts | 7 ++----- src/keri/core/prefixer.ts | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index b47fca0f..a342a606 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -58,16 +58,19 @@ export function Multisig() { } let multisig2 = op["response"] + + await new Promise(resolve => setTimeout(resolve, 30000)); // sleep for 1 second + let aid1 = await identifiers.get_identifier("aid1") let agent0 = aid1["state"] let rstates = [multisig2, multisig1, agent0] let states = rstates - op = identifiers.create("multisig",{ + op = await identifiers.create("multisig",{ algo: "group", mhab: aid1, - isith: ["1/3", "1/3", "1/3"], - nsith: ["1/3", "1/3", "1/3"], + isith: 2, + nsith: 2, toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index c3fe1763..ca32ca1f 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -102,7 +102,6 @@ export class SignifyClient { throw Error("commitment to controller AID missing in agent inception event") } if (this.controller.serder.ked.s == 0 ) { - console.log('approving delegation') await this.approveDelegation() } this.manager = new KeyManager(this.controller.salter, null) @@ -309,11 +308,9 @@ class Identifier { version: Versionage, kind: Serials.JSON, code: dcode, - intive: false, - delpre}) + intive: false}) } else { - // TODO should be delcept ? var serder = incept({ keys: keys!, isith: isith, @@ -327,7 +324,7 @@ class Identifier { kind: Serials.JSON, code: dcode, intive: false, - delpre}) + delpre: delpre}) } let sigs = keeper!.sign(b(serder.raw)) diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index c4e67ce6..86798088 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -131,7 +131,7 @@ export class Prefixer extends Matter { static _derive_blake3_256(ked: Dict): [Uint8Array, string] { let kd = ked let ilk = ked["t"] - if (ilk != Ilks.icp) { + if (!([Ilks.icp, Ilks.dip].includes(ilk))) { throw new Error(`Invalid ilk = ${ilk} to derive pre.`) } From 074412ffb89f30ed30d61704b7a01b2a46174c14 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 11 Jun 2023 20:23:35 -0300 Subject: [PATCH 080/463] signedFetch --- src/keri/app/signify.ts | 29 +++++++++++++++++++++++++++++ src/keri/core/keeping.ts | 8 +++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index ca32ca1f..ee44672c 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -146,6 +146,35 @@ export class SignifyClient { } } + async signedFetch(url:string, path: string, method: string, data: any, aidName:string) { + const hab = await this.identifiers().get_identifier(aidName) + const keeper = this.manager!.get(hab) + + const authenticator = new Authenticater(keeper.signers[0], keeper.signers[0].verfer) + + let headers = new Headers() + headers.set('Signify-Resource', hab["prefix"]) + headers.set('Signify-Timestamp', new Date().toISOString().replace('Z','000+00:00')) + headers.set('Content-Type', 'application/json') + + if (data !== null) { + headers.set('Content-Length', data.length) + } + else { + headers.set('Content-Length', '0') + } + let signed_headers = authenticator.sign(headers, method, path.split('?')[0]) + let _body = method == 'GET' ? null : JSON.stringify(data) + + console.log(signed_headers) + return await fetch(url + path, { + method: method, + body: _body, + headers: signed_headers + }); + + } + async approveDelegation(){ let sigs = this.controller.approveDelegation(this.agent!) diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index a3b65378..39d2e8c6 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -8,6 +8,7 @@ import { b } from "./core"; import { Cipher } from './cipher'; import { Diger } from './diger'; import { Prefixer } from './prefixer'; +import { Signer } from './signer'; export {}; @@ -72,6 +73,7 @@ export class SaltyKeeper { private bran:string | undefined private creator: SaltyCreator public algo:Algos = Algos.salty + public signers:Signer[] constructor(salter:Salter, pidx:number, kidx:number=0, tier=Tier.low, transferable=false, stem=undefined, code=MtrDex.Ed25519_Seed, count=1, icodes:string[]|undefined=undefined, ncode=MtrDex.Ed25519_Seed, @@ -112,6 +114,8 @@ export class SaltyKeeper { this.creator = new SaltyCreator(this.decrypter.decrypt(null, ciph).qb64, tier=tier, this.stem) } + this.signers = this.creator.create(this.icodes, this.ncount, this.ncode, this.transferable, this.pidx, 0, this.kidx,false).signers + } params() { @@ -232,6 +236,7 @@ export class RandyKeeper { private decrypter:Decrypter private creator: RandyCreator public algo:Algos = Algos.randy + public signers:Signer[] @@ -262,8 +267,9 @@ export class RandyKeeper { this.dcode = dcode this.creator = new RandyCreator() - + this.signers = this.prxs!.map(prx => this.decrypter.decrypt(new Cipher({qb64:prx}).qb64b, undefined, this.transferable)) + } params() { From df30cec856af4ddfa664be501cbec0f0ec4950ed Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 13 Jun 2023 12:27:27 -0300 Subject: [PATCH 081/463] update salty test --- .../src/test_components/Salty.tsx | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Salty.tsx b/examples/signify-react-ts/src/test_components/Salty.tsx index d10bab02..ce57eb6f 100644 --- a/examples/signify-react-ts/src/test_components/Salty.tsx +++ b/examples/signify-react-ts/src/test_components/Salty.tsx @@ -27,8 +27,10 @@ export function Salty() { const identifiers = client.identifiers() let aids = await identifiers.list_identifiers() assert.equal(aids.length, 0) - const aid1 = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) - const icp = await new Serder(aid1) + let op = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) + assert.equal(op['done'], true) + const aid1 = op['response'] + const icp = new Serder(aid1) assert.equal(icp.pre, 'ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK') assert.equal(icp.verfers.length, 1) assert.equal(icp.verfers[0].qb64, 'DPmhSfdhCPxr3EqjxzEtF8TVy0YX7ATo0Uc8oo2cnmY9') @@ -45,8 +47,10 @@ export function Salty() { assert.equal(salt.stem, 'signify:aid') assert.equal(aid.prefix, icp.pre) - const aid2 = await identifiers.create('aid2', {count:3, ncount:3, isith:"2", nsith:"2", bran:"0123456789lmnopqrstuv"}) - const icp2 = await new Serder(aid2) + op = await identifiers.create('aid2', {count:3, ncount:3, isith:"2", nsith:"2", bran:"0123456789lmnopqrstuv"}) + assert.equal(op['done'], true) + const aid2 = op['response'] + const icp2 = new Serder(aid2) assert.equal(icp2.pre,'EP10ooRj0DJF0HWZePEYMLPl-arMV-MAoTKK-o3DXbgX') assert.equal(icp2.verfers.length, 3) assert.equal(icp2.verfers[0].qb64, 'DGBw7C7AfC7jbD3jLLRS3SzIWFndM947TyNWKQ52iQx5') @@ -67,8 +71,10 @@ export function Salty() { assert.equal(salt.stem, 'signify:aid') assert.equal(aid.prefix, icp2.pre) - let ked = await identifiers.rotate('aid1',{}) - let rot = await new Serder(ked) + op = await identifiers.rotate('aid1',{}) + assert.equal(op['done'], true) + let ked = op['response'] + let rot = new Serder(ked) assert.equal(rot.ked['d'], 'EBQABdRgaxJONrSLcgrdtbASflkvLxJkiDO0H-XmuhGg') assert.equal(rot.ked['s'], '1') assert.equal(rot.verfers.length, 1) @@ -76,8 +82,10 @@ export function Salty() { assert.equal(rot.verfers[0].qb64, 'DHgomzINlGJHr-XP3sv2ZcR9QsIEYS3LJhs4KRaZYKly') assert.equal(rot.digers[0].qb64, 'EJMovBlrBuD6BVeUsGSxLjczbLEbZU9YnTSud9K4nVzk') - ked = await identifiers.interact("aid1", [icp.pre]) - let ixn = await new Serder(ked) + op = await identifiers.interact("aid1", [icp.pre]) + assert.equal(op['done'], true) + ked = op['response'] + let ixn = new Serder(ked) assert.equal(ixn.ked['d'], 'ENsmRAg_oM7Hl1S-GTRMA7s4y760lQMjzl0aqOQ2iTce') assert.equal(ixn.ked['s'], '2') assert.deepEqual(ixn.ked['a'], [icp.pre]) @@ -94,13 +102,13 @@ export function Salty() { const events = client.key_events() const log = await events.get(aid["prefix"]) assert.equal(log.length, 3) - let serder = await new Serder(log[0]) + let serder = new Serder(log[0]) assert.equal(serder.pre, icp.pre) assert.equal(serder.ked['d'], icp.ked['d']) - serder = await new Serder(log[1]) + serder = new Serder(log[1]) assert.equal(serder.pre, rot.pre) assert.equal(serder.ked['d'], rot.ked['d']) - serder = await new Serder(log[2]) + serder = new Serder(log[2]) assert.equal(serder.pre, ixn.pre) assert.equal(serder.ked['d'], ixn.ked['d']) setTestResult("Passed") From f8a2788b3f9527f93dae9bbc5ed6d7f06ee6d2da Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 13 Jun 2023 13:13:38 -0300 Subject: [PATCH 082/463] fix randy test --- .../src/test_components/Randy.tsx | 18 ++++++++++++------ src/keri/core/keeping.ts | 6 +++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx index f3b0c790..125bf81e 100644 --- a/examples/signify-react-ts/src/test_components/Randy.tsx +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -33,8 +33,10 @@ export function Randy() { let aids = await identifiers.list_identifiers() assert.equal(aids.length, 0) - let aid = await identifiers.create('aid1', {algo: 'randy'}) - const icp = await new Serder(aid) + let op = await identifiers.create('aid1', {algo: 'randy'}) + assert.equal(op['done'], true) + let aid = op['response'] + const icp = new Serder(aid) assert.equal(icp.verfers.length, 1) assert.equal(icp.digers.length, 1) assert.equal(icp.ked['kt'], '1') @@ -47,8 +49,10 @@ export function Randy() { assert.equal(aid.name, 'aid1') assert.equal(aid.prefix, icp.pre) - let ked = await identifiers.interact("aid1", [icp.pre]) - let ixn = await new Serder(ked) + op = await identifiers.interact("aid1", [icp.pre]) + assert.equal(op['done'], true) + let ked = op['response'] + let ixn = new Serder(ked) assert.equal(ixn.ked['s'], '1') assert.deepEqual(ixn.ked['a'], [icp.pre]) @@ -60,8 +64,10 @@ export function Randy() { let log = await events.get(aid["prefix"]) assert.equal(log.length, 2) - ked = await identifiers.rotate('aid1',{}) - let rot = await new Serder(ked) + op = await identifiers.rotate('aid1',{}) + assert.equal(op['done'], true) + ked = op['response'] + let rot = new Serder(ked) assert.equal(rot.ked['s'], '2') assert.equal(rot.verfers.length, 1) assert.equal(rot.digers.length, 1) diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index 39d2e8c6..37266054 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -258,8 +258,8 @@ export class RandyKeeper { this.encrypter = new Encrypter({}, b(this.aeid)) this.decrypter = new Decrypter({}, signer.qb64b) - this.nxts = nxts - this.prxs = prxs + this.nxts = nxts ?? [] + this.prxs = prxs ?? [] this.transferable = transferable this.icodes = icodes @@ -268,7 +268,7 @@ export class RandyKeeper { this.creator = new RandyCreator() - this.signers = this.prxs!.map(prx => this.decrypter.decrypt(new Cipher({qb64:prx}).qb64b, undefined, this.transferable)) + this.signers = this.prxs.map(prx => this.decrypter.decrypt(new Cipher({qb64:prx}).qb64b, undefined, this.transferable)) } From f3e80a069fa0a90b8e7d14c73a8c4fcaa84f6328 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 13 Jun 2023 13:22:40 -0300 Subject: [PATCH 083/463] fix witness demo --- examples/signify-react-ts/src/test_components/Witnesses.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/signify-react-ts/src/test_components/Witnesses.tsx b/examples/signify-react-ts/src/test_components/Witnesses.tsx index 193124a3..d04b47b5 100644 --- a/examples/signify-react-ts/src/test_components/Witnesses.tsx +++ b/examples/signify-react-ts/src/test_components/Witnesses.tsx @@ -15,7 +15,6 @@ export function Witnesses() { try { const url = "http://localhost:3901" const bran = '0123456789abcdefghijk' - // TODO Add test with Tiers.med const client = new SignifyClient(url, bran) assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const r1 = await client.boot() From b3ec09eade02a6687f410bbf923745ed39cba25f Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 13 Jun 2023 16:24:14 -0300 Subject: [PATCH 084/463] multisig working --- .../src/test_components/Multisig.tsx | 29 ++++++++++++------- src/keri/app/signify.ts | 2 +- src/keri/core/keeping.ts | 11 +++++-- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index a342a606..249c1535 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -35,7 +35,9 @@ export function Multisig() { const operations = client.operations() const oobis = client.oobis() - const icp = await identifiers.create('aid1', {bran: '0123456789abcdefghijk' }) + let op = await identifiers.create('aid1', {bran: '0123456789abcdefghijk' }) + assert.equal(op['done'], true) + const icp = op['response'] let serder = new Serder(icp) assert.equal(serder.pre, "ELUvZ8aJEHAQE-0nsevyYTP98rBbGJUrTj5an-pCmwrK") @@ -44,7 +46,7 @@ export function Multisig() { let oobi = await oobis.get("aid1") console.log(oobi) - let op = await oobis.resolve("http://127.0.0.1:5642/oobi/EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","multisig1") + op = await oobis.resolve("http://127.0.0.1:5642/oobi/EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","multisig1") while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -69,8 +71,8 @@ export function Multisig() { op = await identifiers.create("multisig",{ algo: "group", mhab: aid1, - isith: 2, - nsith: 2, + isith: 3, + nsith: 3, toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", @@ -87,29 +89,31 @@ export function Multisig() { // Join an interaction event with the group const data = {i: "EE77q3_zWb5ojgJr-R1vzsL5yiL4Nzm-bfSOQzQl02dy"} - op = identifiers.interact("multisig", data) + op = await identifiers.interact("multisig", data) while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } const ixn = new Serder(op["response"]) - const events = await client.events() + const events = await client.key_events() const log = await events.get(ixn.pre) assert.equal(log.length, 2) - const rot = await identifiers.rotate("aid1",{}) + op = await identifiers.rotate("aid1",{}) + assert.equal(op['done'], true) + const rot = op['response'] serder = new Serder(rot) aid1 = await identifiers.get_identifier("aid1") agent0 = aid1["state"] - const keyState = await client.keyStates() - op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4", "1") + const keyState = await client.key_states() + op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4", 1) while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } multisig1 = op["response"] - op = keyState.query("EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1", "1") + op = await keyState.query("EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1", 1) while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -119,7 +123,10 @@ export function Multisig() { states = rstates op = identifiers.rotate("multisig", {states: states, rstates: rstates}) - console.log(op) + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } setTestResult("Passed") } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index ee44672c..98fc7604 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -602,7 +602,7 @@ class KeyStates { } async query(pre: string, sn?: string, anchor?: string) { - let path = `/oobis` + let path = `/queries` let data: any = { pre: pre } diff --git a/src/keri/core/keeping.ts b/src/keri/core/keeping.ts index 37266054..385e4736 100644 --- a/src/keri/core/keeping.ts +++ b/src/keri/core/keeping.ts @@ -9,6 +9,8 @@ import { Cipher } from './cipher'; import { Diger } from './diger'; import { Prefixer } from './prefixer'; import { Signer } from './signer'; +import { Siger } from './siger'; +import { Cigar } from './cigar'; export {}; @@ -44,7 +46,8 @@ export class KeyManager { let kargs = aid[Algos.randy] return new RandyKeeper(this.salter!, kargs["code"], kargs["count"], kargs["icodes"], pre.transferable, kargs["ncode"], kargs["ncount"], kargs["ncodes"], kargs["dcode"], kargs["prxs"], kargs["nxts"]) } else if (Algos.group in aid) { - throw new Error(`Group Keeper not allowed yet`) + let kargs = aid[Algos.group] + return new GroupKeeper(this, kargs["mhab"], kargs["states"], kargs["rstates"],kargs["keys"],kargs["ndigs"]) } else{ throw new Error(`Algo not allowed yet`) } @@ -357,6 +360,7 @@ export class RandyKeeper { private gkeys:string[] | undefined private gdigs:string[] | undefined public algo:Algos = Algos.group + public signers:Signer[] constructor(manager:KeyManager, mhab=undefined, states:any[]|undefined=undefined, rstates:any[]|undefined=undefined, keys:any[]|undefined=undefined, ndigs:any[]|undefined=undefined){ @@ -372,17 +376,18 @@ export class RandyKeeper { this.gkeys = keys this.gdigs = ndigs this.mhab = mhab + this.signers = [] } incept(..._:any){ return [this.gkeys, this.gdigs] } - rotate(states:any[], rstates:any[],..._:any){ + rotate(_ncodes:string[], _transferable:boolean,states:any[], rstates:any[],..._:any){ this.gkeys = states.map(state => state['k'][0]) this.gdigs = rstates.map(state => state['n'][0]) return [this.gkeys, this.gdigs] } - sign(ser:Uint8Array, indexed:boolean=true, _rotate:boolean=false, ..._:any){ + sign(ser:Uint8Array, indexed:boolean=true, _indices:number[]|undefined=undefined, _ondices:number[]|undefined=undefined):Siger[]|Cigar[]{ let key = this.mhab['state']['k'][0] let ndig = this.mhab['state']['n'][0] From 1baaa0ae5e4a7331b4dfa558944a171a65945e26 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 13 Jun 2023 18:51:11 -0300 Subject: [PATCH 085/463] key states query --- .../signify-react-ts/src/test_components/Multisig.tsx | 11 ++--------- src/keri/app/signify.ts | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index 249c1535..68a3c452 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -60,9 +60,6 @@ export function Multisig() { } let multisig2 = op["response"] - - await new Promise(resolve => setTimeout(resolve, 30000)); // sleep for 1 second - let aid1 = await identifiers.get_identifier("aid1") let agent0 = aid1["state"] let rstates = [multisig2, multisig1, agent0] @@ -106,14 +103,14 @@ export function Multisig() { aid1 = await identifiers.get_identifier("aid1") agent0 = aid1["state"] const keyState = await client.key_states() - op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4", 1) + op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4",0) while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } multisig1 = op["response"] - op = await keyState.query("EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1", 1) + op = await keyState.query("EJccSRTfXYF6wrUVuenAIHzwcx3hJugeiJsEKmndi5q1", 0) while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -123,10 +120,6 @@ export function Multisig() { states = rstates op = identifiers.rotate("multisig", {states: states, rstates: rstates}) - while (!op["done"]) { - op = await operations.get(op["name"]); - await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second - } setTestResult("Passed") } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 98fc7604..97acbc95 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -601,7 +601,7 @@ class KeyStates { } - async query(pre: string, sn?: string, anchor?: string) { + async query(pre: string, sn?: number, anchor?: string) { let path = `/queries` let data: any = { pre: pre From 6736484663c9449ee705868223871405c2a878a1 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Tue, 13 Jun 2023 17:11:16 -0500 Subject: [PATCH 086/463] wip get credentials --- .../signify-react-ts/src/TestsComponent.tsx | 2 + .../src/test_components/Credentials.tsx | 49 +++ src/keri/app/signify.ts | 365 +++++++++++------- 3 files changed, 267 insertions(+), 149 deletions(-) create mode 100644 examples/signify-react-ts/src/test_components/Credentials.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index acb69e09..75bf5f31 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -6,10 +6,12 @@ import { Randy } from "./test_components/Randy"; import { Delegation } from "./test_components/Delegation"; import { Witnesses } from "./test_components/Witnesses"; import { Multisig } from "./test_components/Multisig"; +import { Credentials } from "./test_components/Credentials"; export function TestsComponent() { return ( <> + < Credentials /> < Salty /> < Randy /> < Witnesses /> diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx new file mode 100644 index 00000000..ddc2de90 --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -0,0 +1,49 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState, useEffect } from 'react'; + + +export function Credentials() { + const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index ee44672c..36a86922 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -10,6 +10,11 @@ import { MtrDex } from "../core/matter"; const KERIA_BOOT_URL = "http://localhost:3903" +export class CredentialTypes { + static issued = "issued" + static received = "received" +} + class State { agent: any | null controller: any | null @@ -63,7 +68,7 @@ export class SignifyClient { pidx: 1, tier: this.controller?.tier }; - let _url = this.url.includes("localhost") ? KERIA_BOOT_URL: this.url ; + let _url = this.url.includes("localhost") ? KERIA_BOOT_URL : this.url; const res = await fetch(_url + "/boot", { method: "POST", body: JSON.stringify(data), @@ -101,18 +106,18 @@ export class SignifyClient { if (this.agent.anchor != this.controller.pre) { throw Error("commitment to controller AID missing in agent inception event") } - if (this.controller.serder.ked.s == 0 ) { + if (this.controller.serder.ked.s == 0) { await this.approveDelegation() } this.manager = new KeyManager(this.controller.salter, null) this.authn = new Authenticater(this.controller.signer, this.agent.verfer!) } - async fetch(path: string, method: string, data: any) { + async fetch(path: string, method: string, data: any, _headers: any) { //BEGIN Headers let headers = new Headers() headers.set('Signify-Resource', this.controller.pre) - headers.set('Signify-Timestamp', new Date().toISOString().replace('Z','000+00:00')) + headers.set('Signify-Timestamp', new Date().toISOString().replace('Z', '000+00:00')) headers.set('Content-Type', 'application/json') if (data !== null) { @@ -124,13 +129,27 @@ export class SignifyClient { let signed_headers = this.authn.sign(headers, method, path.split('?')[0]) //END Headers let _body = method == 'GET' ? null : JSON.stringify(data) + + //add _headers to signed_headers + let final_headers = new Headers() + for (let [key, value] of signed_headers.entries()) { + final_headers.set(key, value) + } + if (_headers !== undefined) { + for (let [key, value] of _headers.entries()) { + final_headers.set(key, value) + } + } + let res = await fetch(this.url + path, { method: method, body: _body, - headers: signed_headers + headers: final_headers }); + + //BEGIN Verification - if (!(res.status == 200 || res.status == 202)){ + if (!(res.status == 200 || res.status == 202)) { throw new Error('Response status is not 200'); } const isSameAgent = this.agent?.pre === res.headers.get('signify-resource'); @@ -146,15 +165,15 @@ export class SignifyClient { } } - async signedFetch(url:string, path: string, method: string, data: any, aidName:string) { - const hab = await this.identifiers().get_identifier(aidName) + async signedFetch(url: string, path: string, method: string, data: any, aidName: string) { + const hab = await this.identifiers().get_identifier(aidName) const keeper = this.manager!.get(hab) const authenticator = new Authenticater(keeper.signers[0], keeper.signers[0].verfer) - + let headers = new Headers() headers.set('Signify-Resource', hab["prefix"]) - headers.set('Signify-Timestamp', new Date().toISOString().replace('Z','000+00:00')) + headers.set('Signify-Timestamp', new Date().toISOString().replace('Z', '000+00:00')) headers.set('Content-Type', 'application/json') if (data !== null) { @@ -172,18 +191,18 @@ export class SignifyClient { body: _body, headers: signed_headers }); - + } - async approveDelegation(){ + async approveDelegation() { let sigs = this.controller.approveDelegation(this.agent!) let data = { ixn: this.controller.serder.ked, sigs: sigs } - - await fetch(this.url + "/agent/"+ this.controller.pre+"?type=ixn", { + + await fetch(this.url + "/agent/" + this.controller.pre + "?type=ixn", { method: "PUT", body: JSON.stringify(data), headers: { @@ -211,6 +230,10 @@ export class SignifyClient { key_states() { return new KeyStates(this) } + + credentials() { + return new Credentials(this) + } } class Identifier { @@ -223,7 +246,7 @@ class Identifier { let path = `/identifiers` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -231,51 +254,51 @@ class Identifier { let path = `/identifiers/${name}` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - async create(name: string, - kargs:{ - transferable:boolean, - isith:string, - nsith:string, - wits:string[], - toad:string, - proxy:string, - delpre:string, - dcode:string, - data:any, - algo:string, - pre:string, - states:any[], - rstates:any[] - prxs:any[], - nxts:any[], - mhab:any, - keys:any[], - ndigs:any[], - bran:string, - count:number, - ncount:number - }) { - + async create(name: string, + kargs: { + transferable: boolean, + isith: string, + nsith: string, + wits: string[], + toad: string, + proxy: string, + delpre: string, + dcode: string, + data: any, + algo: string, + pre: string, + states: any[], + rstates: any[] + prxs: any[], + nxts: any[], + mhab: any, + keys: any[], + ndigs: any[], + bran: string, + count: number, + ncount: number + }) { + let algo = Algos.salty switch (kargs["algo"]) { case "salty": - algo = Algos.salty + algo = Algos.salty break; case "randy": - algo = Algos.randy + algo = Algos.randy break; case "group": - algo = Algos.group + algo = Algos.group break; default: - algo = Algos.salty + algo = Algos.salty break; } - + let transferable = kargs["transferable"] ?? true let isith = kargs["isith"] ?? "1" let nsith = kargs["nsith"] ?? "1" @@ -290,7 +313,7 @@ class Identifier { let rstates = kargs["rstates"] let prxs = kargs["prxs"] let nxts = kargs["nxts"] - let mhab= kargs["mhab"] + let mhab = kargs["mhab"] let _keys = kargs["keys"] let _ndigs = kargs["ndigs"] let bran = kargs["bran"] @@ -298,120 +321,123 @@ class Identifier { let ncount = kargs["ncount"] let xargs = { - transferable:transferable, - isith:isith, - nsith:nsith, - wits:wits, - toad:toad, - proxy:proxy, - delpre:delpre, - dcode:dcode, - data:data, - algo:algo, - pre:pre, - prxs:prxs, - nxts:nxts, - mhab:mhab, - states:states, - rstates:rstates, - keys:_keys, - ndigs:_ndigs, - bran:bran, - count:count, - ncount:ncount + transferable: transferable, + isith: isith, + nsith: nsith, + wits: wits, + toad: toad, + proxy: proxy, + delpre: delpre, + dcode: dcode, + data: data, + algo: algo, + pre: pre, + prxs: prxs, + nxts: nxts, + mhab: mhab, + states: states, + rstates: rstates, + keys: _keys, + ndigs: _ndigs, + bran: bran, + count: count, + ncount: ncount } - let keeper = this.client.manager!.new( algo, this.client.pidx, xargs) + let keeper = this.client.manager!.new(algo, this.client.pidx, xargs) let [keys, ndigs] = keeper!.incept(transferable) wits = wits !== undefined ? wits : [] - if (delpre == undefined){ - var serder = incept({ - keys: keys!, - isith: isith, - ndigs: ndigs, - nsith: nsith, - toad: toad, - wits: wits, - cnfg: [], - data: data, - version: Versionage, - kind: Serials.JSON, + if (delpre == undefined) { + var serder = incept({ + keys: keys!, + isith: isith, + ndigs: ndigs, + nsith: nsith, + toad: toad, + wits: wits, + cnfg: [], + data: data, + version: Versionage, + kind: Serials.JSON, code: dcode, - intive: false}) - + intive: false + }) + } else { - var serder = incept({ - keys: keys!, - isith: isith, - ndigs: ndigs, - nsith: nsith, - toad: toad, - wits: wits, - cnfg: [], - data: data, - version: Versionage, - kind: Serials.JSON, + var serder = incept({ + keys: keys!, + isith: isith, + ndigs: ndigs, + nsith: nsith, + toad: toad, + wits: wits, + cnfg: [], + data: data, + version: Versionage, + kind: Serials.JSON, code: dcode, - intive: false, - delpre: delpre}) + intive: false, + delpre: delpre + }) } let sigs = keeper!.sign(b(serder.raw)) - var jsondata:any = { + var jsondata: any = { name: name, icp: serder.ked, sigs: sigs, proxy: proxy, smids: states != undefined ? states.map(state => state['i']) : undefined, rmids: rstates != undefined ? rstates.map(state => state['i']) : undefined - } + } jsondata[algo] = keeper.params(), - this.client.pidx = this.client.pidx + 1 - let res = await this.client.fetch("/identifiers", "POST", jsondata) + this.client.pidx = this.client.pidx + 1 + let res = await this.client.fetch("/identifiers", "POST", jsondata, undefined) return res.json() } - async interact(name:string, data:any|undefined=undefined){ + async interact(name: string, data: any | undefined = undefined) { let hab = await this.get_identifier(name) - let pre:string = hab["prefix"] + let pre: string = hab["prefix"] - let state = hab["state"] + let state = hab["state"] let sn = Number(state["s"]) let dig = state["d"] - + data = Array.isArray(data) ? data : [data] - let serder = interact({pre:pre, sn:sn + 1, data:data, dig:dig, version:undefined, kind: undefined}) + let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) let keeper = this.client!.manager!.get(hab) - let sigs = keeper.sign(b(serder.raw)) + let sigs = keeper.sign(b(serder.raw)) - let jsondata:any = { + let jsondata: any = { ixn: serder.ked, sigs: sigs, } jsondata[keeper.algo] = keeper.params() - let res = await this.client.fetch("/identifiers/"+name+"?type=ixn", "PUT", jsondata) + let res = await this.client.fetch("/identifiers/" + name + "?type=ixn", "PUT", jsondata, undefined) return res.json() } async rotate( name: string, - kargs:{ - transferable:boolean, - nsith:string, - toad:number, - cuts:string[], - adds:string[], - data:Array, - ncode:string, - ncount:number, - ncodes:string[], - states:any[], - rstates:any[]}){ + kargs: { + transferable: boolean, + nsith: string, + toad: number, + cuts: string[], + adds: string[], + data: Array, + ncode: string, + ncount: number, + ncodes: string[], + states: any[], + rstates: any[] + }) { let transferable = kargs["transferable"] ?? true let ncode = kargs["ncode"] ?? MtrDex.Ed25519_Seed @@ -438,7 +464,7 @@ class Identifier { if (nsith == undefined) nsith = `${Math.max(1, Math.ceil(ncount / 2)).toString(16)}` let cst = new Tholder(isith).sith // current signing threshold - let nst = new Tholder(nsith).sith // next signing threshold + let nst = new Tholder(nsith).sith // next signing threshold // Regenerate next keys to sign rotation event let keeper = this.client.manager!.get(hab) @@ -451,25 +477,26 @@ class Identifier { let cuts = kargs["cuts"] ?? [] let adds = kargs["adds"] ?? [] - let data = kargs["data"] != undefined ? [kargs["data"]]:[] + let data = kargs["data"] != undefined ? [kargs["data"]] : [] let toad = kargs["toad"] let serder = rotate({ - pre: pre, - keys: keys, - dig: dig, - sn: ridx, - isith: cst, - nsith: nst, - ndigs: ndigs, - toad: toad, - wits: wits, - cuts: cuts, - adds: adds, - data: data }) + pre: pre, + keys: keys, + dig: dig, + sn: ridx, + isith: cst, + nsith: nst, + ndigs: ndigs, + toad: toad, + wits: wits, + cuts: cuts, + adds: adds, + data: data + }) - let sigs = keeper.sign(b(serder.raw)) + let sigs = keeper.sign(b(serder.raw)) - var jsondata:any = { + var jsondata: any = { rot: serder.ked, sigs: sigs, smids: states != undefined ? states.map(state => state['i']) : undefined, @@ -477,11 +504,11 @@ class Identifier { } jsondata[keeper.algo] = keeper.params() - let res = await this.client.fetch("/identifiers/"+name, "PUT", jsondata) + let res = await this.client.fetch("/identifiers/" + name, "PUT", jsondata, undefined) return res.json() } - async addEndRole(name:string, role:string, eid: string|undefined){ + async addEndRole(name: string, role: string, eid: string | undefined) { const hab = await this.get_identifier(name) const pre = hab["prefix"] @@ -494,13 +521,13 @@ class Identifier { sigs: sigs } - let res = await this.client.fetch("/identifiers/"+name+"/endroles", "POST", jsondata) + let res = await this.client.fetch("/identifiers/" + name + "/endroles", "POST", jsondata, undefined) return res.json() } - makeEndRole(pre: string, role:string, eid:string|undefined){ - const data:any = { + makeEndRole(pre: string, role: string, eid: string | undefined) { + const data: any = { cid: pre, role: role } @@ -509,7 +536,7 @@ class Identifier { } const route = "/end/role/add" return reply(route, data, undefined, undefined, Serials.JSON) - + } } @@ -525,7 +552,7 @@ class Oobis { let data = null let method = 'GET' console.log('this.client', this.client) - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -539,7 +566,7 @@ class Oobis { data['alias'] = alias } let method = 'POST' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -555,7 +582,7 @@ class Operations { let path = `/operations/${name}` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -571,7 +598,7 @@ class KeyEvents { let path = `/events?pre=${pre}` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -587,7 +614,7 @@ class KeyStates { let path = `/states?pre=${pre}` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -596,7 +623,7 @@ class KeyStates { let path = `/states?${pres.map(pre => `pre=${pre}`).join('&')}` let data = null let method = 'GET' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } @@ -614,8 +641,48 @@ class KeyStates { } let method = 'POST' - let res = await this.client.fetch(path, method, data) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } } + + +class Credentials { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + async list(aid: string, typ: CredentialTypes, schema: string) { + let path = `/identifiers/${aid}/credentials` + //if type is not in the credential types, throw an error + if (!Object.values(CredentialTypes).includes(typ)) { + throw new Error("Invalid Credential Type") + } + //add typ and schema as query params + let params = new URLSearchParams() + params.append('type', typ.toString()) + if (schema !== '') { + params.append('schema', schema) + } + path = path + '?' + params.toString() + + let method = 'GET' + + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + } + + async export(aid: string, said: string) { + let path = `/identifiers/${aid}/credentials/${said}` + let method = 'GET' + let headers = { + 'Accept': 'application/json+cesr' + } + let res = await this.client.fetch(path, method, null, headers) + return await res.json() + + } + + +} \ No newline at end of file From f351d871ff3218f47982d69349f6e03624d8ed04 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 14 Jun 2023 11:57:04 -0500 Subject: [PATCH 087/463] export creds to cesr format --- .../src/test_components/Credentials.tsx | 2 ++ src/keri/app/signify.ts | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index ddc2de90..5ed94b82 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -33,6 +33,8 @@ export function Credentials() { console.log(rs) let said = rs[0]['sad']['d'] let resp = await creds.export(ids[0].prefix,said) + console.log(resp) + // console.log(JSON.stringify(resp,null,2)) setTestResult("Passed") } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 36a86922..38bb4f32 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -654,7 +654,7 @@ class Credentials { this.client = client } async list(aid: string, typ: CredentialTypes, schema: string) { - let path = `/identifiers/${aid}/credentials` + let path = `/aids/${aid}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { throw new Error("Invalid Credential Type") @@ -674,13 +674,14 @@ class Credentials { } async export(aid: string, said: string) { - let path = `/identifiers/${aid}/credentials/${said}` + let path = `/aids/${aid}/credentials/${said}` let method = 'GET' - let headers = { + let headers = new Headers({ 'Accept': 'application/json+cesr' - } + + }) let res = await this.client.fetch(path, method, null, headers) - return await res.json() + return await res.text() } From f1287e23e046bc7eb431a9dd7415b1fda212e61b Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 14 Jun 2023 17:57:06 -0300 Subject: [PATCH 088/463] add Tier --- examples/signify-react-ts/src/test_components/Salty.tsx | 9 ++++++--- src/keri/app/controller.ts | 4 ++-- src/keri/app/signify.ts | 7 +++++-- src/keri/core/salter.ts | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Salty.tsx b/examples/signify-react-ts/src/test_components/Salty.tsx index ce57eb6f..0d9da79a 100644 --- a/examples/signify-react-ts/src/test_components/Salty.tsx +++ b/examples/signify-react-ts/src/test_components/Salty.tsx @@ -1,6 +1,6 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore -import { SignifyClient, ready, Serder } from "signify-ts"; +import { SignifyClient, ready, Serder, Tier } from "signify-ts"; import {strict as assert} from "assert"; import { useState } from 'react'; @@ -15,8 +15,11 @@ export function Salty() { try { const url = "http://localhost:3901" const bran = '0123456789abcdefghijk' - // TODO Add test with Tiers.med - const client = new SignifyClient(url, bran) + + let client = new SignifyClient(url, bran, Tier.med) + assert.equal(client.controller.pre, 'EOgQvKz8ziRn7FdR_ebwK9BkaVOnGeXQOJ87N6hMLrK0') + + client = new SignifyClient(url, bran, Tier.low) assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const r1 = await client.boot() assert.equal(r1.status, 202) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 30be4b56..7be894f4 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -125,7 +125,7 @@ export class Controller { this.tier = tier this.ridx = ridx - this.salter = new Salter({ qb64: this.bran }) + this.salter = new Salter({ qb64: this.bran, tier: tier }) let creator = new SaltyCreator(this.salter.qb64, tier, this.stem) @@ -194,7 +194,7 @@ export class Controller { rotate(bran: string, aids: Array) { let nbran = MtrDex.Salt_128 + 'A' + bran.substring(21) // qb64 salt for seed - let nsalter = new Salter({ qb64: nbran }) + let nsalter = new Salter({ qb64: nbran, tier:this.tier }) let nsigner = this.salter.signer({ transferable: false }) let creator = new SaltyCreator(this.salter.qb64, this.tier, this.stem) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3c499012..e0e8ad65 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -280,7 +280,8 @@ class Identifier { ndigs: any[], bran: string, count: number, - ncount: number + ncount: number, + tier: Tier }) { let algo = Algos.salty @@ -319,6 +320,7 @@ class Identifier { let bran = kargs["bran"] let count = kargs["count"] let ncount = kargs["ncount"] + let tier = kargs["tier"] let xargs = { transferable: transferable, @@ -341,7 +343,8 @@ class Identifier { ndigs: _ndigs, bran: bran, count: count, - ncount: ncount + ncount: ncount, + tier: tier } let keeper = this.client.manager!.new(algo, this.client.pidx, xargs) diff --git a/src/keri/core/salter.ts b/src/keri/core/salter.ts index 0391796b..5db09cb0 100644 --- a/src/keri/core/salter.ts +++ b/src/keri/core/salter.ts @@ -4,7 +4,7 @@ import { Matter, MtrDex } from './matter'; import { EmptyMaterialError } from './kering' import libsodium from 'libsodium-wrappers-sumo'; -export const enum Tier { +export enum Tier { low = "low", med = "med", high = "high" From 34fd24cf4ca0cb3cd560afe86ac27a736afe018c Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 14 Jun 2023 19:02:47 -0300 Subject: [PATCH 089/463] save delete old salt --- src/keri/app/signify.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index e0e8ad65..1c6010ff 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -211,6 +211,28 @@ export class SignifyClient { }) } + async saveOldSalt(salt:string) { + const caid = this.controller?.pre; + const body = { salt: salt }; + return await fetch(this.url + "/salt/" + caid, { + method: "PUT", + body: JSON.stringify(body), + headers: { + "Content-Type": "application/json" + } + }) + } + + async deleteldSalt() { + const caid = this.controller?.pre; + return await fetch(this.url + "/salt/" + caid, { + method: "DELETE", + headers: { + "Content-Type": "application/json" + } + }) + } + identifiers() { return new Identifier(this) } From 67c41b922bd4dcdc548ccccf252e33f561f80f4a Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 14 Jun 2023 18:37:16 -0500 Subject: [PATCH 090/463] coma? --- src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 871088cb..d2587fa8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ import _sodium from 'libsodium-wrappers-sumo'; -import load from 'blake3/browser-async' +import load from 'blake3/browser-async'; export const ready = (async () => { await load('https://cdn.jsdelivr.net/npm/blake3@2.1.7/dist/wasm/web/blake3_js_bg.wasm') await _sodium.ready; From 3494ec5ec6c4dfdc90607389e03d5158361e5ac3 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 14 Jun 2023 18:48:59 -0500 Subject: [PATCH 091/463] try this.tier? --- src/keri/app/controller.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 7be894f4..ba85f8f9 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -125,9 +125,9 @@ export class Controller { this.tier = tier this.ridx = ridx - this.salter = new Salter({ qb64: this.bran, tier: tier }) + this.salter = new Salter({ qb64: this.bran, tier: this.tier }) - let creator = new SaltyCreator(this.salter.qb64, tier, this.stem) + let creator = new SaltyCreator(this.salter.qb64, this.tier, this.stem) this.signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx, 0, false).signers.pop() this.nsigner = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() From ad93e298995ef63ef560984dc633d5da3cb4ccb0 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 15 Jun 2023 22:48:08 -0500 Subject: [PATCH 092/463] added GETS for Schemas/Registries and Challenges interfaces --- src/keri/app/signify.ts | 130 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 120 insertions(+), 10 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3c499012..8bcc2bae 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -234,6 +234,18 @@ export class SignifyClient { credentials() { return new Credentials(this) } + + registries() { + return new Registries(this) + } + + schemas() { + return new Schemas(this) + } + + challenges() { + return new Challenges(this) + } } class Identifier { @@ -241,7 +253,7 @@ class Identifier { constructor(client: SignifyClient) { this.client = client } - + //GET IdentifierCollectionEnd async list_identifiers() { let path = `/identifiers` let data = null @@ -249,7 +261,7 @@ class Identifier { let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - + //GET async get_identifier(name: string) { let path = `/identifiers/${name}` let data = null @@ -257,7 +269,7 @@ class Identifier { let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - + //POST async create(name: string, kargs: { transferable: boolean, @@ -392,11 +404,11 @@ class Identifier { } jsondata[algo] = keeper.params(), - this.client.pidx = this.client.pidx + 1 + this.client.pidx = this.client.pidx + 1 let res = await this.client.fetch("/identifiers", "POST", jsondata, undefined) return res.json() } - + //PUT IdentifierResourceEnd async interact(name: string, data: any | undefined = undefined) { let hab = await this.get_identifier(name) @@ -422,7 +434,7 @@ class Identifier { return res.json() } - + //PUT IdentifierResourceEnd async rotate( name: string, kargs: { @@ -507,7 +519,7 @@ class Identifier { let res = await this.client.fetch("/identifiers/" + name, "PUT", jsondata, undefined) return res.json() } - + //POST EndRoleCollectionEnd async addEndRole(name: string, role: string, eid: string | undefined) { const hab = await this.get_identifier(name) const pre = hab["prefix"] @@ -525,7 +537,7 @@ class Identifier { return res.json() } - + //POST /end/role/add makeEndRole(pre: string, role: string, eid: string | undefined) { const data: any = { cid: pre, @@ -647,12 +659,13 @@ class KeyStates { } } - class Credentials { public client: SignifyClient constructor(client: SignifyClient) { this.client = client } + //CredentialCollectionEnd + //todo rename to list_credentials async list(aid: string, typ: CredentialTypes, schema: string) { let path = `/aids/${aid}/credentials` //if type is not in the credential types, throw an error @@ -672,7 +685,8 @@ class Credentials { let res = await this.client.fetch(path, method, null, undefined) return await res.json() } - + //CredentialResourceEnd + //rename get_credential async export(aid: string, said: string) { let path = `/aids/${aid}/credentials/${said}` let method = 'GET' @@ -686,4 +700,100 @@ class Credentials { } +} + +class Registries { + public client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async list() { + let path = `/registries` + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + async create(name : string, alias : string, toad : number, nonce : string, noBackers : boolean, baks : [string], estOnly : boolean) { + let path = `/registries` + let method = 'POST' + let data = { + name: name, + alias: alias, + toad: toad, + nonce: nonce, + noBackers: noBackers, + baks: baks, + estOnly: estOnly + } + let res = await this.client.fetch(path, method, data, undefined) + return await res.json() + } + +} + +class Schemas { + client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + //SchemaResourceEnd + async get_schema(said:string) { + let path = `/schemas/${said}` + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + } + + //SchemaCollectionEnd + + async list_all_schemas() { + let path = `/schemas` + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + } + + + +} + +class Challenges { + client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + //ChallengeCollectionEnd + async get_challenge(strength:number) { + let path = `/challenges/${strength.toString()}` + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + } + //ChallengeResourceEnd + async send_challenge(name:string, recipient: string, words: [string], exn: string, sig: string) { + let path = `/challenges/${name}` + let method = 'POST' + let data = { + recipient: recipient, + words: words, + exn: exn, + sig: sig + } + let res = await this.client.fetch(path, method, data, undefined) + return await res.json() + } + //ChallengeResourceEnd + async accept_challenge(name:string, aid: string, saids: [string]) { + let path = `/challenges/${name}` + let method = 'PUT' + let data = { + aid: aid, + saids: saids + } + let res = await this.client.fetch(path, method, data, undefined) + return await res.json() + } + } \ No newline at end of file From 270c9b6fced347e20e73e928946a1d6dee6973b4 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 15 Jun 2023 23:02:30 -0500 Subject: [PATCH 093/463] add NoBackers to TraitCodex --- src/keri/app/habery.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/keri/app/habery.ts b/src/keri/app/habery.ts index 8afa1b60..aa9b4e10 100644 --- a/src/keri/app/habery.ts +++ b/src/keri/app/habery.ts @@ -10,6 +10,7 @@ import {Serder} from "../core/serder"; export class TraitCodex { EstOnly: string = 'EO' // Only allow establishment events DoNotDelegate: string = 'DND' // Dot not allow delegated identifiers + NoBackers: string = 'NB' // Do not allow backers } export const TraitDex = new TraitCodex() From 9718784bc1a8abe682fb3b7d143713f1cfebb733 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 15 Jun 2023 23:05:59 -0500 Subject: [PATCH 094/463] nobackers --- src/keri/app/signify.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 8bcc2bae..bdc9d258 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -7,6 +7,7 @@ import { incept, rotate, interact, reply } from "../core/eventing" import { b, Serials, Versionage } from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; +import { TraitDex } from "./habery"; const KERIA_BOOT_URL = "http://localhost:3903" @@ -715,7 +716,7 @@ class Registries { return await res.json() } - async create(name : string, alias : string, toad : number, nonce : string, noBackers : boolean, baks : [string], estOnly : boolean) { + async create(name : string, alias : string, toad : number, nonce : string, baks : [string], estOnly : boolean, noBackers : string = TraitDex.NoBackers) { let path = `/registries` let method = 'POST' let data = { From 82f56f78b80646ba6b342ea97a5de8ca66723b64 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 15 Jun 2023 23:35:49 -0500 Subject: [PATCH 095/463] Testing words --- .../signify-react-ts/src/TestsComponent.tsx | 4 +- .../src/test_components/Challenges.tsx | 48 +++++++++++++++++++ src/keri/app/signify.ts | 36 +++++++++----- 3 files changed, 75 insertions(+), 13 deletions(-) create mode 100644 examples/signify-react-ts/src/test_components/Challenges.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 75bf5f31..3e865199 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -7,10 +7,12 @@ import { Delegation } from "./test_components/Delegation"; import { Witnesses } from "./test_components/Witnesses"; import { Multisig } from "./test_components/Multisig"; import { Credentials } from "./test_components/Credentials"; +import { Challenges } from "./test_components/Challenges"; export function TestsComponent() { return ( - <> + <> + < Challenges /> < Credentials /> < Salty /> < Randy /> diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx new file mode 100644 index 00000000..8bc2392d --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -0,0 +1,48 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState, useEffect } from 'react'; + + +export function Challenges() { + const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index bdc9d258..84e301cc 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -405,7 +405,7 @@ class Identifier { } jsondata[algo] = keeper.params(), - this.client.pidx = this.client.pidx + 1 + this.client.pidx = this.client.pidx + 1 let res = await this.client.fetch("/identifiers", "POST", jsondata, undefined) return res.json() } @@ -693,7 +693,7 @@ class Credentials { let method = 'GET' let headers = new Headers({ 'Accept': 'application/json+cesr' - + }) let res = await this.client.fetch(path, method, null, headers) return await res.text() @@ -716,7 +716,7 @@ class Registries { return await res.json() } - async create(name : string, alias : string, toad : number, nonce : string, baks : [string], estOnly : boolean, noBackers : string = TraitDex.NoBackers) { + async create(name: string, alias: string, toad: number, nonce: string, baks: [string], estOnly: boolean, noBackers: string = TraitDex.NoBackers) { let path = `/registries` let method = 'POST' let data = { @@ -731,7 +731,7 @@ class Registries { let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - + } class Schemas { @@ -740,7 +740,7 @@ class Schemas { this.client = client } //SchemaResourceEnd - async get_schema(said:string) { + async get_schema(said: string) { let path = `/schemas/${said}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -757,7 +757,7 @@ class Schemas { } - + } class Challenges { @@ -766,27 +766,39 @@ class Challenges { this.client = client } //ChallengeCollectionEnd - async get_challenge(strength:number) { - let path = `/challenges/${strength.toString()}` + async get_challenge(strength: number = 128) { + let path = `/challenges?strength=${strength.toString()}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() } //ChallengeResourceEnd - async send_challenge(name:string, recipient: string, words: [string], exn: string, sig: string) { + async send_challenge(name: string, recipient: string, words: [string]) { let path = `/challenges/${name}` let method = 'POST' + + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + let state = hab["state"] + let sn = Number(state["s"]) + let dig = state["d"] + + let serder = interact({ pre: pre, dig: dig, sn: sn + 1, data: words, version: undefined, kind: undefined }) + let keeper = this.client!.manager!.get(hab) + let sigs = keeper.sign(b(serder.raw)) + let data = { recipient: recipient, words: words, - exn: exn, - sig: sig + exn: serder.ked, + sigs: sigs, } + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } //ChallengeResourceEnd - async accept_challenge(name:string, aid: string, saids: [string]) { + async accept_challenge(name: string, aid: string, saids: [string]) { let path = `/challenges/${name}` let method = 'PUT' let data = { From ace27827f4aa57c1b07bff0e70d54d66ccd344ae Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Thu, 15 Jun 2023 23:52:14 -0500 Subject: [PATCH 096/463] fix said in accept_challenge --- src/keri/app/signify.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 84e301cc..74e7c29f 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -793,17 +793,17 @@ class Challenges { exn: serder.ked, sigs: sigs, } - + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } //ChallengeResourceEnd - async accept_challenge(name: string, aid: string, saids: [string]) { + async accept_challenge(name: string, aid: string, said: string) { let path = `/challenges/${name}` let method = 'PUT' let data = { aid: aid, - saids: saids + said: said } let res = await this.client.fetch(path, method, data, undefined) return await res.json() From 3f9a9acdb32496a8db87142eb3f18f6fa8b56ddb Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 00:42:38 -0500 Subject: [PATCH 097/463] testing challenges --- .../src/test_components/Challenges.tsx | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 8bc2392d..9baad893 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -20,20 +20,37 @@ export function Challenges() { onClick={async () => { try { const url = "http://localhost:3901" - const bran = '0123456789abcdefghijk' - const client = new SignifyClient(url, bran) - assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') - await client.connect() - const identifiers = client.identifiers() - const ids = await identifiers.list_identifiers() - assert.equal(ids[0].prefix,'EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk') - - let challenges = client.challenges() - let challenge_small = await challenges.get_challenge(128) - assert.equal(challenge_small.words.length, 12) - let challenge_big = await challenges.get_challenge(256) - assert.equal(challenge_big.words.length, 24) + const bran1 = '1123456789abcdefghijk' + const bran2 = '2123456789abcdefghijk' + const client1 = new SignifyClient(url, bran1) + // await client1.boot() + await client1.connect() + const identifiers1 = client1.identifiers() + let challenges1 = client1.challenges() + let challenge1_small = await challenges1.get_challenge(128) + assert.equal(challenge1_small.words.length, 12) + let challenge1_big = await challenges1.get_challenge(256) + assert.equal(challenge1_big.words.length, 24) + let op1 = await identifiers1.create('aid1', {}) + let aid1 = op1['response'] + + const client2 = new SignifyClient(url, bran2) + // await client2.boot() + await client1.connect() + const identifiers2 = client2.identifiers() + const challenges2 = client2.challenges() + + let op2 = await identifiers2.create('aid2', {}) + let aid2 = op2['response'] + + let challenge_to_send = await challenges1.send_challenge('aid1',aid2,challenge1_small) + console.log(challenge_to_send) + + let challenge_to_receive = await challenges2.accept_challenge('aid2',aid1,challenge_to_send) + console.log(challenge_to_receive) + setTestResult("Passed") + } catch (e) { console.log(e) From 1b6980eb0d2c29989e1ea9db84ebe9d9946e2184 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 01:09:57 -0500 Subject: [PATCH 098/463] can send challenge --- .../src/test_components/Challenges.tsx | 25 ++++++++++--------- src/keri/app/signify.ts | 4 +-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 9baad893..6ac74fd0 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -1,7 +1,7 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; -import {strict as assert} from "assert"; +import { strict as assert } from "assert"; import { useState, useEffect } from 'react'; @@ -20,8 +20,8 @@ export function Challenges() { onClick={async () => { try { const url = "http://localhost:3901" - const bran1 = '1123456789abcdefghijk' - const bran2 = '2123456789abcdefghijk' + const bran1 = '0123456789abcdefghijk' + const bran2 = '1123456789abcdefghijk' const client1 = new SignifyClient(url, bran1) // await client1.boot() await client1.connect() @@ -31,26 +31,27 @@ export function Challenges() { assert.equal(challenge1_small.words.length, 12) let challenge1_big = await challenges1.get_challenge(256) assert.equal(challenge1_big.words.length, 24) - let op1 = await identifiers1.create('aid1', {}) + let op1 = await identifiers1.create('aid123', {}) let aid1 = op1['response'] const client2 = new SignifyClient(url, bran2) // await client2.boot() - await client1.connect() + await client2.connect() const identifiers2 = client2.identifiers() const challenges2 = client2.challenges() - - let op2 = await identifiers2.create('aid2', {}) + console.log('here1') + let op2 = await identifiers2.create('aid223', {}) let aid2 = op2['response'] + console.log('here12') - let challenge_to_send = await challenges1.send_challenge('aid1',aid2,challenge1_small) - console.log(challenge_to_send) + let challenge_to_send = await challenges1.send_challenge('aid123', aid2, challenge1_small) + console.log(challenge_to_send.status) + assert.equal(challenge_to_send.status, 202) + await setTimeout(() => { }, 3000) - let challenge_to_receive = await challenges2.accept_challenge('aid2',aid1,challenge_to_send) + let challenge_to_receive = await challenges2.accept_challenge('aid223', aid1, challenge_to_send) console.log(challenge_to_receive) - setTestResult("Passed") - } catch (e) { console.log(e) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 74e7c29f..a70d1e55 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -791,11 +791,11 @@ class Challenges { recipient: recipient, words: words, exn: serder.ked, - sigs: sigs, + sig: sigs, } let res = await this.client.fetch(path, method, data, undefined) - return await res.json() + return res } //ChallengeResourceEnd async accept_challenge(name: string, aid: string, said: string) { From a67fdaad7f32f58d26d0684ee9a31b88949ac3b0 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 01:32:56 -0500 Subject: [PATCH 099/463] accepts works --- .../src/test_components/Challenges.tsx | 17 ++++++++--------- src/keri/app/signify.ts | 17 ++++++++++++++--- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 6ac74fd0..b03613cc 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -31,7 +31,7 @@ export function Challenges() { assert.equal(challenge1_small.words.length, 12) let challenge1_big = await challenges1.get_challenge(256) assert.equal(challenge1_big.words.length, 24) - let op1 = await identifiers1.create('aid123', {}) + let op1 = await identifiers1.create('alex', {}) let aid1 = op1['response'] const client2 = new SignifyClient(url, bran2) @@ -39,17 +39,16 @@ export function Challenges() { await client2.connect() const identifiers2 = client2.identifiers() const challenges2 = client2.challenges() - console.log('here1') - let op2 = await identifiers2.create('aid223', {}) + let op2 = await identifiers2.create('rodo', {}) let aid2 = op2['response'] - console.log('here12') + console.log(aid2) - let challenge_to_send = await challenges1.send_challenge('aid123', aid2, challenge1_small) - console.log(challenge_to_send.status) - assert.equal(challenge_to_send.status, 202) - await setTimeout(() => { }, 3000) - let challenge_to_receive = await challenges2.accept_challenge('aid223', aid1, challenge_to_send) + let challenge_to_send = await challenges1.send_challenge('alex', aid2.d, challenge1_small) + console.log(challenge_to_send) + await setTimeout(() => { }, 3000) + + let challenge_to_receive = await challenges2.accept_challenge('rodo', aid1.d, challenge_to_send.d) console.log(challenge_to_receive) setTestResult("Passed") } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index a70d1e55..81c7393f 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -794,8 +794,13 @@ class Challenges { sig: sigs, } - let res = await this.client.fetch(path, method, data, undefined) - return res + let resp = await this.client.fetch(path, method, data, undefined) + if (resp.status === 202) { + return serder.ked + } + else { + throw new Error("Sending Challenge Failed") + } } //ChallengeResourceEnd async accept_challenge(name: string, aid: string, said: string) { @@ -806,7 +811,13 @@ class Challenges { said: said } let res = await this.client.fetch(path, method, data, undefined) - return await res.json() + + if (res.status === 202) { + return res + } + else { + throw new Error("Sending Challenge Failed") + } } } \ No newline at end of file From 6599e5545807dd233b9a24d1026aa5a9fb9b3bc4 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 01:37:44 -0500 Subject: [PATCH 100/463] comments before zzzzz --- examples/signify-react-ts/src/test_components/Challenges.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index b03613cc..018ef878 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -46,7 +46,7 @@ export function Challenges() { let challenge_to_send = await challenges1.send_challenge('alex', aid2.d, challenge1_small) console.log(challenge_to_send) - await setTimeout(() => { }, 3000) + await setTimeout(() => { }, 3000)//TODO: better way of checking if the challenge was received let challenge_to_receive = await challenges2.accept_challenge('rodo', aid1.d, challenge_to_send.d) console.log(challenge_to_receive) From 3f84a42f3a781cac7f3bc94c93ec587033729bc9 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 01:41:47 -0500 Subject: [PATCH 101/463] passes --- src/keri/app/signify.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 81c7393f..e70f6753 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -799,7 +799,7 @@ class Challenges { return serder.ked } else { - throw new Error("Sending Challenge Failed") + return resp } } //ChallengeResourceEnd @@ -812,12 +812,7 @@ class Challenges { } let res = await this.client.fetch(path, method, data, undefined) - if (res.status === 202) { - return res - } - else { - throw new Error("Sending Challenge Failed") - } + return res } } \ No newline at end of file From e751be83b7301521037fe72a124cdfa094a19374 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Fri, 16 Jun 2023 01:49:28 -0500 Subject: [PATCH 102/463] add assert --- examples/signify-react-ts/src/test_components/Challenges.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 018ef878..2f6464b9 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -50,6 +50,7 @@ export function Challenges() { let challenge_to_receive = await challenges2.accept_challenge('rodo', aid1.d, challenge_to_send.d) console.log(challenge_to_receive) + assert.equal(challenge_to_receive.status,202) setTestResult("Passed") } catch (e) { From 415324a4773dd81c241b00ddcf67ee96904c58ea Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Thu, 22 Jun 2023 06:30:30 -0700 Subject: [PATCH 103/463] Updating agent initialization to account for key state changes in KERIpy --- src/keri/app/controller.ts | 40 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index ba85f8f9..d05b51f1 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -18,7 +18,7 @@ export class Agent { pre: string; anchor: string; verfer: Verfer | null; - serder: Serder | null; + state: any | null; sn : number | undefined; said : string | undefined; @@ -26,7 +26,7 @@ export class Agent { this.pre = ""; this.anchor = ""; this.verfer = null; - this.serder = null; + this.state = null; this.sn = 0; this.said = ""; this.parse(agent); @@ -36,21 +36,21 @@ export class Agent { // if (kel.length < 1) { // throw new Error("invalid empty KEL"); // } - let [serder, verfer, ] = this.event(agent); + let [state, verfer, ] = this.event(agent); - this.sn = new PNumber(serder.ked['s']).num - this.said = serder.ked['d'] + this.sn = new PNumber(state['s']).num + this.said = state['d'] - if (serder.ked['et'] !== Ilks.dip) { - throw new Error(`invalid inception event type ${serder.ked['et']}`); + if (state['et'] !== Ilks.dip) { + throw new Error(`invalid inception event type ${state['et']}`); } - this.pre = serder.pre; - if (!serder.ked['di']) { + this.pre = state['i']; + if (!state['di']) { throw new Error("no anchor to controller AID"); } - this.anchor = serder.ked['di']; + this.anchor = state['di']; // for (let evt of kel.kel.slice(1)) { // for (let evt of state.controller.slice(1)) { // let [rot, nverfer, ndiger] = this.event(evt); @@ -67,14 +67,14 @@ export class Agent { // } this.verfer = verfer - this.serder = serder + this.state = state } - event(evt: any): [Serder, Verfer, Diger] { - let serder = new Serder(evt); + event(evt: any): [any, Verfer, Diger] { // let siger = new Siger({ qb64: evt["sig"] }); - if (serder.verfers.length !== 1) { + + if (evt['k'].length !== 1) { throw new Error(`agent inception event can only have one key`); } @@ -82,24 +82,24 @@ export class Agent { // throw new Error(`invalid signature on evt ${serder.ked['d']}`); // } - let verfer = serder.verfers[0]; + let verfer = new Verfer({qb64: evt['k'][0]}) - if (serder.digers.length !== 1) { + if (evt['n'].length !== 1) { throw new Error(`agent inception event can only have one next key`); } - let diger = serder.digers[0]; + let diger = new Diger({qb64: evt['n'][0]}); - let tholder = new Tholder(serder.ked["kt"]); + let tholder = new Tholder(evt["kt"]); if (tholder.num !== 1) { throw new Error(`invalid threshold ${tholder.num}, must be 1`); } - let ntholder = new Tholder(serder.ked["nt"]); + let ntholder = new Tholder(evt["nt"]); if (ntholder.num !== 1) { throw new Error(`invalid next threshold ${ntholder.num}, must be 1`); } - return [serder, verfer, diger]; + return [evt, verfer, diger]; } } export class Controller { From bf27d240bac1633f6df897a183701400ac87b446 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Thu, 22 Jun 2023 19:51:30 -0300 Subject: [PATCH 104/463] add contacts --- .../scripts/keri/cf/demo-witness-oobis.json | 0 .../signify-react-ts/src/TestsComponent.tsx | 2 + .../src/test_components/Challenges.tsx | 75 ++++++++--- .../src/test_components/Contacts.tsx | 120 ++++++++++++++++++ src/keri/app/signify.ts | 112 +++++++++++++--- src/keri/core/core.ts | 1 + 6 files changed, 275 insertions(+), 35 deletions(-) create mode 100755 examples/signify-react-ts/scripts/keri/cf/demo-witness-oobis.json create mode 100644 examples/signify-react-ts/src/test_components/Contacts.tsx diff --git a/examples/signify-react-ts/scripts/keri/cf/demo-witness-oobis.json b/examples/signify-react-ts/scripts/keri/cf/demo-witness-oobis.json new file mode 100755 index 00000000..e69de29b diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 3e865199..39f04e71 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -8,10 +8,12 @@ import { Witnesses } from "./test_components/Witnesses"; import { Multisig } from "./test_components/Multisig"; import { Credentials } from "./test_components/Credentials"; import { Challenges } from "./test_components/Challenges"; +import { Contacts } from "./test_components/Contacts"; export function TestsComponent() { return ( <> + < Contacts /> < Challenges /> < Credentials /> < Salty /> diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 2f6464b9..c699465f 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -23,34 +23,77 @@ export function Challenges() { const bran1 = '0123456789abcdefghijk' const bran2 = '1123456789abcdefghijk' const client1 = new SignifyClient(url, bran1) - // await client1.boot() + await client1.boot() await client1.connect() const identifiers1 = client1.identifiers() + const operations1 = client1.operations() + const oobis1 = client1.oobis() + const contacts1 = client1.contacts() let challenges1 = client1.challenges() - let challenge1_small = await challenges1.get_challenge(128) + let challenge1_small = await challenges1.generate_challenge(128) assert.equal(challenge1_small.words.length, 12) - let challenge1_big = await challenges1.get_challenge(256) + let challenge1_big = await challenges1.generate_challenge(256) assert.equal(challenge1_big.words.length, 24) - let op1 = await identifiers1.create('alex', {}) - let aid1 = op1['response'] + let op1 = await identifiers1.create('alex', { + toad: 2, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + }) + while (!op1["done"] ) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const aid1 = op1['response'] const client2 = new SignifyClient(url, bran2) - // await client2.boot() + await client2.boot() await client2.connect() const identifiers2 = client2.identifiers() const challenges2 = client2.challenges() - let op2 = await identifiers2.create('rodo', {}) - let aid2 = op2['response'] - console.log(aid2) + const operations2 = client2.operations() + const oobis2 = client2.oobis() + let op2 = await identifiers2.create('rodo', { + toad: 2, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + }) + while (!op2["done"] ) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const aid2 = op2['response'] + + await identifiers1.addEndRole("alex", 'agent', client1!.agent!.pre) + await identifiers2.addEndRole("rodo", 'agent', client2!.agent!.pre) + + // const oobi1 = await oobis1.get("alex") + // const oobi2 = await oobis2.get("rodo") - - let challenge_to_send = await challenges1.send_challenge('alex', aid2.d, challenge1_small) - console.log(challenge_to_send) - await setTimeout(() => { }, 3000)//TODO: better way of checking if the challenge was received + op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness","rodo") + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + await contacts1.add_contact(aid2.i,{alias: "rodo"}) + // await new Promise(resolve => setTimeout(resolve, 30000)) + op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness","alex") + while (!op2["done"]) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + await contacts1.list_contacts(undefined, undefined, undefined) + // let words:string[] = ["collect", "merit", "vibrant", "fault", "math", "attitude", "goddess", "upgrade", "also", "ahead", "left", "rare"] + // await challenges1.respond_challenge('alex', "EBn2oXQrGn-rCMddl6L_mrFeq7dwF5ESGJu0xNWXrsM2", words) + let challenge = await challenges2.respond_challenge('rodo', aid1.i, challenge1_small) + // await new Promise(resolve => setTimeout(resolve, 3000));//TODO: better way of checking if the challenge was received - let challenge_to_receive = await challenges2.accept_challenge('rodo', aid1.d, challenge_to_send.d) - console.log(challenge_to_receive) - assert.equal(challenge_to_receive.status,202) + await contacts1.list_contacts(undefined, undefined, undefined) + await challenges1.verify_challenge('alex', aid2.i, challenge.d) + await contacts1.list_contacts(undefined, undefined, undefined) setTestResult("Passed") } catch (e) { diff --git a/examples/signify-react-ts/src/test_components/Contacts.tsx b/examples/signify-react-ts/src/test_components/Contacts.tsx new file mode 100644 index 00000000..52085d8b --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Contacts.tsx @@ -0,0 +1,120 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState } from 'react'; + +export function Contacts() { + const [testResult, setTestResult] = useState(''); + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 6dc9b82c..ed2ac1de 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -3,11 +3,12 @@ import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept, rotate, interact, reply } from "../core/eventing" -import { b, Serials, Versionage } from "../core/core"; +import { incept, rotate, interact, reply, messagize } from "../core/eventing" +import { b, Serials, Versionage} from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; import { TraitDex } from "./habery"; +import { Siger } from "../core/siger"; const KERIA_BOOT_URL = "http://localhost:3903" @@ -269,6 +270,10 @@ export class SignifyClient { challenges() { return new Challenges(this) } + + contacts() { + return new Contacts(this) + } } class Identifier { @@ -791,48 +796,63 @@ class Challenges { this.client = client } //ChallengeCollectionEnd - async get_challenge(strength: number = 128) { + async generate_challenge(strength: number = 128) { let path = `/challenges?strength=${strength.toString()}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() } //ChallengeResourceEnd - async send_challenge(name: string, recipient: string, words: [string]) { - let path = `/challenges/${name}` + async respond_challenge(alias: string, recipient: string, words: string[]) { + let path = `/challenges/${alias}` let method = 'POST' - let hab = await this.client.identifiers().get_identifier(name) + let hab = await this.client.identifiers().get_identifier(alias) let pre: string = hab["prefix"] - let state = hab["state"] - let sn = Number(state["s"]) - let dig = state["d"] + let data = { + i: pre, + words: words + } - let serder = interact({ pre: pre, dig: dig, sn: sn + 1, data: words, version: undefined, kind: undefined }) + const exn = reply("/challenge/response",data,undefined,undefined,Serials.JSON) + + let keeper = this.client!.manager!.get(hab) - let sigs = keeper.sign(b(serder.raw)) - let data = { + + let sig = keeper.sign(b(exn.raw)) + // let siger = new Siger({qb64:sig[0]}) + // let ims = messagize(exn,[siger],undefined, undefined, undefined, false) + // let sigers = [siger] + // let msg = new Uint8Array(b(exn.raw)) + // console.log(msg) + // console.log([sigers]) + // console.log(sigers[0].qb64b) + // let ims = concat(msg, sigers[0].qb64b) + // console.log(ims) + + + let jsondata = { recipient: recipient, words: words, - exn: serder.ked, - sig: sigs, + exn: exn.ked, + sig: sig[0], } - let resp = await this.client.fetch(path, method, data, undefined) + let resp = await this.client.fetch(path, method, jsondata, undefined) if (resp.status === 202) { - return serder.ked + return exn.ked } else { return resp } } //ChallengeResourceEnd - async accept_challenge(name: string, aid: string, said: string) { - let path = `/challenges/${name}` + async verify_challenge(alias: string, pre: string, said: string) { + let path = `/challenges/${alias}` let method = 'PUT' let data = { - aid: aid, + aid: pre, said: said } let res = await this.client.fetch(path, method, data, undefined) @@ -840,4 +860,58 @@ class Challenges { return res } +} + +class Contacts { + client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async list_contacts(group:string|undefined, filterField:string|undefined, filterValue:string|undefined) { + let params = new URLSearchParams() + if (group !== undefined) {params.append('group', group)} + if (filterField !== undefined && filterValue !== undefined) {params.append(filterField, filterValue)} + + let path = `/contacts`+ '?' + params.toString() + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + + async get_contact(pre:string) { + + let path = `/contacts/`+ pre + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + + async add_contact(pre: string, info: any) { + let path = `/contacts/`+ pre + let method = 'POST' + + let res = await this.client.fetch(path, method, info, undefined) + return await res.json() + } + + async delete_contact(pre: string) { + let path = `/contacts/`+ pre + let method = 'DELETE' + + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + } + + async update_contact(pre: string, info: any) { + let path = `/contacts/`+pre + let method = 'PUT' + + let res = await this.client.fetch(path, method, info, undefined) + return await res.json() + } + + } \ No newline at end of file diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 722e80f0..716b7ff4 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -30,6 +30,7 @@ export const Ilks = { rct: 'rct', vrc: 'vrc', rpy: 'rpy', + exn: 'exn', }; export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", From b82317ba66c81b5bb031c4912b569c580f9934fb Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Thu, 22 Jun 2023 19:56:07 -0300 Subject: [PATCH 105/463] ts fix --- src/keri/app/signify.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index ed2ac1de..bb2facf3 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -3,12 +3,11 @@ import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept, rotate, interact, reply, messagize } from "../core/eventing" +import { incept, rotate, interact, reply } from "../core/eventing" import { b, Serials, Versionage} from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; import { TraitDex } from "./habery"; -import { Siger } from "../core/siger"; const KERIA_BOOT_URL = "http://localhost:3903" From a3c0382c5be4d26767809b57af858859397c9236 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 25 Jun 2023 21:17:41 -0300 Subject: [PATCH 106/463] dix challenge response --- .../signify-react-ts/src/TestsComponent.tsx | 2 - .../src/test_components/Challenges.tsx | 17 +-- .../src/test_components/Contacts.tsx | 120 ------------------ src/keri/app/signify.ts | 41 +++--- src/keri/core/eventing.ts | 14 +- 5 files changed, 39 insertions(+), 155 deletions(-) delete mode 100644 examples/signify-react-ts/src/test_components/Contacts.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 39f04e71..3e865199 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -8,12 +8,10 @@ import { Witnesses } from "./test_components/Witnesses"; import { Multisig } from "./test_components/Multisig"; import { Credentials } from "./test_components/Credentials"; import { Challenges } from "./test_components/Challenges"; -import { Contacts } from "./test_components/Contacts"; export function TestsComponent() { return ( <> - < Contacts /> < Challenges /> < Credentials /> < Salty /> diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index c699465f..c8454d97 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -4,7 +4,6 @@ import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "si import { strict as assert } from "assert"; import { useState, useEffect } from 'react'; - export function Challenges() { const [testResult, setTestResult] = useState(''); useEffect(() => { @@ -70,30 +69,20 @@ export function Challenges() { await identifiers1.addEndRole("alex", 'agent', client1!.agent!.pre) await identifiers2.addEndRole("rodo", 'agent', client2!.agent!.pre) - // const oobi1 = await oobis1.get("alex") - // const oobi2 = await oobis2.get("rodo") - - op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness","rodo") + op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","rodo") while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } await contacts1.add_contact(aid2.i,{alias: "rodo"}) - // await new Promise(resolve => setTimeout(resolve, 30000)) op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness","alex") while (!op2["done"]) { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } await contacts1.list_contacts(undefined, undefined, undefined) - // let words:string[] = ["collect", "merit", "vibrant", "fault", "math", "attitude", "goddess", "upgrade", "also", "ahead", "left", "rare"] - // await challenges1.respond_challenge('alex', "EBn2oXQrGn-rCMddl6L_mrFeq7dwF5ESGJu0xNWXrsM2", words) - let challenge = await challenges2.respond_challenge('rodo', aid1.i, challenge1_small) - // await new Promise(resolve => setTimeout(resolve, 3000));//TODO: better way of checking if the challenge was received - - await contacts1.list_contacts(undefined, undefined, undefined) - await challenges1.verify_challenge('alex', aid2.i, challenge.d) - await contacts1.list_contacts(undefined, undefined, undefined) + await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) + // await challenges1.accept_challenge_response('alex', said) setTestResult("Passed") } catch (e) { diff --git a/examples/signify-react-ts/src/test_components/Contacts.tsx b/examples/signify-react-ts/src/test_components/Contacts.tsx deleted file mode 100644 index 52085d8b..00000000 --- a/examples/signify-react-ts/src/test_components/Contacts.tsx +++ /dev/null @@ -1,120 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import { SignifyClient, ready, Serder } from "signify-ts"; -import {strict as assert} from "assert"; -import { useState } from 'react'; - -export function Contacts() { - const [testResult, setTestResult] = useState(''); - - return ( - <> -
- {testResult} -
- - ) -} - - diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index bb2facf3..260ff294 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -3,12 +3,14 @@ import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" import { Algos } from '../core/manager'; -import { incept, rotate, interact, reply } from "../core/eventing" -import { b, Serials, Versionage} from "../core/core"; +import { incept, rotate, interact, reply, messagize } from "../core/eventing" +import { b, Serials, Versionage, Ilks, versify, Ident} from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; import { TraitDex } from "./habery"; - +import { Saider } from "../core/saider"; +import { Serder } from "../core/serder"; +import { Siger } from "../core/siger"; const KERIA_BOOT_URL = "http://localhost:3903" export class CredentialTypes { @@ -813,29 +815,34 @@ class Challenges { words: words } - const exn = reply("/challenge/response",data,undefined,undefined,Serials.JSON) + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + const _sad = { + v: vs, + t: Ilks.exn, + d: "", + dt: new Date().toISOString().replace("Z","000+00:00"), + r: "/challenge/response", + q: {}, + a: data + } + const [, sad] = Saider.saidify(_sad) + const exn = new Serder(sad) let keeper = this.client!.manager!.get(hab) + let sig = keeper.sign(b(exn.raw),true) - let sig = keeper.sign(b(exn.raw)) - // let siger = new Siger({qb64:sig[0]}) - // let ims = messagize(exn,[siger],undefined, undefined, undefined, false) - // let sigers = [siger] - // let msg = new Uint8Array(b(exn.raw)) - // console.log(msg) - // console.log([sigers]) - // console.log(sigers[0].qb64b) - // let ims = concat(msg, sigers[0].qb64b) - // console.log(ims) - + let siger = new Siger({qb64:sig[0]}) + let seal = ["SealLast" , {i:pre}] + let ims = messagize(exn,[siger],seal, undefined, undefined, true) + ims = ims.slice(JSON.stringify(exn.ked).length) let jsondata = { recipient: recipient, words: words, exn: exn.ked, - sig: sig[0], + sig: new TextDecoder().decode(ims) } let resp = await this.client.fetch(path, method, jsondata, undefined) @@ -847,7 +854,7 @@ class Challenges { } } //ChallengeResourceEnd - async verify_challenge(alias: string, pre: string, said: string) { + async accept_challenge_response(alias: string, pre: string, said: string) { let path = `/challenges/${alias}` let method = 'PUT' let data = { diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index f90f1a5e..aa41c7c7 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -8,6 +8,7 @@ import { Saider } from "./saider"; import { Siger } from "./siger"; import { Cigar } from "./cigar"; import { Counter, CtrDex } from "./counter"; +import { Seqner } from "./seqner"; let MaxIntThold = 2 ** 32 - 1 @@ -364,7 +365,17 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig if (sigers != undefined) { if (seal != undefined) { - throw new Error(`Index sig group seals not yet supported`) + if (seal[0]=="SealEvent") { + atc = concat(atc, new Counter({ code: CtrDex.TransIdxSigGroups, count: 1 }).qb64b) + atc = concat(atc, seal.i.encode("utf-8")) + atc = concat(atc, new Seqner(seal[1].s).qb64b) + atc = concat(atc, seal.d.encode("utf-8")) + + } else if (seal[0] == "SealLast") { + atc = concat(atc, new Counter({ code: CtrDex.TransLastIdxSigGroups, count: 1 }).qb64b) + atc = concat(atc, new TextEncoder().encode(seal[1].i)) + } + } atc = concat(atc, new Counter({ code: CtrDex.ControllerIdxSigs, count: sigers.length }).qb64b) @@ -402,7 +413,6 @@ export function messagize(serder: Serder, sigers?: Array, seal?: any, wig msg = concat(msg, new Counter({ code: CtrDex.AttachedMaterialQuadlets, count: (Math.floor(atc.length / 4)) }).qb64b) } msg = concat(msg, atc) - return msg } From d79388a9364b429029ada30d871835ad713f07fa Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 09:19:34 -0300 Subject: [PATCH 107/463] add notifications --- .../src/test_components/Challenges.tsx | 6 ++- src/keri/app/signify.ts | 42 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index c8454d97..6cc46581 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -28,7 +28,8 @@ export function Challenges() { const operations1 = client1.operations() const oobis1 = client1.oobis() const contacts1 = client1.contacts() - let challenges1 = client1.challenges() + const challenges1 = client1.challenges() + const notifications1 = client1.notifications() let challenge1_small = await challenges1.generate_challenge(128) assert.equal(challenge1_small.words.length, 12) let challenge1_big = await challenges1.generate_challenge(256) @@ -83,6 +84,9 @@ export function Challenges() { await contacts1.list_contacts(undefined, undefined, undefined) await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) // await challenges1.accept_challenge_response('alex', said) + await contacts1.list_contacts(undefined, undefined, undefined) + await new Promise(resolve => setTimeout(resolve, 10000)); + await notifications1.list_notifications(undefined, undefined) setTestResult("Passed") } catch (e) { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 260ff294..00f6bed6 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -275,6 +275,10 @@ export class SignifyClient { contacts() { return new Contacts(this) } + + notifications() { + return new Notifications(this) + } } class Identifier { @@ -919,5 +923,43 @@ class Contacts { return await res.json() } +} + +class Notifications { + client: SignifyClient + constructor(client: SignifyClient) { + this.client = client + } + + async list_notifications(last:string|undefined, limit:number|undefined) { + let params = new URLSearchParams() + if (last !== undefined) {params.append('last', last)} + if (limit !== undefined) {params.append('limit', limit.toString())} + + let path = `/notifications` //+ '?' + params.toString() + let method = 'GET' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + + async mark_notification(said:string) { + + let path = `/notifications/`+ said + let method = 'PUT' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + + async delete_notification(said:string) { + + let path = `/notifications/`+ said + let method = 'DELETE' + let res = await this.client.fetch(path, method, null, undefined) + return await res.json() + + } + } \ No newline at end of file From afb06d74434ee4d8c86174c2bc1503e0a7beda7f Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 09:31:29 -0300 Subject: [PATCH 108/463] update registries endpoit --- src/keri/app/signify.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 00f6bed6..e8a60ce7 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -744,15 +744,15 @@ class Registries { this.client = client } - async list() { - let path = `/registries` + async list(name:string) { + let path = `/identifiers/`+name+`/registries` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() } async create(name: string, alias: string, toad: number, nonce: string, baks: [string], estOnly: boolean, noBackers: string = TraitDex.NoBackers) { - let path = `/registries` + let path = `/identifiers/`+name+`/registries` let method = 'POST' let data = { name: name, From 39e9e345582c68c9d2db8e7221dab28fb7f2a947 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 09:46:56 -0300 Subject: [PATCH 109/463] update credentials endpoint --- src/keri/app/signify.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index e8a60ce7..c20f7dd8 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -701,9 +701,8 @@ class Credentials { this.client = client } //CredentialCollectionEnd - //todo rename to list_credentials - async list(aid: string, typ: CredentialTypes, schema: string) { - let path = `/aids/${aid}/credentials` + async list_credentials(aid: string, typ: CredentialTypes, schema: string) { + let path = `/identifiers/${aid}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { throw new Error("Invalid Credential Type") @@ -722,9 +721,8 @@ class Credentials { return await res.json() } //CredentialResourceEnd - //rename get_credential - async export(aid: string, said: string) { - let path = `/aids/${aid}/credentials/${said}` + async export_credential(aid: string, said: string) { + let path = `/identifiers/${aid}/credentials/${said}` let method = 'GET' let headers = new Headers({ 'Accept': 'application/json+cesr' From 810df3eb3334e0f176332b2ac0b041367f1e88cd Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 09:55:08 -0300 Subject: [PATCH 110/463] Add Issue credential --- src/keri/app/signify.ts | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index c20f7dd8..99f7c816 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -733,6 +733,59 @@ class Credentials { } + async issue_credential(aid: string, registy: string, recipient: string, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false) { + + let body = { + registry: registy, + recipient: recipient, + schema: schema, + rules: rules, + source: source, + credentialData: credentialData, + private: _private + } + // TODO + // properties: + // registry: + // type: string + // description: Alias of credential issuance/revocation registry (aka status) + // recipient: + // type: string + // description: AID of credential issuance/revocation recipient + // schema: + // type: string + // description: SAID of credential schema being issued + // rules: + // type: object + // description: Rules section (Ricardian contract) for credential being issued + // source: + // type: object + // description: ACDC edge or edge group for chained credentials + // properties: + // d: + // type: string + // description: SAID of reference chain + // s: + // type: string + // description: SAID of reference chain schema + // credentialData: + // type: object + // description: dynamic map of values specific to the schema + // private: + // type: boolean + // description: flag to inidicate this credential should support privacy preserving presentations + + let path = `/identifiers/${aid}/credentials` + let method = 'POST' + let headers = new Headers({ + 'Accept': 'application/json+cesr' + + }) + let res = await this.client.fetch(path, method, body, headers) + return await res.text() + + } + } From eebd1aa68475301205e7a8d1bb38be2eb1d83728 Mon Sep 17 00:00:00 2001 From: Kevin Griffin Date: Mon, 26 Jun 2023 14:48:48 -0400 Subject: [PATCH 111/463] fixes aids --- src/keri/app/signify.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3c499012..02843dc3 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -654,7 +654,7 @@ class Credentials { this.client = client } async list(aid: string, typ: CredentialTypes, schema: string) { - let path = `/aids/${aid}/credentials` + let path = `/identifiers/${aid}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { throw new Error("Invalid Credential Type") @@ -674,7 +674,7 @@ class Credentials { } async export(aid: string, said: string) { - let path = `/aids/${aid}/credentials/${said}` + let path = `/identifiers/${aid}/credentials/${said}` let method = 'GET' let headers = new Headers({ 'Accept': 'application/json+cesr' From 78af8341b0f9b3510570ab20853b6191e4244eee Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 26 Jun 2023 16:56:13 -0400 Subject: [PATCH 112/463] Pass name of identifier instead of AID to credentials endpoint --- src/keri/app/signify.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 25f5099d..7fa1a439 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -692,8 +692,8 @@ class Credentials { } //CredentialCollectionEnd //todo rename to list_credentials - async list(aid: string, typ: CredentialTypes, schema: string) { - let path = `/identifiers/${aid}/credentials` + async list(name: string, typ: CredentialTypes, schema: string) { + let path = `/identifiers/${name}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { throw new Error("Invalid Credential Type") @@ -713,8 +713,8 @@ class Credentials { } //CredentialResourceEnd //rename get_credential - async export(aid: string, said: string) { - let path = `/identifiers/${aid}/credentials/${said}` + async export(name: string, said: string) { + let path = `/identifiers/${name}/credentials/${said}` let method = 'GET' let headers = new Headers({ 'Accept': 'application/json+cesr' From f7fd86e3be0f07ed2a5c4070df83ffbbdf71e13e Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 18:03:51 -0300 Subject: [PATCH 113/463] add presentations and requests --- src/keri/app/signify.ts | 112 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 102 insertions(+), 10 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 99f7c816..e44338cd 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -701,8 +701,8 @@ class Credentials { this.client = client } //CredentialCollectionEnd - async list_credentials(aid: string, typ: CredentialTypes, schema: string) { - let path = `/identifiers/${aid}/credentials` + async list_credentials(name: string, typ: CredentialTypes, schema: string) { + let path = `/identifiers/${name}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { throw new Error("Invalid Credential Type") @@ -721,8 +721,8 @@ class Credentials { return await res.json() } //CredentialResourceEnd - async export_credential(aid: string, said: string) { - let path = `/identifiers/${aid}/credentials/${said}` + async export_credential(name: string, said: string) { + let path = `/identifiers/${name}/credentials/${said}` let method = 'GET' let headers = new Headers({ 'Accept': 'application/json+cesr' @@ -733,7 +733,7 @@ class Credentials { } - async issue_credential(aid: string, registy: string, recipient: string, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false) { + async issue_credential(name: string, registy: string, recipient: string, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false) { let body = { registry: registy, @@ -775,7 +775,99 @@ class Credentials { // type: boolean // description: flag to inidicate this credential should support privacy preserving presentations - let path = `/identifiers/${aid}/credentials` + let path = `/identifiers/${name}/credentials` + let method = 'POST' + let headers = new Headers({ + 'Accept': 'application/json+cesr' + + }) + let res = await this.client.fetch(path, method, body, headers) + return await res.text() + + } + + + async present_credential(name: string, said: string, recipient: string, include: boolean=true) { + // parameters: + // - in: path + // name: alias + // schema: + // type: string + // required: true + // description: Human readable alias for the holder of credential + // requestBody: + // required: true + // content: + // application/json: + // schema: + // type: object + // properties: + // said: + // type: string + // required: true + // description: qb64 SAID of credential to send + // recipient: + // type: string + // required: true + // description: qb64 AID to send credential presentation to + // include: + // type: boolean + // required: true + // default: true + // description: flag indicating whether to stream credential alongside presentation exn + + let body = { + said: said, + recipient: recipient, + include: include + + } + let path = `/identifiers/${name}/credentials/${said}/presentations` + let method = 'POST' + let headers = new Headers({ + 'Accept': 'application/json+cesr' + + }) + let res = await this.client.fetch(path, method, body, headers) + return await res.text() + + } + + async request_credential(name: string, recipient: string, schema: string, issuer: string) { + + + // parameters: + // - in: path + // name: alias + // schema: + // type: string + // required: true + // description: Human readable alias for the identifier to create + // requestBody: + // required: true + // content: + // application/json: + // schema: + // type: object + // properties: + // recipient: + // type: string + // required: true + // description: qb64 AID to send presentation request to + // schema: + // type: string + // required: true + // description: qb64 SAID of schema for credential being requested + // issuer: + // type: string + // required: false + // description: qb64 AID of issuer of credential being requested + let body = { + recipient: recipient, + schema: schema, + issuer: issuer + } + let path = `/identifiers/${name}/requests` let method = 'POST' let headers = new Headers({ 'Accept': 'application/json+cesr' @@ -796,14 +888,14 @@ class Registries { } async list(name:string) { - let path = `/identifiers/`+name+`/registries` + let path = `/identifiers/${name}/registries` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() } async create(name: string, alias: string, toad: number, nonce: string, baks: [string], estOnly: boolean, noBackers: string = TraitDex.NoBackers) { - let path = `/identifiers/`+name+`/registries` + let path = `/identifiers/${name}/registries` let method = 'POST' let data = { name: name, @@ -987,7 +1079,7 @@ class Notifications { if (last !== undefined) {params.append('last', last)} if (limit !== undefined) {params.append('limit', limit.toString())} - let path = `/notifications` //+ '?' + params.toString() + let path = `/notifications` + '?' + params.toString() let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() @@ -1012,5 +1104,5 @@ class Notifications { } +} -} \ No newline at end of file From dcb6b770945ceca61638194f9f357ead8b287917 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Mon, 26 Jun 2023 16:31:05 -0500 Subject: [PATCH 114/463] export randomPasscode using libsodium --- src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.ts b/src/index.ts index d2587fa8..70907273 100644 --- a/src/index.ts +++ b/src/index.ts @@ -12,6 +12,7 @@ export * from './keri/core/serder' export * from './keri/core/diger' export * from './keri/app/habery' export * from './keri/app/signify' +export * from './keri/app/apping'; import { Buffer } from 'buffer'; From 321d7a52b2adf4a1c37e9ba1abbbe20856a3b63c Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 26 Jun 2023 22:34:46 -0300 Subject: [PATCH 115/463] fix merge conflict --- src/keri/app/signify.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index e44338cd..024bcd95 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -701,7 +701,8 @@ class Credentials { this.client = client } //CredentialCollectionEnd - async list_credentials(name: string, typ: CredentialTypes, schema: string) { + //todo rename to list_credentials + async list(name: string, typ: CredentialTypes, schema: string) { let path = `/identifiers/${name}/credentials` //if type is not in the credential types, throw an error if (!Object.values(CredentialTypes).includes(typ)) { @@ -721,7 +722,8 @@ class Credentials { return await res.json() } //CredentialResourceEnd - async export_credential(name: string, said: string) { + //rename get_credential + async export(name: string, said: string) { let path = `/identifiers/${name}/credentials/${said}` let method = 'GET' let headers = new Headers({ From aed41fbb748ccc0ecac77a0eaa56b96a8f24ce28 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 27 Jun 2023 22:42:46 -0300 Subject: [PATCH 116/463] vcp with ixn --- .../src/test_components/Credentials.tsx | 85 +++++++++++++++---- src/keri/app/signify.ts | 62 ++++++++++++-- src/keri/core/core.ts | 1 + src/keri/core/prefixer.ts | 2 +- 4 files changed, 125 insertions(+), 25 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index 5ed94b82..41f63819 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -3,6 +3,7 @@ import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; import {strict as assert} from "assert"; import { useState, useEffect } from 'react'; +import { UndoRounded } from "@mui/icons-material"; export function Credentials() { @@ -20,21 +21,75 @@ export function Credentials() { onClick={async () => { try { const url = "http://localhost:3901" - const bran = '0123456789abcdefghijk' - const client = new SignifyClient(url, bran) - assert.equal(client.controller.pre, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') - await client.connect() - const identifiers = client.identifiers() - const ids = await identifiers.list_identifiers() - assert.equal(ids[0].prefix,'EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk') - - const creds = client.credentials() - let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') - console.log(rs) - let said = rs[0]['sad']['d'] - let resp = await creds.export(ids[0].prefix,said) - console.log(resp) - // console.log(JSON.stringify(resp,null,2)) + const bran1 = '0123456789abcdefghijk' + const bran2 = '1123456789abcdefghijk' + const client1 = new SignifyClient(url, bran1) + await client1.boot() + await client1.connect() + const identifiers1 = client1.identifiers() + const operations1 = client1.operations() + const oobis1 = client1.oobis() + let op1 = await identifiers1.create('issuer', { + toad: 2, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + }) + while (!op1["done"] ) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const aid1 = op1['response'] + + const client2 = new SignifyClient(url, bran2) + await client2.boot() + await client2.connect() + const identifiers2 = client2.identifiers() + const operations2 = client2.operations() + const oobis2 = client2.oobis() + let op2 = await identifiers2.create('holder', { + toad: 2, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + }) + while (!op2["done"] ) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const aid2 = op2['response'] + + await identifiers1.addEndRole("issuer", 'agent', client1!.agent!.pre) + await identifiers2.addEndRole("holder", 'agent', client2!.agent!.pre) + + op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","rodo") + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness","alex") + while (!op2["done"]) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + + + op1 = await client1.registries().create('issuer','vLEI', "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK", false) + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + + await client1.registries().list('issuer') + + // const creds = client.credentials() + // let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') + // console.log(rs) + // let said = rs[0]['sad']['d'] + // let resp = await creds.export(ids[0].prefix,said) + // console.log(resp) setTestResult("Passed") } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 024bcd95..6ec6f27d 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -7,10 +7,10 @@ import { incept, rotate, interact, reply, messagize } from "../core/eventing" import { b, Serials, Versionage, Ilks, versify, Ident} from "../core/core"; import { Tholder } from "../core/tholder"; import { MtrDex } from "../core/matter"; -import { TraitDex } from "./habery"; import { Saider } from "../core/saider"; import { Serder } from "../core/serder"; import { Siger } from "../core/siger"; +import { Prefixer } from "../core/prefixer"; const KERIA_BOOT_URL = "http://localhost:3903" export class CredentialTypes { @@ -896,17 +896,61 @@ class Registries { return await res.json() } - async create(name: string, alias: string, toad: number, nonce: string, baks: [string], estOnly: boolean, noBackers: string = TraitDex.NoBackers) { + async create(name: string, registryName: string, nonce:string, estOnly: boolean=false) { + // TODO add backers option + + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + let vcp = { + v: vs, + t: Ilks.vcp, + d: "", + i: "", + ii: pre, + s: "0", + c: ['NB'], + bt: "0", + b: [], + n: nonce + } + + let prefixer = new Prefixer({code: MtrDex.Blake3_256}, vcp) + vcp['i'] = prefixer.qb64 + vcp['d'] = prefixer.qb64 + + let ixn = {} + let sigs = [] + if (estOnly) { + // TODO implement rotation event + throw new Error("Establishment only not implemented") + + } else { + let state = hab["state"] + let sn = Number(state["s"]) + let dig = state["d"] + + let data:any = [{ + i: prefixer.qb64, + s: "0", + d: prefixer.qb64 + }] + + let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) + let keeper = this.client!.manager!.get(hab) + sigs = keeper.sign(b(serder.raw)) + ixn = serder.ked + } + + let path = `/identifiers/${name}/registries` let method = 'POST' let data = { - name: name, - alias: alias, - toad: toad, - nonce: nonce, - noBackers: noBackers, - baks: baks, - estOnly: estOnly + name: registryName, + vcp: vcp, + ixn: ixn!, + sigs: sigs } let res = await this.client.fetch(path, method, data, undefined) return await res.json() diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 716b7ff4..f9f86141 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -31,6 +31,7 @@ export const Ilks = { vrc: 'vrc', rpy: 'rpy', exn: 'exn', + vcp: 'vcp' }; export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index 86798088..73a898b2 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -131,7 +131,7 @@ export class Prefixer extends Matter { static _derive_blake3_256(ked: Dict): [Uint8Array, string] { let kd = ked let ilk = ked["t"] - if (!([Ilks.icp, Ilks.dip].includes(ilk))) { + if (!([Ilks.icp, Ilks.dip, Ilks.vcp, Ilks.dip].includes(ilk))) { throw new Error(`Invalid ilk = ${ilk} to derive pre.`) } From 0d3cfa3e4eed5598a9b312c157347a7a852fa8ab Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 28 Jun 2023 11:17:25 -0300 Subject: [PATCH 117/463] fix schema endpoint --- .../src/test_components/Credentials.tsx | 13 +++++++++++++ src/keri/app/signify.ts | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index 41f63819..ca90fd94 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -75,6 +75,17 @@ export function Credentials() { await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } + op1 = await oobis1.resolve("http://127.0.0.1:7723/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao","schema") + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + op2 = await oobis2.resolve("http://127.0.0.1:7723/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao","schema") + while (!op2["done"]) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + op1 = await client1.registries().create('issuer','vLEI', "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK", false) while (!op1["done"]) { @@ -84,6 +95,8 @@ export function Credentials() { await client1.registries().list('issuer') + await client1.schemas().get_schema("EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao") + await client2.schemas().list_all_schemas() // const creds = client.credentials() // let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') // console.log(rs) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 6ec6f27d..3c0c96da 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -965,7 +965,7 @@ class Schemas { } //SchemaResourceEnd async get_schema(said: string) { - let path = `/schemas/${said}` + let path = `/schema/${said}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() @@ -974,7 +974,7 @@ class Schemas { //SchemaCollectionEnd async list_all_schemas() { - let path = `/schemas` + let path = `/schema` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() From bf8d0108f7b5e1dbb541f859a9c666fbbae0e967 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Thu, 29 Jun 2023 18:30:37 -0300 Subject: [PATCH 118/463] versionage ACDC support --- .../src/test_components/Credentials.tsx | 9 ++ src/keri/app/signify.ts | 120 ++++++++++++++++-- src/keri/core/core.ts | 28 ++-- src/keri/core/saider.ts | 2 +- src/keri/core/serder.ts | 3 +- test/core/serder.test.ts | 2 +- 6 files changed, 140 insertions(+), 24 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index ca90fd94..04e1c110 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -97,6 +97,15 @@ export function Credentials() { await client1.schemas().get_schema("EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao") await client2.schemas().list_all_schemas() + const vcdata = { + "LEI": "5493001KJTIIGC8Y1R17" + } + op1 = await client1.credentials().issue_credential('issuer','vLEI', aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + await client2.credentials().list('holder') // const creds = client.credentials() // let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') // console.log(rs) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 3c0c96da..5096ddf6 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -11,6 +11,7 @@ import { Saider } from "../core/saider"; import { Serder } from "../core/serder"; import { Siger } from "../core/siger"; import { Prefixer } from "../core/prefixer"; +import { Salter } from "../core/salter"; const KERIA_BOOT_URL = "http://localhost:3903" export class CredentialTypes { @@ -735,18 +736,9 @@ class Credentials { } - async issue_credential(name: string, registy: string, recipient: string, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false) { + async issue_credential(name: string, registy: string, recipient: string|undefined, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false, estOnly:boolean=false) { + - let body = { - registry: registy, - recipient: recipient, - schema: schema, - rules: rules, - source: source, - credentialData: credentialData, - private: _private - } - // TODO // properties: // registry: // type: string @@ -776,7 +768,111 @@ class Credentials { // private: // type: boolean // description: flag to inidicate this credential should support privacy preserving presentations + + + // Create Credential + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + const dt = new Date().toISOString().replace('Z', '000+00:00') + + const vsacdc = versify(Ident.ACDC, undefined, Serials.JSON, 0) + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + + + let cred: any = { + v: vsacdc, + d: "" + } + + let subject: any = { + d: "", + } + + if (_private) { + cred['u'] = new Salter({}) + subject['u'] = new Salter({}) + } + + if (recipient != undefined) { + subject['i'] = recipient + } + + subject['dt'] = dt + subject = {...subject, ...credentialData} + cred = {...cred, i:pre} + cred['ri'] = registy + cred = {...cred,...{s: schema, a: {}}} + cred['e'] = source + cred['r']= rules + const [, vc] = Saider.saidify(cred) + // Create iss + let _iss = { + v: vs, + t: Ilks.iss, + d: "", + i: vc.s, + s: "0", + ri: registy, + dt: dt + + } + + let [, iss] = Saider.saidify(_iss) + + // create ixn + // TODO FIX NONCE + + let vcp = { + v: vs, + t: Ilks.vcp, + d: "", + i: "", + ii: pre, + s: "0", + c: ['NB'], + bt: "0", + b: [], + n: "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK" + } + + let prefixer = new Prefixer({code: MtrDex.Blake3_256}, vcp) + vcp['i'] = prefixer.qb64 + vcp['d'] = prefixer.qb64 + + let ixn = {} + let sigs = [] + if (estOnly) { + // TODO implement rotation event + throw new Error("Establishment only not implemented") + } else { + let state = hab["state"] + let sn = Number(state["s"]) + let dig = state["d"] + + let data:any = [{ + i: prefixer.qb64, + s: "0", + d: prefixer.qb64 + }] + + let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) + let keeper = this.client!.manager!.get(hab) + sigs = keeper.sign(b(serder.raw)) + ixn = serder.ked + } + + + + let body = { + cred: vc, + csigs: [], + path: [], + iss: iss, + ixn: ixn, + sigs: sigs + } + let path = `/identifiers/${name}/credentials` let method = 'POST' let headers = new Headers({ @@ -898,6 +994,8 @@ class Registries { } async create(name: string, registryName: string, nonce:string, estOnly: boolean=false) { // TODO add backers option + // TODO get estOnly from get_identifier ? + // TODO generate random nonce if not provided let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index f9f86141..684f2b59 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -5,7 +5,8 @@ export enum Serials { } export enum Ident { - KERI = "KERI" + KERI = "KERI", + ACDC = "ACDC" } export class Version { @@ -31,7 +32,8 @@ export const Ilks = { vrc: 'vrc', rpy: 'rpy', exn: 'exn', - vcp: 'vcp' + vcp: 'vcp', + iss: 'iss' }; export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", @@ -63,7 +65,7 @@ export const MINSIGSIZE = 4; // const version_pattern1 = `KERI\(\?P\[0\-9a\-f\]\)\(\?P\[0\-9a\-f\]\)\ // (\?P\[A\-Z\]\{4\}\)\(\?P\[0\-9a\-f\]\{6\}\)_` -export const VEREX = 'KERI([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})_'; +export const VEREX = '(KERI|ACDC)([0-9a-f])([0-9a-f])([A-Z]{4})([0-9a-f]{6})_'; export interface Dict { [id: string]: TValue; @@ -75,12 +77,13 @@ export interface Dict { * @description This function is use to deversify the version * Here we will use regex to to validate and extract serialization kind,size and version * @param {string} versionString version string - * @return {Object} contaning kind of serialization like cbor,json,mgpk + * @return {Object} contaning prototol (KERI or ACDC), kind of serialization like cbor,json,mgpk * version = version of object ,size = raw size integer */ -export function deversify(versionString: string): [Serials, Version, string] { +export function deversify(versionString: string): [Ident, Serials, Version, string] { let kind; let size; + let proto; const version = Versionage; // we need to identify how to match the buffers pattern ,like we do regex matching for strings @@ -89,20 +92,27 @@ export function deversify(versionString: string): [Serials, Version, string] { const match = re.exec(versionString); if (match) { - [version.major, version.minor, kind, size] = [ - +match[1], + [proto, version.major, version.minor, kind, size] = [ + match[1], +match[2], - match[3], + +match[3], match[4], + match[5], ]; if (!Object.values(Serials).includes(kind as Serials)) { throw new Error(`Invalid serialization kind = ${kind}`); } + if (!Object.values(Ident).includes(proto as Ident)) { + throw new Error(`Invalid serialization kind = ${kind}`); + } + let ta = kind as keyof typeof Serials kind = Serials[ta] + let pa = proto as keyof typeof Ident + proto = Ident[pa] - return [kind, version, size]; + return [proto, kind, version, size]; } throw new Error(`Invalid version string = ${versionString}`); } diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts index 6ccfc06f..ebfedd3e 100644 --- a/src/keri/core/saider.ts +++ b/src/keri/core/saider.ts @@ -132,7 +132,7 @@ export class Saider extends Matter { private static _serialze(sad: Dict, kind?: Serials): string { let knd = Serials.JSON if ('v' in sad) { - [knd] = deversify(sad['v']) + [,knd] = deversify(sad['v']) } if (kind == undefined) { diff --git a/src/keri/core/serder.ts b/src/keri/core/serder.ts index 07330a41..91d19cd5 100644 --- a/src/keri/core/serder.ts +++ b/src/keri/core/serder.ts @@ -112,8 +112,7 @@ export function sizeify(ked: Dict, kind?: Serials) : [string, Ident, Serial throw new Error("Missing or empty version string") } - let ident = Ident.KERI - let [knd, version,] = deversify(ked["v"] as string) + let [ident ,knd, version,] = deversify(ked["v"] as string) if (version != Versionage) { throw new Error(`unsupported version ${version.toString()}`) } diff --git a/test/core/serder.test.ts b/test/core/serder.test.ts index c378db75..d0ed0a10 100644 --- a/test/core/serder.test.ts +++ b/test/core/serder.test.ts @@ -10,7 +10,7 @@ import {Prefixer} from "../../src/keri/core/prefixer"; describe('deversify', () => { it('should parse a KERI event version string', async () => { - let [kind, version, size] = deversify("KERI10JSON00011c_") + let [,kind, version, size] = deversify("KERI10JSON00011c_") assert.equal(kind, Serials.JSON) assert.deepStrictEqual(version, new Version(1, 0)) assert.equal(size, "00011c") From 17470a5c597e0754ba9df659e88117cb2f2e65be Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 2 Jul 2023 08:35:48 -0300 Subject: [PATCH 119/463] issue success and fix oobi alias --- .../src/test_components/Challenges.tsx | 13 ++-- .../src/test_components/Credentials.tsx | 39 ++++++++---- src/keri/app/signify.ts | 61 +++++++++---------- 3 files changed, 63 insertions(+), 50 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 6cc46581..0530e95a 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -69,23 +69,26 @@ export function Challenges() { await identifiers1.addEndRole("alex", 'agent', client1!.agent!.pre) await identifiers2.addEndRole("rodo", 'agent', client2!.agent!.pre) + let oobi1 = await oobis1.get("alex","witness") + let oobi2 = await oobis2.get("rodo","witness") - op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","rodo") + op1 = await oobis1.resolve(oobi2.oobis[0],"rodo") while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - await contacts1.add_contact(aid2.i,{alias: "rodo"}) - op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness","alex") + // await contacts1.add_contact(aid2.i,{alias: "rodo"}) + op2 = await oobis2.resolve(oobi1.oobis[0],"alex") while (!op2["done"]) { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } await contacts1.list_contacts(undefined, undefined, undefined) - await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) - // await challenges1.accept_challenge_response('alex', said) + let said = await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) + await challenges1.accept_challenge_response('alex', aid2.i, said) await contacts1.list_contacts(undefined, undefined, undefined) await new Promise(resolve => setTimeout(resolve, 10000)); + await contacts1.list_contacts(undefined, undefined, undefined) await notifications1.list_notifications(undefined, undefined) setTestResult("Passed") } diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index 04e1c110..e22b01a9 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -30,7 +30,7 @@ export function Credentials() { const operations1 = client1.operations() const oobis1 = client1.oobis() let op1 = await identifiers1.create('issuer', { - toad: 2, + toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", @@ -48,8 +48,12 @@ export function Credentials() { const identifiers2 = client2.identifiers() const operations2 = client2.operations() const oobis2 = client2.oobis() - let op2 = await identifiers2.create('holder', { - toad: 2, + // let client2 = client1 + // let identifiers2 = identifiers1 + // let operations2 = operations1 + // let oobis2 = oobis1 + let op2 = await identifiers2.create('recipient', { + toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", @@ -62,14 +66,20 @@ export function Credentials() { const aid2 = op2['response'] await identifiers1.addEndRole("issuer", 'agent', client1!.agent!.pre) - await identifiers2.addEndRole("holder", 'agent', client2!.agent!.pre) + await identifiers2.addEndRole("recipient", 'agent', client2!.agent!.pre) + let oobi1 = await oobis1.get("issuer","agent") + let oobi2 = await oobis2.get("recipient","agent") - op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","rodo") + // op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","recipient") + op1 = await oobis1.resolve(oobi2.oobis[0],"recipient") + while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness","alex") + // op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","issuer") + op2 = await oobis2.resolve(oobi1.oobis[0],"issuer") + while (!op2["done"]) { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -93,19 +103,22 @@ export function Credentials() { await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - await client1.registries().list('issuer') + let registries = await client1.registries().list('issuer') await client1.schemas().get_schema("EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao") await client2.schemas().list_all_schemas() const vcdata = { "LEI": "5493001KJTIIGC8Y1R17" } - op1 = await client1.credentials().issue_credential('issuer','vLEI', aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) - while (!op1["done"]) { - op1 = await operations1.get(op1["name"]); - await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second - } - await client2.credentials().list('holder') + op1 = await client1.credentials().issue_credential('issuer',registries[0].regk, aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) + // while (!op1["done"]) { + // op1 = await operations1.get(op1["name"]); + // await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + // } + await new Promise(resolve => setTimeout(resolve, 20000)) + await client2.credentials().list('recipient',CredentialTypes.received,'') + await client1.credentials().list('issuer',CredentialTypes.issued,'') + await client2.notifications().list_notifications(undefined, undefined) // const creds = client.credentials() // let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') // console.log(rs) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 5096ddf6..1d5577cd 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -612,7 +612,7 @@ class Oobis { url: oobi } if (alias !== undefined) { - data['alias'] = alias + data['oobialias'] = alias } let method = 'POST' let res = await this.client.fetch(path, method, data, undefined) @@ -799,18 +799,24 @@ class Credentials { subject['dt'] = dt subject = {...subject, ...credentialData} + + const [, a] = Saider.saidify(subject,undefined,undefined,"d") + cred = {...cred, i:pre} cred['ri'] = registy - cred = {...cred,...{s: schema, a: {}}} - cred['e'] = source - cred['r']= rules + cred = {...cred,...{s: schema}, ...{a: a}} + // cred['e'] = source + // cred['r']= rules + console.log(rules, source) const [, vc] = Saider.saidify(cred) + + // Create iss let _iss = { v: vs, t: Ilks.iss, d: "", - i: vc.s, + i: vc.d, s: "0", ri: registy, dt: dt @@ -819,25 +825,18 @@ class Credentials { let [, iss] = Saider.saidify(_iss) - // create ixn - // TODO FIX NONCE - let vcp = { - v: vs, - t: Ilks.vcp, - d: "", - i: "", - ii: pre, - s: "0", - c: ['NB'], - bt: "0", - b: [], - n: "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK" - } + // Create paths and sign - let prefixer = new Prefixer({code: MtrDex.Blake3_256}, vcp) - vcp['i'] = prefixer.qb64 - vcp['d'] = prefixer.qb64 + let cpath = '6AABAAA-' + + let keeper = this.client!.manager!.get(hab) + + let csigs = keeper.sign(b(JSON.stringify(vc))) + + + // create ixn + // TODO FIX NONCE let ixn = {} let sigs = [] @@ -851,23 +850,21 @@ class Credentials { let dig = state["d"] let data:any = [{ - i: prefixer.qb64, - s: "0", - d: prefixer.qb64 + i: iss.i, + s: iss.s, + d: iss.d }] let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) - let keeper = this.client!.manager!.get(hab) + sigs = keeper.sign(b(serder.raw)) ixn = serder.ked } - - let body = { cred: vc, - csigs: [], - path: [], + csigs: csigs, + path: cpath, iss: iss, ixn: ixn, sigs: sigs @@ -880,7 +877,7 @@ class Credentials { }) let res = await this.client.fetch(path, method, body, headers) - return await res.text() + return await res.json() } @@ -1138,7 +1135,7 @@ class Challenges { let resp = await this.client.fetch(path, method, jsondata, undefined) if (resp.status === 202) { - return exn.ked + return exn.ked.d } else { return resp From 7f1416f1123bb576a9742b527f450e63d7bf15dd Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Sun, 9 Jul 2023 18:59:22 -0300 Subject: [PATCH 120/463] fix issue VC witnesses --- .../src/test_components/Credentials.tsx | 40 +++++++------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index e22b01a9..83fea430 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -1,10 +1,7 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; -import {strict as assert} from "assert"; import { useState, useEffect } from 'react'; -import { UndoRounded } from "@mui/icons-material"; - export function Credentials() { const [testResult, setTestResult] = useState(''); @@ -34,13 +31,13 @@ export function Credentials() { wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", - "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ] }) while (!op1["done"] ) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - const aid1 = op1['response'] const client2 = new SignifyClient(url, bran2) await client2.boot() @@ -48,16 +45,14 @@ export function Credentials() { const identifiers2 = client2.identifiers() const operations2 = client2.operations() const oobis2 = client2.oobis() - // let client2 = client1 - // let identifiers2 = identifiers1 - // let operations2 = operations1 - // let oobis2 = oobis1 + let op2 = await identifiers2.create('recipient', { toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", - "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ] }) while (!op2["done"] ) { op2 = await operations2.get(op2["name"]); @@ -70,14 +65,12 @@ export function Credentials() { let oobi1 = await oobis1.get("issuer","agent") let oobi2 = await oobis2.get("recipient","agent") - // op1 = await oobis1.resolve("http://127.0.0.1:5642/oobi/"+aid2.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","recipient") op1 = await oobis1.resolve(oobi2.oobis[0],"recipient") while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - // op2 = await oobis2.resolve("http://127.0.0.1:5642/oobi/"+aid1.i+"/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","issuer") op2 = await oobis2.resolve(oobi1.oobis[0],"issuer") while (!op2["done"]) { @@ -98,6 +91,7 @@ export function Credentials() { op1 = await client1.registries().create('issuer','vLEI', "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK", false) + while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -111,20 +105,16 @@ export function Credentials() { "LEI": "5493001KJTIIGC8Y1R17" } op1 = await client1.credentials().issue_credential('issuer',registries[0].regk, aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) - // while (!op1["done"]) { - // op1 = await operations1.get(op1["name"]); - // await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second - // } - await new Promise(resolve => setTimeout(resolve, 20000)) - await client2.credentials().list('recipient',CredentialTypes.received,'') + + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + let creds = await client2.credentials().list('recipient',CredentialTypes.received,'') await client1.credentials().list('issuer',CredentialTypes.issued,'') - await client2.notifications().list_notifications(undefined, undefined) - // const creds = client.credentials() - // let rs = await creds.list(ids[0].prefix,CredentialTypes.received,'') - // console.log(rs) - // let said = rs[0]['sad']['d'] - // let resp = await creds.export(ids[0].prefix,said) - // console.log(resp) + let said = creds[0]['sad']['d'] + let resp = await client2.credentials().export('recipient',said) + console.log(resp) setTestResult("Passed") } From 0ff82d582d183cdc95a8932f759cc54df490ee6a Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 10 Jul 2023 14:51:36 -0300 Subject: [PATCH 121/463] fix challenge test --- .../src/test_components/Challenges.tsx | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 0530e95a..14ac8083 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -69,27 +69,35 @@ export function Challenges() { await identifiers1.addEndRole("alex", 'agent', client1!.agent!.pre) await identifiers2.addEndRole("rodo", 'agent', client2!.agent!.pre) - let oobi1 = await oobis1.get("alex","witness") - let oobi2 = await oobis2.get("rodo","witness") + let oobi1 = await oobis1.get("alex","agent") + let oobi2 = await oobis2.get("rodo","agent") op1 = await oobis1.resolve(oobi2.oobis[0],"rodo") while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - // await contacts1.add_contact(aid2.i,{alias: "rodo"}) op2 = await oobis2.resolve(oobi1.oobis[0],"alex") while (!op2["done"]) { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } await contacts1.list_contacts(undefined, undefined, undefined) - let said = await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) - await challenges1.accept_challenge_response('alex', aid2.i, said) - await contacts1.list_contacts(undefined, undefined, undefined) - await new Promise(resolve => setTimeout(resolve, 10000)); + await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) + + let challenge_received = false + let contacts = [] + while (!challenge_received) { + contacts = await contacts1.list_contacts(undefined, undefined, undefined) + if (contacts[0].challenges.length > 0 ){ + if (JSON.stringify(contacts[0].challenges[0].words) == JSON.stringify(challenge1_small.words)) { + challenge_received = true + } + } + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + await challenges1.accept_challenge_response('alex', aid2.i, contacts[0].challenges[0].said) await contacts1.list_contacts(undefined, undefined, undefined) - await notifications1.list_notifications(undefined, undefined) setTestResult("Passed") } catch (e) { From 77d12e0f626660f8956bdc22dca1816aac5d799d Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 10 Jul 2023 15:04:00 -0700 Subject: [PATCH 122/463] Update to index.ts to load Blake3 WASM module and redefine Buffer in window only if in browser. This enables the unit tests to pass again and also this code to run in Node. Added a scripts directory under examples which allows has a client script that creates an Agent and an AID in that agent using this library with the following command: npx --package=signify-ts ts-node client.ts --- examples/scripts/client.ts | 53 + examples/scripts/package-lock.json | 2807 +++++++++++++++++++ examples/scripts/package.json | 18 + examples/scripts/src/index.ts | 0 examples/scripts/tsconfig.json | 24 + examples/scripts/tsconfig.node.json | 9 + examples/signify-react-ts/package-lock.json | 2 +- examples/signify-react-ts/package.json | 1 - package-lock.json | 137 +- package.json | 1 + src/index.ts | 21 +- src/keri/app/signify.ts | 7 +- 12 files changed, 3060 insertions(+), 20 deletions(-) create mode 100644 examples/scripts/client.ts create mode 100644 examples/scripts/package-lock.json create mode 100644 examples/scripts/package.json create mode 100644 examples/scripts/src/index.ts create mode 100644 examples/scripts/tsconfig.json create mode 100644 examples/scripts/tsconfig.node.json diff --git a/examples/scripts/client.ts b/examples/scripts/client.ts new file mode 100644 index 00000000..00b44393 --- /dev/null +++ b/examples/scripts/client.ts @@ -0,0 +1,53 @@ +let signify:any; + +// @ts-ignore +import('signify-ts').then( + (module) => { + signify = module + signify.ready().then(() => { + console.log("Signify client ready!"); + connect().then(() => { + console.log("Done") + }); + }); + } +) + +async function connect() { + let url = "http://127.0.0.1:3901" + let bran = '0123456789abcdefghijk' + + const client = new signify.SignifyClient(url, bran); + console.log(client.controller.pre) + const [evt, sign] = client.controller?.event ?? []; + const data = { + icp: evt.ked, + sig: sign.qb64, + stem: client.controller?.stem, + pidx: 1, + tier: client.controller?.tier + }; + + await fetch( "http://127.0.0.1:3903/boot", { + method: "POST", + body: JSON.stringify(data), + headers: { + "Content-Type": "application/json" + } + }) + + + await client.connect() + let d = await client.state() + console.log("Connected: ") + console.log(" Agent: ", d.agent.i, " Controller: ", d.controller.state.i) + + let identifiers = client.identifiers() + + let salt = 'abcdefghijk0123456789' + let op = await identifiers.create("multisig-ts", {bran: salt}) + let aid = op["response"] + + console.log("Created AID: ", aid) +} + diff --git a/examples/scripts/package-lock.json b/examples/scripts/package-lock.json new file mode 100644 index 00000000..bf561592 --- /dev/null +++ b/examples/scripts/package-lock.json @@ -0,0 +1,2807 @@ +{ + "name": "signify-scripts-ts", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "signify-scripts-ts", + "version": "0.0.0", + "dependencies": { + "signify-ts": "file:../../" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "eslint": "^8.38.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "typescript": "^5.0.2" + } + }, + "../..": { + "version": "0.1.1", + "license": "Apache-2.0", + "dependencies": { + "@types/libsodium-wrappers-sumo": "^0.7.5", + "blake3": "^2.1.7", + "buffer": "^6.0.3", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", + "ts-node": "^10.9.1", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + }, + "devDependencies": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", + "@types/urlsafe-base64": "^1.0.28", + "husky": "^7.0.2", + "jest": "^29.3.1", + "size-limit": "^5.0.4", + "ts-migrate": "^0.1.23", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.9.4" + } + }, + "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/@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.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "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/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.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": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "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": { + "@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/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "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/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/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-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/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/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": "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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "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", + "import-fresh": "^3.0.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", + "strip-json-comments": "^3.1.0", + "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-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "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-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "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/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/espree": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "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/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/esquery/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/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/esrecurse/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/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/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/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.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "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-glob/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/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/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/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/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/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "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/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": "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/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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/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/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/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/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/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-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-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-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/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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-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/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/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/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/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/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/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/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/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/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/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/signify-ts": { + "resolved": "../..", + "link": true + }, + "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/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-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/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/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/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/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/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/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.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/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/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/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/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/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/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" + } + } + }, + "dependencies": { + "@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 + }, + "@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, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + } + }, + "@eslint/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@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 + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@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, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@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 + }, + "@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, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@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, + "requires": { + "@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" + } + }, + "@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, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@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, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@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, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@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 + }, + "@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, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "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, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "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, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "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 + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "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 + }, + "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, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "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 + }, + "eslint": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "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.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "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", + "import-fresh": "^3.0.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", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "requires": {} + }, + "eslint-plugin-react-refresh": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.3.5.tgz", + "integrity": "sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==", + "dev": true, + "requires": {} + }, + "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, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "dev": true + }, + "espree": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "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, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "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 + }, + "fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "requires": { + "@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" + }, + "dependencies": { + "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, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "reusify": "^1.0.4" + } + }, + "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, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "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, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "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, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "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 + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "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, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "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" + } + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "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 + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "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, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "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, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "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, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "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 + }, + "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 + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "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, + "requires": { + "argparse": "^2.0.1" + } + }, + "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 + }, + "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 + }, + "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, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "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, + "requires": { + "p-locate": "^5.0.0" + } + }, + "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 + }, + "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, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "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 + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "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 + }, + "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, + "requires": { + "wrappy": "1" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "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, + "requires": { + "p-limit": "^3.0.2" + } + }, + "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, + "requires": { + "callsites": "^3.0.0" + } + }, + "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 + }, + "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 + }, + "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 + }, + "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 + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "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 + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "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 + }, + "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 + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "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, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "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, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "signify-ts": { + "version": "file:../..", + "requires": { + "@size-limit/preset-small-lib": "^5.0.4", + "@types/libsodium-wrappers-sumo": "^0.7.5", + "@types/lodash": "^4.14.185", + "@types/node": "^18.11.18", + "@types/text-encoding": "^0.0.36", + "@types/urlsafe-base64": "^1.0.28", + "blake3": "^2.1.7", + "buffer": "^6.0.3", + "cbor": "^8.0.0", + "collections": "^5.1.12", + "husky": "^7.0.2", + "jest": "^29.3.1", + "libsodium-wrappers-sumo": "^0.7.9", + "lodash": "^4.17.21", + "msgpack5": "^5.3.2", + "size-limit": "^5.0.4", + "structured-headers": "^0.5.0", + "text-encoding": "^0.7.0", + "ts-migrate": "^0.1.23", + "ts-node": "^10.9.1", + "tsdx": "^0.14.1", + "tslib": "^2.3.1", + "typescript": "^4.9.4", + "urlsafe-base64": "^1.0.0", + "xregexp": "^5.1.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "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, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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 + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "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 + }, + "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, + "requires": { + "is-number": "^7.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "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, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "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 + }, + "typescript": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", + "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "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 + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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 + } + } +} diff --git a/examples/scripts/package.json b/examples/scripts/package.json new file mode 100644 index 00000000..5d00e0e2 --- /dev/null +++ b/examples/scripts/package.json @@ -0,0 +1,18 @@ +{ + "name": "signify-scripts-ts", + "private": true, + "version": "0.0.0", + "scripts": { + }, + "dependencies": { + "signify-ts": "file:../../" + }, + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^5.57.1", + "@typescript-eslint/parser": "^5.57.1", + "eslint": "^8.38.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.3.4", + "typescript": "^5.0.2" + } +} diff --git a/examples/scripts/src/index.ts b/examples/scripts/src/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/examples/scripts/tsconfig.json b/examples/scripts/tsconfig.json new file mode 100644 index 00000000..c81ef9f3 --- /dev/null +++ b/examples/scripts/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/examples/scripts/tsconfig.node.json b/examples/scripts/tsconfig.node.json new file mode 100644 index 00000000..61c424ba --- /dev/null +++ b/examples/scripts/tsconfig.node.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "composite": true, + "skipLibCheck": true, + "module": "ESNext", + "moduleResolution": "bundler", + "allowSyntheticDefaultImports": true + } +} diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index ae33bcfb..d8c7b01f 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -34,7 +34,6 @@ } }, "../..": { - "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { @@ -48,6 +47,7 @@ "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", + "ts-node": "^10.9.1", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" }, diff --git a/examples/signify-react-ts/package.json b/examples/signify-react-ts/package.json index 3fa35728..9a82b639 100644 --- a/examples/signify-react-ts/package.json +++ b/examples/signify-react-ts/package.json @@ -2,7 +2,6 @@ "name": "signify-react-ts", "private": true, "version": "0.0.0", - "type": "module", "scripts": { "dev": "vite", "build": "tsc && vite build", diff --git a/package-lock.json b/package-lock.json index 44dd97eb..6049c047 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,6 +19,7 @@ "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", + "ts-node": "^10.9.1", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" }, @@ -1975,6 +1976,26 @@ "node": ">=0.1.95" } }, + "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==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", @@ -2381,7 +2402,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2398,8 +2418,7 @@ "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 + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.18", @@ -2691,6 +2710,26 @@ "node": ">=10" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "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==" + }, + "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==" + }, + "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==" + }, "node_modules/@types/babel__core": { "version": "7.20.0", "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", @@ -2922,8 +2961,7 @@ "node_modules/@types/node": { "version": "18.16.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.10.tgz", - "integrity": "sha512-sMo3EngB6QkMBlB9rBe1lFdKSLqljyWPPWv6/FzSxh/IDlyVWSzE9RiF4eAuerQHybrWdqBgAGb03PM89qOasA==", - "dev": true + "integrity": "sha512-sMo3EngB6QkMBlB9rBe1lFdKSLqljyWPPWv6/FzSxh/IDlyVWSzE9RiF4eAuerQHybrWdqBgAGb03PM89qOasA==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -3295,7 +3333,6 @@ "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" } @@ -3401,6 +3438,11 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", "dev": true }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -5190,6 +5232,11 @@ "node": ">=4" } }, + "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==" + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -5620,6 +5667,14 @@ "node": ">=8" } }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "29.4.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz", @@ -11381,8 +11436,7 @@ "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 + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/makeerror": { "version": "1.0.12", @@ -16535,6 +16589,59 @@ "node": ">=6" } }, + "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==", + "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": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", @@ -18855,7 +18962,6 @@ "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -19365,6 +19471,11 @@ "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==" + }, "node_modules/v8-to-istanbul": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", @@ -20427,6 +20538,14 @@ "node": ">=10" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 80de0aaf..ede34a90 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,7 @@ "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", + "ts-node": "^10.9.1", "urlsafe-base64": "^1.0.0", "xregexp": "^5.1.0" } diff --git a/src/index.ts b/src/index.ts index 70907273..77e5c945 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,11 +1,18 @@ import _sodium from 'libsodium-wrappers-sumo'; -import load from 'blake3/browser-async'; -export const ready = (async () => { - await load('https://cdn.jsdelivr.net/npm/blake3@2.1.7/dist/wasm/web/blake3_js_bg.wasm') - await _sodium.ready; + +export const ready:() => Promise = (async() => { + try { + let b3 = await import('blake3/browser-async') + // @ts-ignore + await b3.default('https://cdn.jsdelivr.net/npm/blake3@2.1.7/dist/wasm/web/blake3_js_bg.wasm') + await _sodium.ready; + } catch(e) { + await _sodium.ready; + } }) + export * from './keri/core/salter' export * from './keri/core/matter' export * from './keri/core/serder' @@ -16,5 +23,7 @@ export * from './keri/app/apping'; import { Buffer } from 'buffer'; -// @ts-ignore -window.Buffer = Buffer; \ No newline at end of file +try { + window.Buffer = Buffer; +} catch(e) { +} diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 1d5577cd..7b2f7f84 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -124,15 +124,16 @@ export class SignifyClient { headers.set('Signify-Timestamp', new Date().toISOString().replace('Z', '000+00:00')) headers.set('Content-Type', 'application/json') - if (data !== null) { - headers.set('Content-Length', data.length) + let _body = method == 'GET' ? null : JSON.stringify(data) + if (_body !== null) { + headers.set('Content-Length', String(_body.length)) } else { + console.log("setting content length to 0") headers.set('Content-Length', '0') } let signed_headers = this.authn.sign(headers, method, path.split('?')[0]) //END Headers - let _body = method == 'GET' ? null : JSON.stringify(data) //add _headers to signed_headers let final_headers = new Headers() From 30e59fad361fa5844e1e69ee7d5a23c39b86ad3d Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Tue, 11 Jul 2023 21:56:59 -0300 Subject: [PATCH 123/463] fix vc presentation --- .../src/test_components/Credentials.tsx | 80 +++++++- src/keri/app/signify.ts | 189 +++++++++--------- 2 files changed, 162 insertions(+), 107 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index 83fea430..30176882 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -1,7 +1,10 @@ // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore import { SignifyClient, ready, Serder, Diger, MtrDex, CredentialTypes } from "signify-ts"; +import {strict as assert} from "assert"; import { useState, useEffect } from 'react'; +import { UndoRounded } from "@mui/icons-material"; + export function Credentials() { const [testResult, setTestResult] = useState(''); @@ -20,6 +23,8 @@ export function Credentials() { const url = "http://localhost:3901" const bran1 = '0123456789abcdefghijk' const bran2 = '1123456789abcdefghijk' + const bran3 = '2123456789abcdefghijk' + const client1 = new SignifyClient(url, bran1) await client1.boot() await client1.connect() @@ -31,13 +36,13 @@ export function Credentials() { wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", - "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" - ] + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] }) while (!op1["done"] ) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } + const aid1 = op1['response'] const client2 = new SignifyClient(url, bran2) await client2.boot() @@ -45,25 +50,52 @@ export function Credentials() { const identifiers2 = client2.identifiers() const operations2 = client2.operations() const oobis2 = client2.oobis() - + // let client2 = client1 + // let identifiers2 = identifiers1 + // let operations2 = operations1 + // let oobis2 = oobis1 let op2 = await identifiers2.create('recipient', { toad: 3, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", - "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" - ] + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] }) while (!op2["done"] ) { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } const aid2 = op2['response'] + + const client3 = new SignifyClient(url, bran3) + await client3.boot() + await client3.connect() + const identifiers3 = client3.identifiers() + const operations3 = client3.operations() + const oobis3 = client3.oobis() + // let client2 = client1 + // let identifiers2 = identifiers1 + // let operations2 = operations1 + // let oobis2 = oobis1 + let op3 = await identifiers3.create('verifier', { + toad: 3, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"] + }) + while (!op3["done"] ) { + op3 = await operations3.get(op3["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + const aid3 = op3['response'] await identifiers1.addEndRole("issuer", 'agent', client1!.agent!.pre) await identifiers2.addEndRole("recipient", 'agent', client2!.agent!.pre) + await identifiers3.addEndRole("verifier", 'agent', client3!.agent!.pre) let oobi1 = await oobis1.get("issuer","agent") let oobi2 = await oobis2.get("recipient","agent") + let oobi3 = await oobis3.get("verifier","agent") op1 = await oobis1.resolve(oobi2.oobis[0],"recipient") @@ -71,6 +103,14 @@ export function Credentials() { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } + op1 = await oobis1.resolve(oobi3.oobis[0],"verifier") + + while (!op1["done"]) { + op1 = await operations1.get(op1["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + + op2 = await oobis2.resolve(oobi1.oobis[0],"issuer") while (!op2["done"]) { @@ -78,6 +118,19 @@ export function Credentials() { await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } + op2 = await oobis2.resolve(oobi3.oobis[0],"verifier") + + while (!op2["done"]) { + op2 = await operations2.get(op2["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + + op3 = await oobis3.resolve(oobi2.oobis[0],"issuer") + while (!op3["done"]) { + op3 = await operations3.get(op3["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + op1 = await oobis1.resolve("http://127.0.0.1:7723/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao","schema") while (!op1["done"]) { op1 = await operations1.get(op1["name"]); @@ -89,9 +142,14 @@ export function Credentials() { await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } + op3 = await oobis3.resolve("http://127.0.0.1:7723/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao","schema") + while (!op3["done"]) { + op3 = await operations3.get(op3["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + op1 = await client1.registries().create('issuer','vLEI', "AOLPzF1vRwMPo6tDfoxba1udvpu0jG_BCP_CI49rpMxK", false) - while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -105,17 +163,17 @@ export function Credentials() { "LEI": "5493001KJTIIGC8Y1R17" } op1 = await client1.credentials().issue_credential('issuer',registries[0].regk, aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) - while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - let creds = await client2.credentials().list('recipient',CredentialTypes.received,'') + // await new Promise(resolve => setTimeout(resolve, 20000)) + let creds = await client1.credentials().list('issuer',CredentialTypes.received,'') await client1.credentials().list('issuer',CredentialTypes.issued,'') - let said = creds[0]['sad']['d'] - let resp = await client2.credentials().export('recipient',said) - console.log(resp) + await client1.credentials().present_credential('issuer', creds[0].sad.d, 'verifier', true) + await new Promise(resolve => setTimeout(resolve, 5000)) + await client3.credentials().list('verifier',CredentialTypes.received,'') setTestResult("Passed") } catch (e) { diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 7b2f7f84..b0d13a93 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -724,53 +724,18 @@ class Credentials { return await res.json() } //CredentialResourceEnd - //rename get_credential - async export(name: string, said: string) { + async get_credential(name: string, said: string, includeCESR: boolean = false) { let path = `/identifiers/${name}/credentials/${said}` let method = 'GET' - let headers = new Headers({ - 'Accept': 'application/json+cesr' - - }) + let headers = includeCESR? new Headers({'Accept': 'application/json+cesr'}) : new Headers({'Accept': 'application/json'}) let res = await this.client.fetch(path, method, null, headers) - return await res.text() - + + return includeCESR? await res.text() : await res.json() } async issue_credential(name: string, registy: string, recipient: string|undefined, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false, estOnly:boolean=false) { - // properties: - // registry: - // type: string - // description: Alias of credential issuance/revocation registry (aka status) - // recipient: - // type: string - // description: AID of credential issuance/revocation recipient - // schema: - // type: string - // description: SAID of credential schema being issued - // rules: - // type: object - // description: Rules section (Ricardian contract) for credential being issued - // source: - // type: object - // description: ACDC edge or edge group for chained credentials - // properties: - // d: - // type: string - // description: SAID of reference chain - // s: - // type: string - // description: SAID of reference chain schema - // credentialData: - // type: object - // description: dynamic map of values specific to the schema - // private: - // type: boolean - // description: flag to inidicate this credential should support privacy preserving presentations - - // Create Credential let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] @@ -882,42 +847,68 @@ class Credentials { } + async revoke_credential(name: string, said: string, send?: string) { + + let body = { + said: said, + send: send + } + + let path = `/identifiers/${name}/credentials/${said}` + let method = 'DELETE' + let headers = new Headers({ + 'Accept': 'application/json+cesr' + + }) + let res = await this.client.fetch(path, method, body, headers) + return await res.text() + + } + async present_credential(name: string, said: string, recipient: string, include: boolean=true) { - // parameters: - // - in: path - // name: alias - // schema: - // type: string - // required: true - // description: Human readable alias for the holder of credential - // requestBody: - // required: true - // content: - // application/json: - // schema: - // type: object - // properties: - // said: - // type: string - // required: true - // description: qb64 SAID of credential to send - // recipient: - // type: string - // required: true - // description: qb64 AID to send credential presentation to - // include: - // type: boolean - // required: true - // default: true - // description: flag indicating whether to stream credential alongside presentation exn + + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + + let cred = await this.get_credential(name, said) + let data = { + i: cred.sad.i, + s: cred.sad.s, + n: said + } + + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + + const _sad = { + v: vs, + t: Ilks.exn, + d: "", + dt: new Date().toISOString().replace("Z","000+00:00"), + r: "/presentation", + q: {}, + a: data + } + const [, sad] = Saider.saidify(_sad) + const exn = new Serder(sad) + + let keeper = this.client!.manager!.get(hab) + + let sig = keeper.sign(b(exn.raw),true) + + let siger = new Siger({qb64:sig[0]}) + let seal = ["SealLast" , {i:pre}] + let ims = messagize(exn,[siger],seal, undefined, undefined, true) + ims = ims.slice(JSON.stringify(exn.ked).length) + let body = { - said: said, + exn: exn.ked, + sig: new TextDecoder().decode(ims), recipient: recipient, include: include - } + let path = `/identifiers/${name}/credentials/${said}/presentations` let method = 'POST' let headers = new Headers({ @@ -931,38 +922,44 @@ class Credentials { async request_credential(name: string, recipient: string, schema: string, issuer: string) { + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + + let data = { + i: issuer, + s: schema + } + + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + + const _sad = { + v: vs, + t: Ilks.exn, + d: "", + dt: new Date().toISOString().replace("Z","000+00:00"), + r: "/presentation/request", + q: {}, + a: data + } + const [, sad] = Saider.saidify(_sad) + const exn = new Serder(sad) + + let keeper = this.client!.manager!.get(hab) + + let sig = keeper.sign(b(exn.raw),true) - // parameters: - // - in: path - // name: alias - // schema: - // type: string - // required: true - // description: Human readable alias for the identifier to create - // requestBody: - // required: true - // content: - // application/json: - // schema: - // type: object - // properties: - // recipient: - // type: string - // required: true - // description: qb64 AID to send presentation request to - // schema: - // type: string - // required: true - // description: qb64 SAID of schema for credential being requested - // issuer: - // type: string - // required: false - // description: qb64 AID of issuer of credential being requested + let siger = new Siger({qb64:sig[0]}) + let seal = ["SealLast" , {i:pre}] + let ims = messagize(exn,[siger],seal, undefined, undefined, true) + ims = ims.slice(JSON.stringify(exn.ked).length) + + let body = { + exn: exn.ked, + sig: new TextDecoder().decode(ims), recipient: recipient, - schema: schema, - issuer: issuer } + let path = `/identifiers/${name}/requests` let method = 'POST' let headers = new Headers({ From 1a534428522aac1fcf80313b937bd4171b0aaa72 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Wed, 12 Jul 2023 09:31:32 -0300 Subject: [PATCH 124/463] add revocation --- src/keri/app/signify.ts | 54 +++++++++++++++++++++++++++++++++++++++-- src/keri/core/core.ts | 3 ++- 2 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index b0d13a93..347bef89 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -847,13 +847,63 @@ class Credentials { } - async revoke_credential(name: string, said: string, send?: string) { + async revoke_credential(name: string, registy: string, said: string, send?: string, estOnly:boolean=false) { + + let hab = await this.client.identifiers().get_identifier(name) + let pre: string = hab["prefix"] + + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) + const dt = new Date().toISOString().replace('Z', '000+00:00') + + // Create rev + let _rev = { + v: vs, + t: Ilks.rev, + d: "", + i: said, + s: "1", + ri: registy, + dt: dt + + } + + let [, rev] = Saider.saidify(_rev) + + + // create ixn + // TODO FIX NONCE + + let ixn = {} + let sigs = [] + if (estOnly) { + // TODO implement rotation event + throw new Error("Establishment only not implemented") + + } else { + let state = hab["state"] + let sn = Number(state["s"]) + let dig = state["d"] + + let data:any = [{ + i: rev.i, + s: rev.s, + d: rev.d + }] + + let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) + let keeper = this.client!.manager!.get(hab) + sigs = keeper.sign(b(serder.raw)) + ixn = serder.ked + } let body = { said: said, - send: send + rev: rev, + ixn: ixn, + sigs: sigs } + let path = `/identifiers/${name}/credentials/${said}` let method = 'DELETE' let headers = new Headers({ diff --git a/src/keri/core/core.ts b/src/keri/core/core.ts index 684f2b59..bf15f9a0 100644 --- a/src/keri/core/core.ts +++ b/src/keri/core/core.ts @@ -33,7 +33,8 @@ export const Ilks = { rpy: 'rpy', exn: 'exn', vcp: 'vcp', - iss: 'iss' + iss: 'iss', + rev: 'rev' }; export const IcpLabels = ["v", "i", "s", "t", "kt", "k", "n", From 9caf44111094d59fece2a1b1ccc8667e0b449c9f Mon Sep 17 00:00:00 2001 From: Arshdeep Date: Thu, 13 Jul 2023 10:00:16 -0400 Subject: [PATCH 125/463] add function to generate nonce add function to generate nonce for creating credential registry --- src/keri/app/apping.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/keri/app/apping.ts b/src/keri/app/apping.ts index 5775c7fd..e102dd38 100644 --- a/src/keri/app/apping.ts +++ b/src/keri/app/apping.ts @@ -1,12 +1,17 @@ import libsodium from "libsodium-wrappers-sumo"; -import {Salter} from "../core/salter"; +import { Salter } from "../core/salter"; +import { Matter, MtrDex } from '../core/matter'; export function randomPasscode(): string { let raw = libsodium.randombytes_buf(16); - let salter = new Salter({raw: raw}) + let salter = new Salter({ raw: raw }) return salter.qb64.substring(2) } - +export function randomNonce(): string { + let seed = libsodium.randombytes_buf(libsodium.crypto_sign_SEEDBYTES); + let seedqb64 = new Matter({ raw: seed, code: MtrDex.Ed25519_Seed }); + return seedqb64.qb64; +} From 601d292a4694c4c24a44e342cdd0f98d603aee77 Mon Sep 17 00:00:00 2001 From: Arshdeep Date: Thu, 13 Jul 2023 10:24:41 -0400 Subject: [PATCH 126/463] update readme --- README.md | 13 ++++++++++++ examples/signify-react-ts/README.md | 33 +++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 examples/signify-react-ts/README.md diff --git a/README.md b/README.md index 019a8134..4454dd86 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,19 @@ The communication protocol between a Signify client and KERI agent will encode a encoded strings for the initial implementation. Support for binary CESR can be added in the future. +### Environment Setup + +The code is built using Typescript and running code locally requires a Mac or Linux OS. + +- Install [Node.js](https://nodejs.org) + + +- Install dependencies: + ```bash + npm install + ``` + + Account Creation Workflow diff --git a/examples/signify-react-ts/README.md b/examples/signify-react-ts/README.md new file mode 100644 index 00000000..18fdc349 --- /dev/null +++ b/examples/signify-react-ts/README.md @@ -0,0 +1,33 @@ +# Signify React sample app + +### Run locally + + +The code is built using React, Vite, Typescript and running code locally requires a Mac or Linux OS. + +- Install [Node.js](https://nodejs.org) + +- To install dependencies of Signify, in the `project root directory` run: + ```bash + npm install + ``` + +- Navigate to `examples/signify-react-ts` directory + ```bash + cd examples/signify-react-ts + ``` + +- Install dependencies: + ```bash + npm install + ``` + +- Run the development server: + ```bash + npm run dev + ``` + +- Open [http://127.0.0.1:5173/](http://127.0.0.1:5173/) in browser + + + From bfda1d5c2935478f9c00576ed6b510ae13f44a89 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Fri, 14 Jul 2023 10:59:31 -0300 Subject: [PATCH 127/463] finish revocation --- examples/signify-react-ts/package-lock.json | 1 + .../src/test_components/Credentials.tsx | 15 +++++++++++++++ src/keri/app/signify.ts | 8 +++++--- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index d8c7b01f..08695541 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -34,6 +34,7 @@ } }, "../..": { + "name": "signify-ts", "version": "0.1.1", "license": "Apache-2.0", "dependencies": { diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index 30176882..fe066c16 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -170,7 +170,22 @@ export function Credentials() { // await new Promise(resolve => setTimeout(resolve, 20000)) let creds = await client1.credentials().list('issuer',CredentialTypes.received,'') await client1.credentials().list('issuer',CredentialTypes.issued,'') + await client2.credentials().list('recipient',CredentialTypes.received,'') + await client1.credentials().present_credential('issuer', creds[0].sad.d, 'verifier', true) + await new Promise(resolve => setTimeout(resolve, 5000)) + await client3.credentials().list('verifier',CredentialTypes.received,'') + + op1 = await client1.credentials().revoke_credential('issuer', creds[0], false) + // while (!op1["done"]) { + // op1 = await operations1.get(op1["name"]); + // await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + // } + await new Promise(resolve => setTimeout(resolve, 5000)) + await client1.credentials().list('issuer',CredentialTypes.issued,'') + await client2.credentials().list('recipient',CredentialTypes.issued,'') + await client3.credentials().list('verifier',CredentialTypes.issued,'') + await client1.credentials().present_credential('issuer', creds[0].sad.d, 'verifier', true) await new Promise(resolve => setTimeout(resolve, 5000)) await client3.credentials().list('verifier',CredentialTypes.received,'') diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 347bef89..f482170b 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -847,7 +847,7 @@ class Credentials { } - async revoke_credential(name: string, registy: string, said: string, send?: string, estOnly:boolean=false) { + async revoke_credential(name: string, cred: any, estOnly:boolean=false) { let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] @@ -855,6 +855,8 @@ class Credentials { const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) const dt = new Date().toISOString().replace('Z', '000+00:00') + const said = cred.sad.d + // Create rev let _rev = { v: vs, @@ -862,7 +864,8 @@ class Credentials { d: "", i: said, s: "1", - ri: registy, + p: cred.status.d, + ri: cred.sad.ri, dt: dt } @@ -897,7 +900,6 @@ class Credentials { } let body = { - said: said, rev: rev, ixn: ixn, sigs: sigs From 214f0c6bbc03ff0b9c43127e3a97f6b189684120 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 16:29:19 -0700 Subject: [PATCH 128/463] Tholder implementation minus Bexter support which is not being used in KERI yet. --- examples/scripts/client.ts | 46 +++++- examples/scripts/create_agent.py | 47 ++++++ examples/scripts/create_multisig_aid.py | 62 ++++++++ examples/scripts/create_person_aid.py | 71 +++++++++ examples/scripts/data/gleif-sample.json | 13 ++ examples/scripts/data/multisig-triple.json | 16 ++ examples/scripts/env.sh | 5 + .../keri/cf/demo-witness-oobis-schema.json | 17 ++ examples/scripts/multisig-kli.sh | 18 +++ examples/scripts/multisig-sigpy.sh | 5 + src/keri/app/controller.ts | 6 +- src/keri/app/signify.ts | 62 ++++---- src/keri/core/eventing.ts | 8 +- src/keri/core/matter.ts | 20 +++ src/keri/core/number.ts | 52 ++++++- src/keri/core/tholder.ts | 147 +++++++++++++++--- 16 files changed, 528 insertions(+), 67 deletions(-) create mode 100644 examples/scripts/create_agent.py create mode 100644 examples/scripts/create_multisig_aid.py create mode 100644 examples/scripts/create_person_aid.py create mode 100644 examples/scripts/data/gleif-sample.json create mode 100644 examples/scripts/data/multisig-triple.json create mode 100644 examples/scripts/env.sh create mode 100755 examples/scripts/keri/cf/demo-witness-oobis-schema.json create mode 100755 examples/scripts/multisig-kli.sh create mode 100755 examples/scripts/multisig-sigpy.sh diff --git a/examples/scripts/client.ts b/examples/scripts/client.ts index 00b44393..c0329da5 100644 --- a/examples/scripts/client.ts +++ b/examples/scripts/client.ts @@ -1,4 +1,4 @@ -let signify:any; +let signify: any; // @ts-ignore import('signify-ts').then( @@ -28,7 +28,7 @@ async function connect() { tier: client.controller?.tier }; - await fetch( "http://127.0.0.1:3903/boot", { + await fetch("http://127.0.0.1:3903/boot", { method: "POST", body: JSON.stringify(data), headers: { @@ -43,11 +43,53 @@ async function connect() { console.log(" Agent: ", d.agent.i, " Controller: ", d.controller.state.i) let identifiers = client.identifiers() + const oobis = client.oobis() + const operations = client.operations() let salt = 'abcdefghijk0123456789' let op = await identifiers.create("multisig-ts", {bran: salt}) let aid = op["response"] console.log("Created AID: ", aid) + + console.log("Resolving multisig-kli...") + op = await oobis.resolve( + "http://127.0.0.1:5642/oobi/EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv" + + "_VmF_dJNN6vkf2Ha", + "multisig-kli"); + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + console.log("done.") + let kli = op['response'] + + console.log("Resolving multisig-sigpy...") + op = await oobis.resolve( + "http://127.0.0.1:3902/oobi/EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk/agent/EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz", + "internal"); + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + console.log("done.") + let sigPy = op['response'] + + aid = await identifiers.get_identifier("multisig-ts") + let sigTs = aid['state'] + + let states = [sigPy, kli, sigTs] + identifiers.create("multisig", { + algo: "group", mhab: aid, + isith: ["1/2", "1/2", "1/2"], nsith: ["1/2", "1/2", "1/2"], + toad: 2, + wits: [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ], + states: states, + rstates: states + }) } diff --git a/examples/scripts/create_agent.py b/examples/scripts/create_agent.py new file mode 100644 index 00000000..3994a7da --- /dev/null +++ b/examples/scripts/create_agent.py @@ -0,0 +1,47 @@ +# -*- encoding: utf-8 -*- +""" +SIGNIFY +signify.app.clienting module + +Testing clienting with integration tests that require a running KERIA Cloud Agent +""" + +import pytest +import requests +from keri import kering +from keri.core.coring import Tiers + +from signify.app.clienting import SignifyClient + + +def create_agent(): + url = "http://localhost:3901" + bran = b'9876543210abcdefghijk' + tier = Tiers.low + client = SignifyClient(passcode=bran, tier=tier) + print(client.controller) + assert client.controller == "EP5JMOzNfDL8WbpRiyLxrsVg7GF-HcjIOsceqeluauxj" + + evt, siger = client.ctrl.event() + + res = requests.post(url="http://localhost:3903/boot", + json=dict( + icp=evt.ked, + sig=siger.qb64, + stem=client.ctrl.stem, + pidx=1, + tier=client.ctrl.tier)) + + if res.status_code != requests.codes.accepted: + raise kering.AuthNError(f"unable to initialize cloud agent connection, {res.status_code}, {res.text}") + + client.connect(url=url, ) + assert client.agent is not None + print(client.agent.pre) + assert client.agent.pre == "EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz" + assert client.agent.delpre == "EP5JMOzNfDL8WbpRiyLxrsVg7GF-HcjIOsceqeluauxj" + print("Person agent created") + + +if __name__ == "__main__": + create_agent() diff --git a/examples/scripts/create_multisig_aid.py b/examples/scripts/create_multisig_aid.py new file mode 100644 index 00000000..071e2450 --- /dev/null +++ b/examples/scripts/create_multisig_aid.py @@ -0,0 +1,62 @@ +# -*- encoding: utf-8 -*- +""" +SIGNIFY +signify.app.clienting module + +Testing clienting with integration tests that require a running KERIA Cloud Agent +""" +import json +from time import sleep + +from keri.app.keeping import Algos +from keri.core import coring +from keri.core.coring import Tiers + +from signify.app.clienting import SignifyClient + + +def create_multisig_aid(): + url = "http://localhost:3901" + bran = b'9876543210abcdefghijk' + tier = Tiers.low + + client = SignifyClient(passcode=bran, tier=tier, url=url) + + identifiers = client.identifiers() + operations = client.operations() + states = client.keyStates() + + aid = identifiers.get("multisig-sigpy") + sigPy = aid["state"] + + kli = states.get("EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ") + sigTs = states.get("ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V") + + assert len(kli) == 1 + assert len(sigTs) == 1 + + states = rstates = [sigPy, kli[0], sigTs[0]] + for state in states: + print(json.dumps(state, indent=2)) + + op = identifiers.create("multisig", algo=Algos.group, mhab=aid, + isith=["1/2", "1/2", "1/2"], nsith=["1/2", "1/2", "1/2"], + toad=2, + wits=[ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ], + states=states, + rstates=rstates) + print("waiting on multisig creation...") + while not op["done"]: + op = operations.get(op["name"]) + sleep(1) + gAid = op["response"] + print(f"group multisig created:") + print(json.dumps(gAid, indent=2)) + + +if __name__ == "__main__": + create_multisig_aid() diff --git a/examples/scripts/create_person_aid.py b/examples/scripts/create_person_aid.py new file mode 100644 index 00000000..acdcf103 --- /dev/null +++ b/examples/scripts/create_person_aid.py @@ -0,0 +1,71 @@ +# -*- encoding: utf-8 -*- +""" +SIGNIFY +signify.app.clienting module + +Testing clienting with integration tests that require a running KERIA Cloud Agent +""" +from time import sleep + +from keri.core import coring +from keri.core.coring import Tiers + +from signify.app.clienting import SignifyClient + + +def create_aid(): + url = "http://localhost:3901" + bran = b'9876543210abcdefghijk' + tier = Tiers.low + + client = SignifyClient(passcode=bran, tier=tier, url=url) + + identifiers = client.identifiers() + operations = client.operations() + oobis = client.oobis() + + aids = identifiers.list() + assert aids == [] + + wits = [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ] + + op = identifiers.create("multisig-sigpy", bran="0123456789abcdefghijk", wits=wits, toad="2") + + while not op["done"]: + op = operations.get(op["name"]) + sleep(1) + + icp = coring.Serder(ked=op["response"]) + assert icp.pre == "EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk" + print(f"Person AID {icp.pre} created") + + identifiers.addEndRole("multisig-sigpy", eid=client.agent.pre) + + print("person resolving multisig-kli...") + op = oobis.resolve( + oobi="http://127.0.0.1:5642/oobi/EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ/witness/BBilc4" + "-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + alias="multisig-kli") + while not op["done"]: + op = operations.get(op["name"]) + sleep(1) + print("... done") + + input(f"\nPress any key after multisig-sigts is created? ") + + print("person resolving multisig-sigts...") + op = oobis.resolve( + oobi="http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei", + alias="multisig-sigts") + while not op["done"]: + op = operations.get(op["name"]) + sleep(1) + print("... done") + + +if __name__ == "__main__": + create_aid() diff --git a/examples/scripts/data/gleif-sample.json b/examples/scripts/data/gleif-sample.json new file mode 100644 index 00000000..850aca03 --- /dev/null +++ b/examples/scripts/data/gleif-sample.json @@ -0,0 +1,13 @@ +{ + "transferable": true, + "wits": [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ], + "toad": 3, + "icount": 1, + "ncount": 1, + "isith": "1", + "nsith": "1" +} diff --git a/examples/scripts/data/multisig-triple.json b/examples/scripts/data/multisig-triple.json new file mode 100644 index 00000000..c5c31e95 --- /dev/null +++ b/examples/scripts/data/multisig-triple.json @@ -0,0 +1,16 @@ +{ + "aids": [ + "EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk", + "EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ", + "ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V" + ], + "transferable": true, + "wits": [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ], + "toad": 2, + "isith": ["1/2", "1/2", "1/2"], + "nsith": ["1/2", "1/2", "1/2"] +} diff --git a/examples/scripts/env.sh b/examples/scripts/env.sh new file mode 100644 index 00000000..70b867d6 --- /dev/null +++ b/examples/scripts/env.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +demo=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +export KERI_DEMO_SCRIPT_DIR="${demo}" +export KERI_SCRIPT_DIR="${demo}" \ No newline at end of file diff --git a/examples/scripts/keri/cf/demo-witness-oobis-schema.json b/examples/scripts/keri/cf/demo-witness-oobis-schema.json new file mode 100755 index 00000000..413d779a --- /dev/null +++ b/examples/scripts/keri/cf/demo-witness-oobis-schema.json @@ -0,0 +1,17 @@ +{ + "dt": "2022-01-20T12:57:59.823350+00:00", + "iurls": [ + "http://127.0.0.1:5642/oobi/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha/controller", + "http://127.0.0.1:5644/oobi/BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX/controller", + "http://127.0.0.1:5643/oobi/BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM/controller" + ], + "durls": [ + "http://127.0.0.1:7723/oobi/EBNaNu-M9P5cgrnfl2Fvymy4E_jvxxyjb70PRtiANlJy", + "http://127.0.0.1:7723/oobi/EMhvwOlyEJ9kN4PrwCpr9Jsv7TxPhiYveZ0oP3lJzdEi", + "http://127.0.0.1:7723/oobi/EKA57bKBKxr_kN7iN5i7lMUxpMG-s19dRcmov1iDxz-E", + "http://127.0.0.1:7723/oobi/EEy9PkikFcANV1l7EHukCeXqrzT1hNZjGlUk7wuMO5jw", + "http://127.0.0.1:7723/oobi/ENPXp1vQzRF6JwIuS-mp2U8Uf1MoADoP_GqQ62VsDZWY", + "http://127.0.0.1:7723/oobi/EH6ekLjSr8V32WyFbGe1zXjTzFs9PkTYmupJ9H65O14g", + "http://127.0.0.1:7723/oobi/EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao" + ] +} diff --git a/examples/scripts/multisig-kli.sh b/examples/scripts/multisig-kli.sh new file mode 100755 index 00000000..71ef844c --- /dev/null +++ b/examples/scripts/multisig-kli.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# To run this script you need to run the following command in a separate terminals: +# > kli witness demo +# and from the vLEI repo run: +# > vLEI-server -s ./schema/acdc -c ./samples/acdc/ -o ./samples/oobis/ +# + +# EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ +kli init --name multisig-kli --salt 0ACDEyMzQ1Njc4OWxtbm9GhI --nopasscode --config-dir "${KERI_SCRIPT_DIR}" --config-file demo-witness-oobis-schema +kli incept --name multisig-kli --alias multisig-kli --file "${KERI_DEMO_SCRIPT_DIR}"/data/gleif-sample.json + +read -n 1 -r -p "Press any key after multisig-sigpy and multisig-sigts have been created:" + +kli oobi resolve --name multisig-kli --oobi-alias multisig-sigpy --oobi http://127.0.0.1:3902/oobi/EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk/agent/EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz +kli oobi resolve --name multisig-kli --oobi-alias multisig-sigts --oobi http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei + +kli multisig incept --name multisig-kli --alias multisig-kli --group multisig --file ${KERI_DEMO_SCRIPT_DIR}/data/multisig-triple.json \ No newline at end of file diff --git a/examples/scripts/multisig-sigpy.sh b/examples/scripts/multisig-sigpy.sh new file mode 100755 index 00000000..f4cb337c --- /dev/null +++ b/examples/scripts/multisig-sigpy.sh @@ -0,0 +1,5 @@ +#!/bin/bash + + +python "${KERI_SCRIPT_DIR}"/create_agent.py +python "${KERI_SCRIPT_DIR}"/create_person_aid.py diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index d05b51f1..e26db892 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -12,7 +12,7 @@ import { Encrypter } from "../core/encrypter"; import { Decrypter } from "../core/decrypter"; import { Cipher } from "../core/cipher"; import {Seqner } from "../core/seqner"; -import { PNumber } from "../core/number"; +import { CesrNumber } from "../core/number"; export class Agent { pre: string; @@ -38,7 +38,7 @@ export class Agent { // } let [state, verfer, ] = this.event(agent); - this.sn = new PNumber(state['s']).num + this.sn = new CesrNumber(state['s']).num this.said = state['d'] if (state['et'] !== Ilks.dip) { @@ -155,7 +155,7 @@ export class Controller { this.serder = interact({ pre:this.serder.pre, dig: this.serder.ked["d"], - sn: new PNumber(this.serder.ked["s"]).num + 1, + sn: new CesrNumber(this.serder.ked["s"]).num + 1, data:[anchor], version: Versionage, kind: Serials.JSON}) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index f482170b..05656021 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -296,7 +296,7 @@ class Identifier { let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - //GET + //GET async get_identifier(name: string) { let path = `/identifiers/${name}` let data = null @@ -729,18 +729,18 @@ class Credentials { let method = 'GET' let headers = includeCESR? new Headers({'Accept': 'application/json+cesr'}) : new Headers({'Accept': 'application/json'}) let res = await this.client.fetch(path, method, null, headers) - + return includeCESR? await res.text() : await res.json() } async issue_credential(name: string, registy: string, recipient: string|undefined, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false, estOnly:boolean=false) { - + // Create Credential let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] const dt = new Date().toISOString().replace('Z', '000+00:00') - + const vsacdc = versify(Ident.ACDC, undefined, Serials.JSON, 0) const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) @@ -775,8 +775,8 @@ class Credentials { // cred['r']= rules console.log(rules, source) const [, vc] = Saider.saidify(cred) - - + + // Create iss let _iss = { v: vs, @@ -809,7 +809,7 @@ class Credentials { if (estOnly) { // TODO implement rotation event throw new Error("Establishment only not implemented") - + } else { let state = hab["state"] let sn = Number(state["s"]) @@ -822,16 +822,16 @@ class Credentials { }] let serder = interact({ pre: pre, sn: sn + 1, data: data, dig: dig, version: undefined, kind: undefined }) - + sigs = keeper.sign(b(serder.raw)) ixn = serder.ked } - + let body = { cred: vc, csigs: csigs, path: cpath, - iss: iss, + iss: iss, ixn: ixn, sigs: sigs } @@ -848,7 +848,6 @@ class Credentials { } async revoke_credential(name: string, cred: any, estOnly:boolean=false) { - let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] @@ -881,7 +880,7 @@ class Credentials { if (estOnly) { // TODO implement rotation event throw new Error("Establishment only not implemented") - + } else { let state = hab["state"] let sn = Number(state["s"]) @@ -898,9 +897,8 @@ class Credentials { sigs = keeper.sign(b(serder.raw)) ixn = serder.ked } - let body = { - rev: rev, + rev: rev, ixn: ixn, sigs: sigs } @@ -943,7 +941,7 @@ class Credentials { } const [, sad] = Saider.saidify(_sad) const exn = new Serder(sad) - + let keeper = this.client!.manager!.get(hab) let sig = keeper.sign(b(exn.raw),true) @@ -953,7 +951,7 @@ class Credentials { let ims = messagize(exn,[siger],seal, undefined, undefined, true) ims = ims.slice(JSON.stringify(exn.ked).length) - + let body = { exn: exn.ked, sig: new TextDecoder().decode(ims), @@ -995,7 +993,7 @@ class Credentials { } const [, sad] = Saider.saidify(_sad) const exn = new Serder(sad) - + let keeper = this.client!.manager!.get(hab) let sig = keeper.sign(b(exn.raw),true) @@ -1005,7 +1003,7 @@ class Credentials { let ims = messagize(exn,[siger],seal, undefined, undefined, true) ims = ims.slice(JSON.stringify(exn.ked).length) - + let body = { exn: exn.ked, sig: new TextDecoder().decode(ims), @@ -1043,10 +1041,10 @@ class Registries { // TODO add backers option // TODO get estOnly from get_identifier ? // TODO generate random nonce if not provided - + let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] - + const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) let vcp = { v: vs, @@ -1058,10 +1056,10 @@ class Registries { c: ['NB'], bt: "0", b: [], - n: nonce + n: nonce } - let prefixer = new Prefixer({code: MtrDex.Blake3_256}, vcp) + let prefixer = new Prefixer({code: MtrDex.Blake3_256}, vcp) vcp['i'] = prefixer.qb64 vcp['d'] = prefixer.qb64 @@ -1070,7 +1068,7 @@ class Registries { if (estOnly) { // TODO implement rotation event throw new Error("Establishment only not implemented") - + } else { let state = hab["state"] let sn = Number(state["s"]) @@ -1087,8 +1085,8 @@ class Registries { sigs = keeper.sign(b(serder.raw)) ixn = serder.ked } - - + + let path = `/identifiers/${name}/registries` let method = 'POST' let data = { @@ -1108,7 +1106,7 @@ class Schemas { constructor(client: SignifyClient) { this.client = client } - //SchemaResourceEnd + //SchemaResourceEnd async get_schema(said: string) { let path = `/schema/${said}` let method = 'GET' @@ -1166,7 +1164,7 @@ class Challenges { } const [, sad] = Saider.saidify(_sad) const exn = new Serder(sad) - + let keeper = this.client!.manager!.get(hab) let sig = keeper.sign(b(exn.raw),true) @@ -1216,7 +1214,7 @@ class Contacts { let params = new URLSearchParams() if (group !== undefined) {params.append('group', group)} if (filterField !== undefined && filterValue !== undefined) {params.append(filterField, filterValue)} - + let path = `/contacts`+ '?' + params.toString() let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -1225,7 +1223,7 @@ class Contacts { } async get_contact(pre:string) { - + let path = `/contacts/`+ pre let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -1269,7 +1267,7 @@ class Notifications { let params = new URLSearchParams() if (last !== undefined) {params.append('last', last)} if (limit !== undefined) {params.append('limit', limit.toString())} - + let path = `/notifications` + '?' + params.toString() let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -1278,7 +1276,7 @@ class Notifications { } async mark_notification(said:string) { - + let path = `/notifications/`+ said let method = 'PUT' let res = await this.client.fetch(path, method, null, undefined) @@ -1287,7 +1285,7 @@ class Notifications { } async delete_notification(said:string) { - + let path = `/notifications/`+ said let method = 'DELETE' let res = await this.client.fetch(path, method, null, undefined) diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index aa41c7c7..3b21b804 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -1,6 +1,6 @@ import { b, concat, Dict, Ident, Ilks, Serials, versify, Version, Versionage } from "./core"; import { Tholder } from "./tholder"; -import { PNumber } from "./number"; +import { CesrNumber } from "./number"; import { Prefixer } from "./prefixer"; import { Serder } from "./serder"; import { MtrDex, NonTransDex } from "./matter"; @@ -247,7 +247,7 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers let vs = versify(Ident.KERI, version, kind, 0) let ilk = delpre == undefined ? Ilks.icp : Ilks.dip - let sner = new PNumber(0) + let sner = new CesrNumber(0) if (isith == undefined) { isith = Math.max(1, Math.ceil(keys.length / 2)) @@ -290,7 +290,7 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers } } - let toader = new PNumber(toad) + let toader = new CesrNumber(toad) if (wits.length > 0) { if (toader.num < 1 || toader.num > wits.length) { throw new Error(`Invalid toad = ${toader.num} for wits = ${wits}`) @@ -429,7 +429,7 @@ export function interact(args: InteractArgs): Serder { let { pre, dig, sn, data, version, kind } = args let vs = versify(Ident.KERI, version, kind, 0) let ilk = Ilks.ixn - let sner = new PNumber(sn) + let sner = new CesrNumber(sn) if (sner.num < 1) { throw new Error(`Invalid sn = 0x${sner.numh} for ixn.`) diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index caadd8a1..d91f8657 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -51,6 +51,26 @@ export class DigiCodex extends Codex { export const DigiDex = new DigiCodex() +export class NumCodex extends Codex { + Short: string = 'M' // Short 2 byte b2 number + Long: string = '0H' // Long 4 byte b2 number + Big: string = 'N' // Big 8 byte b2 number + Huge: string = '0A' // Huge 16 byte b2 number (same as Salt_128) +} + +export const NumDex = new NumCodex() + +export class BexCodex extends Codex { + StrB64_L0: string = '4A' // String Base64 Only Leader Size 0 + StrB64_L1: string = '5A' // String Base64 Only Leader Size 1 + StrB64_L2: string = '6A' // String Base64 Only Leader Size 2 + StrB64_Big_L0: string = '7AAA' // String Base64 Only Big Leader Size 0 + StrB64_Big_L1: string = '8AAA' // String Base64 Only Big Leader Size 1 + StrB64_Big_L2: string = '9AAA' // String Base64 Only Big Leader Size 2 +} + +export const BexDex = new BexCodex() + export class Sizage { public hs: number; public ss: number; diff --git a/src/keri/core/number.ts b/src/keri/core/number.ts index 9b99b869..e6a657df 100644 --- a/src/keri/core/number.ts +++ b/src/keri/core/number.ts @@ -1,14 +1,48 @@ +import {Matter, MatterArgs, NumDex} from "./matter"; +import {intToBytes} from "./utils"; -export class PNumber { +export class CesrNumber extends Matter { private readonly _num: number = 0; - constructor(num?: number | string, numh?: string) { - // TODO: Implelment logic - if (typeof(num) == "number") { - this._num = num - } else if (numh != undefined) { - this._num = parseInt(numh, 16) + constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, num?: number | string, numh?: string) { + let _num; + if(raw == undefined && qb64 == undefined && qb64b == undefined && qb2 == undefined) { + if (typeof (num) == "number") { + _num = num + } else if (numh != undefined) { + _num = parseInt(numh, 16) + } + else { + _num = 0 + } } + if (_num == undefined) { + throw new Error("Invalid whole number") + } + + if (_num <= (256 ** 2 - 1)) { // make short version of code + code = NumDex.Short; + } + else if (_num <= (256 ** 4 - 1)) { // make long version of code + code = code = NumDex.Long; + } + else if (_num <= (256 ** 8 - 1)) { // make big version of code + code = code = NumDex.Big; + } + else if (_num <= (256 ** 16 - 1)) { // make huge version of code + code = code = NumDex.Huge; + } + else { + throw new Error("Invalid num = {num}, too large to encode."); + } + + raw = intToBytes(_num, Matter._rawSize(code)); + + super({raw, code, qb64b, qb64, qb2}); + + if (!NumDex.has(this.code)) { + throw new Error("Invalid code " + code + " for Number"); + } } get num(): number { @@ -18,4 +52,8 @@ export class PNumber { get numh(): string { return this._num.toString(16) } + + get positive(): boolean { + return this.num > 0 + } } \ No newline at end of file diff --git a/src/keri/core/tholder.ts b/src/keri/core/tholder.ts index db216010..b677a577 100644 --- a/src/keri/core/tholder.ts +++ b/src/keri/core/tholder.ts @@ -1,3 +1,5 @@ +import {BexDex, Matter, NumDex} from "./matter"; +import {CesrNumber} from "./number"; export class Tholder { @@ -6,24 +8,39 @@ export class Tholder { private _size: number = 0 private _sith: string = "" private _limen: Array = new Array() + private _bexter: any + private _number: CesrNumber | undefined = undefined + private _satisfy: any = undefined - constructor(sith: string | number | Array) { - this.processSith(sith) - } - - get num(): number | undefined { - return this._weighted ? undefined : this._thold + constructor(thold?:any, limen?:any, sith?: any) { + if (thold !== undefined) { + this._processThold(thold); + } + else if (limen != undefined) { + this._processLimen(limen); + } + else if (sith !== undefined) { + this._processSith(sith); + } + else { + throw new Error("Missing threshold expression"); + } } - get size(): number { - return this._size + get weighted(): boolean { + return this._weighted; } get thold(): number { return this._thold; } - get weighted(): boolean { - return this._weighted; + + get size(): number { + return this._size; + } + + get limen(): any { + return 0; } get sith(): string { @@ -37,16 +54,108 @@ export class Tholder { } } - private processSith(sith: string | number | Array) { - if (typeof(sith) == "string") { - this._sith = sith - this._thold = parseInt(sith) - } else if (typeof(sith) == "number") { - this._thold = sith - this._size = this._thold + get json(): string { + return JSON.stringify(this._sith); + } + + get num(): number | undefined { + return this._weighted ? undefined : this._thold; + } + + private _processThold(thold:number | Array) { + if (typeof(thold) === "number") { + this._processUnweighted(thold); + } + else { + this._processWeighted(thold) + } + + } + + private _processLimen(limen: string) { + let matter = new Matter({qb64: limen}) + if (NumDex.has(matter.code)) { + let number = new CesrNumber({raw: matter.raw, code:matter.code}) + this._processUnweighted(number.num); + } else if(BexDex.has(matter.code)) { + // TODO: Implement Bexter } else { - this._limen = sith - this._size = this._limen.length + throw new Error("Invalid code for limen=" + matter.code) } } + + private _processSith(sith: string | number | Array) { + if (typeof(sith) == "number") { + this._processUnweighted(sith); + } else if (typeof(sith) == "string" && sith.indexOf('[') != -1) { + this._processUnweighted(parseInt(sith, 16)) + } else { + let _sith; + if (typeof(sith) == "string") { + _sith = JSON.parse(sith); + } + + if (_sith.length == 0) { + throw new Error("Empty weight list") + } + + // TODO: Implement this check: + // # because all([]) == True have to also test for emply mask + // # is it non str iterable of non str iterable of strs + // mask = [nonStringIterable(c) for c in sith] + // if mask and not all(mask): # not empty and not iterable of iterables + // sith = [sith] # attempt to make Iterable of Iterables + // + // for c in sith: # get each clause + // mask = [isinstance(w, str) for w in c] # must be all strs + // if mask and not all(mask): # not empty and not iterable of strs? + // raise ValueError(f"Invalid sith = {sith} some weights in" + // f"clause {c} are non string.") + + let thold = this._processClauses(_sith); + this._processWeighted(thold) + } + } + + private _processClauses(sith: Array>) { + let thold: any[] = []; + sith.forEach((clause) => { + if (typeof(clause) =="string") { + thold.push([this.weight(clause)]) + } else { + thold.push( + clause.map((w) => { + return this.weight(w) + }) + ) + } + }) + return thold + } + + private _processUnweighted(thold: number) { + if (thold < 0) { + throw new Error("Non-positive int threshold = {thold}.") + } + this._thold = thold + this._weighted = false + this._size = this._thold // used to verify that keys list size is at least size + this._satisfy = this._satisfy_numeric + this._number = new CesrNumber({},thold) + this._bexter = undefined + + } + + private _processWeighted(thold: Array) { + + } + + private weight(w:string) { + return w + } + + private _satisfy_numeric(indices: any) { + + } + } \ No newline at end of file From 47d60c7459578fdefd1016bf5fcc6cc28fce0b9b Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 16:30:12 -0700 Subject: [PATCH 129/463] Tholder implementation minus Bexter support which is not being used in KERI yet. --- package-lock.json | 87 ++++++++++++++++++- package.json | 1 + src/index.ts | 4 + src/keri/app/signify.ts | 1 + src/keri/core/eventing.ts | 14 +-- src/keri/core/matter.ts | 60 ++++++++++--- src/keri/core/tholder.ts | 173 +++++++++++++++++++++++++------------- test/core/tholder.test.ts | 130 ++++++++++++++++++++++++++++ 8 files changed, 389 insertions(+), 81 deletions(-) create mode 100644 test/core/tholder.test.ts diff --git a/package-lock.json b/package-lock.json index 6049c047..45d3547f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", + "mathjs": "^11.8.2", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", @@ -1882,10 +1883,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.5.tgz", - "integrity": "sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==", - "dev": true, + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -4912,6 +4912,18 @@ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, + "node_modules/complex.js": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/complex.js/-/complex.js-2.1.1.tgz", + "integrity": "sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", @@ -5539,6 +5551,11 @@ "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==" + }, "node_modules/decode-uri-component": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", @@ -6148,6 +6165,11 @@ "node": ">=6" } }, + "node_modules/escape-latex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/escape-latex/-/escape-latex-1.2.0.tgz", + "integrity": "sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==" + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -7455,6 +7477,18 @@ "node": ">= 0.12" } }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, "node_modules/fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -8905,6 +8939,11 @@ "node": ">=8" } }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==" + }, "node_modules/jest": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz", @@ -11468,6 +11507,28 @@ "node": ">=0.10.0" } }, + "node_modules/mathjs": { + "version": "11.8.2", + "resolved": "https://registry.npmjs.org/mathjs/-/mathjs-11.8.2.tgz", + "integrity": "sha512-ZePu0oDbM0vuFExikIMY/9syjo/jbgNbX6ti+iMdaALDuxciMCsXIslGDBEn7QCpCWYBiVCYmc0lsmk5bwHBdQ==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "complex.js": "^2.1.1", + "decimal.js": "^10.4.3", + "escape-latex": "^1.2.0", + "fraction.js": "^4.2.0", + "javascript-natural-sort": "^0.7.1", + "seedrandom": "^3.0.5", + "tiny-emitter": "^2.1.0", + "typed-function": "^4.1.0" + }, + "bin": { + "mathjs": "bin/cli.js" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -14802,6 +14863,11 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/seedrandom": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz", + "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==" + }, "node_modules/semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -16151,6 +16217,11 @@ "node": ">=0.6.0" } }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, "node_modules/tiny-glob": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", @@ -18943,6 +19014,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typed-function": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/typed-function/-/typed-function-4.1.0.tgz", + "integrity": "sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg==", + "engines": { + "node": ">= 14" + } + }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", diff --git a/package.json b/package.json index ede34a90..4347c418 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", + "mathjs": "^11.8.2", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", diff --git a/src/index.ts b/src/index.ts index 77e5c945..37f99372 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,6 @@ import _sodium from 'libsodium-wrappers-sumo'; +import { create, all } from 'mathjs' export const ready:() => Promise = (async() => { try { @@ -27,3 +28,6 @@ try { window.Buffer = Buffer; } catch(e) { } + +const config = { } +export const math = create(all, config) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 05656021..2199f97b 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -848,6 +848,7 @@ class Credentials { } async revoke_credential(name: string, cred: any, estOnly:boolean=false) { + console.log(send) let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index 3b21b804..21112208 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -69,7 +69,7 @@ export function rotate({ _isit = isith as number } - let tholder = new Tholder(_isit) + let tholder = new Tholder({sith: _isit}) if (tholder.num != undefined && tholder.num < 1) { throw new Error(`Invalid sith = ${tholder.num} less than 1.`) } @@ -94,7 +94,7 @@ export function rotate({ _nsith = nsith } - let ntholder = new Tholder(_nsith) + let ntholder = new Tholder({sith: _nsith}) if (ntholder.num != undefined && ntholder.num < 1) { throw new Error(`Invalid sith = ${ntholder.num} less than 1.`) } @@ -247,13 +247,13 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers let vs = versify(Ident.KERI, version, kind, 0) let ilk = delpre == undefined ? Ilks.icp : Ilks.dip - let sner = new CesrNumber(0) + let sner = new CesrNumber({}, 0) if (isith == undefined) { isith = Math.max(1, Math.ceil(keys.length / 2)) } - let tholder = new Tholder(isith) + let tholder = new Tholder({sith: isith}) if (tholder.num != undefined && tholder.num < 1) { throw new Error(`Invalid sith = ${tholder.num} less than 1.`) } @@ -269,7 +269,7 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers nsith = Math.max(0, Math.ceil(ndigs.length / 2)) } - let ntholder = new Tholder(nsith) + let ntholder = new Tholder({sith: nsith}) if (ntholder.num != undefined && ntholder.num < 0) { throw new Error(`Invalid nsith = ${ntholder.num} less than 0.`) } @@ -290,7 +290,7 @@ export function incept({ keys, isith, ndigs, nsith, toad, wits, cnfg, data, vers } } - let toader = new CesrNumber(toad) + let toader = new CesrNumber({}, toad) if (wits.length > 0) { if (toader.num < 1 || toader.num > wits.length) { throw new Error(`Invalid toad = ${toader.num} for wits = ${wits}`) @@ -429,7 +429,7 @@ export function interact(args: InteractArgs): Serder { let { pre, dig, sn, data, version, kind } = args let vs = versify(Ident.KERI, version, kind, 0) let ilk = Ilks.ixn - let sner = new CesrNumber(sn) + let sner = new CesrNumber({}, sn) if (sner.num < 1) { throw new Error(`Invalid sn = 0x${sner.numh} for ixn.`) diff --git a/src/keri/core/matter.ts b/src/keri/core/matter.ts index d91f8657..30f24e0b 100644 --- a/src/keri/core/matter.ts +++ b/src/keri/core/matter.ts @@ -74,10 +74,10 @@ export const BexDex = new BexCodex() export class Sizage { public hs: number; public ss: number; - public ls: number; - public fs: number; + public ls?: number; + public fs?: number; - constructor(hs: number, ss: number, fs: number, ls: number) { + constructor(hs: number, ss: number, fs?: number, ls?: number) { this.hs = hs; this.ss = ss; this.fs = fs; @@ -101,11 +101,51 @@ export class Matter { 'C': new Sizage(1, 0, 44, 0), 'D': new Sizage(1, 0, 44, 0), 'E': new Sizage(1, 0, 44, 0), + 'F': new Sizage(1, 0, 44, 0), + 'G': new Sizage(1, 0, 44, 0), + 'H': new Sizage(1, 0, 44, 0), + 'I': new Sizage(1, 0, 44, 0), + 'J': new Sizage(1, 0, 44, 0), + 'K': new Sizage(1, 0, 76, 0), + 'L': new Sizage(1, 0, 76, 0), + 'M': new Sizage(1, 0, 4, 0), + 'N': new Sizage(1, 0, 12, 0), 'O': new Sizage(1, 0, 44, 0), 'P': new Sizage(1, 0, 124, 0), - "0A": new Sizage(2, 0, 24, 0), + 'Q': new Sizage(1, 0, 44, 0), + '0A': new Sizage(2, 0, 24, 0), '0B': new Sizage(2, 0, 88, 0), + '0C': new Sizage(2, 0, 88, 0), + '0D': new Sizage(2, 0, 88, 0), + '0E': new Sizage(2, 0, 88, 0), + '0F': new Sizage(2, 0, 88, 0), + '0G': new Sizage(2, 0, 88, 0), + '0H': new Sizage(2, 0, 8, 0), + '0I': new Sizage(2, 0, 88, 0), + '1AAA': new Sizage(4, 0, 48, 0), + '1AAB': new Sizage(4, 0, 48, 0), + '1AAC': new Sizage(4, 0, 80, 0), + '1AAD': new Sizage(4, 0, 80, 0), + '1AAE': new Sizage(4, 0, 56, 0), + '1AAF': new Sizage(4, 0, 8, 0), + '1AAG': new Sizage(4, 0, 36, 0), '1AAH': new Sizage(4, 0, 100, 0), + '1AAI': new Sizage(4, 0, 48, 0), + '1AAJ': new Sizage(4, 0, 48, 0), + '2AAA': new Sizage(4, 0, 8, 1), + '3AAA': new Sizage(4, 0, 8, 2), + '4A': new Sizage(2, 2, undefined, 0), + '5A': new Sizage(2, 2, undefined, 1), + '6A': new Sizage(2, 2, undefined, 2), + '7AAA': new Sizage(4, 4, undefined, 0), + '8AAA': new Sizage(4, 4, undefined, 1), + '9AAA': new Sizage(4, 4, undefined, 2), + '4B': new Sizage(2, 2, undefined, 0), + '5B': new Sizage(2, 2, undefined, 1), + '6B': new Sizage(2, 2, undefined, 2), + '7AAB': new Sizage(4, 4, undefined, 0), + '8AAB': new Sizage(4, 4, undefined, 1), + '9AAB': new Sizage(4, 4, undefined, 2), })); static Hards = new Map([['A', 1], ['B', 1], ['C', 1], ['D', 1], ['E', 1], ['F', 1], ['G', 1], @@ -191,7 +231,7 @@ export class Matter { throw Error(`Non-fixed raw size code ${code}.`) } - return (Math.floor((sizage!.fs - cs) * 3 / 4)) - sizage!.ls + return (Math.floor((sizage!.fs! - cs) * 3 / 4)) - sizage!.ls! } @@ -218,7 +258,7 @@ export class Matter { } else { let both = code let cs = both.length - if ((cs % 4) != ps - sizage!.ls) { // adjusted pad given lead bytes + if ((cs % 4) != ps - sizage!.ls!) { // adjusted pad given lead bytes throw new Error(`Invalid code=${both} for converted raw pad size=${ps}, ${raw.length}.`); } // prepad, convert, and replace upfront @@ -263,16 +303,16 @@ export class Matter { if (sizage!.fs == -1) { // Variable size code, Not supported throw new Error("Variable size codes not supported yet") } else { - size = sizage!.fs + size = sizage!.fs! } - if (qb64.length < sizage!.fs) { - throw new Error(`Need ${sizage!.fs - qb64.length} more chars.`) + if (qb64.length < sizage!.fs!) { + throw new Error(`Need ${sizage!.fs! - qb64.length} more chars.`) } qb64 = qb64.slice(0, sizage!.fs) let ps = cs % 4 - let pbs = 2 * (ps == 0 ? sizage!.ls : ps) + let pbs = 2 * (ps == 0 ? sizage!.ls! : ps) let raw if (ps != 0) { let base = new Array(ps + 1).join('A') + qb64.slice(cs); diff --git a/src/keri/core/tholder.ts b/src/keri/core/tholder.ts index b677a577..b0d5d6d1 100644 --- a/src/keri/core/tholder.ts +++ b/src/keri/core/tholder.ts @@ -1,28 +1,26 @@ import {BexDex, Matter, NumDex} from "./matter"; import {CesrNumber} from "./number"; +import {Fraction} from "mathjs"; +import {math} from "../../index"; export class Tholder { private _weighted: boolean = false - private _thold: number = 0 + private _thold: any = undefined private _size: number = 0 - private _sith: string = "" - private _limen: Array = new Array() - private _bexter: any private _number: CesrNumber | undefined = undefined private _satisfy: any = undefined - constructor(thold?:any, limen?:any, sith?: any) { - if (thold !== undefined) { - this._processThold(thold); - } - else if (limen != undefined) { - this._processLimen(limen); - } - else if (sith !== undefined) { - this._processSith(sith); - } - else { + // private _bexter: any + + constructor(kargs: { thold?: any, limen?: any, sith?: any }) { + if (kargs.thold !== undefined) { + this._processThold(kargs.thold); + } else if (kargs.limen != undefined) { + this._processLimen(kargs.limen); + } else if (kargs.sith !== undefined) { + this._processSith(kargs.sith); + } else { throw new Error("Missing threshold expression"); } } @@ -31,7 +29,7 @@ export class Tholder { return this._weighted; } - get thold(): number { + get thold(): any { return this._thold; } @@ -40,33 +38,44 @@ export class Tholder { } get limen(): any { - return 0; + return this._number?.qb64b; } get sith(): string { if (this.weighted) { - if (this._sith == "") { - return `${this._limen}` + let sith = this.thold.map((clause: Fraction[]) => { + return clause.map((c) => { + if (0 < Number(c) && Number(c) < 1) { + return math.format(c, { fraction: 'ratio' }) + } + else { + return math.format(c, { fraction: 'decimal' }) + } + + }) + }) + if (sith.length == 1) { + sith = sith[0] } - return this._sith + + return sith } else { return this.thold.toString(16) } } get json(): string { - return JSON.stringify(this._sith); + return JSON.stringify(this.sith); } get num(): number | undefined { return this._weighted ? undefined : this._thold; } - private _processThold(thold:number | Array) { - if (typeof(thold) === "number") { + private _processThold(thold: number | Array>) { + if (typeof (thold) === "number") { this._processUnweighted(thold); - } - else { + } else { this._processWeighted(thold) } @@ -75,9 +84,9 @@ export class Tholder { private _processLimen(limen: string) { let matter = new Matter({qb64: limen}) if (NumDex.has(matter.code)) { - let number = new CesrNumber({raw: matter.raw, code:matter.code}) + let number = new CesrNumber({raw: matter.raw, code: matter.code}) this._processUnweighted(number.num); - } else if(BexDex.has(matter.code)) { + } else if (BexDex.has(matter.code)) { // TODO: Implement Bexter } else { throw new Error("Invalid code for limen=" + matter.code) @@ -85,13 +94,13 @@ export class Tholder { } private _processSith(sith: string | number | Array) { - if (typeof(sith) == "number") { + if (typeof (sith) == "number") { this._processUnweighted(sith); - } else if (typeof(sith) == "string" && sith.indexOf('[') != -1) { + } else if (typeof (sith) == "string" && sith.indexOf('[') == -1) { this._processUnweighted(parseInt(sith, 16)) } else { - let _sith; - if (typeof(sith) == "string") { + let _sith: any = sith; + if (typeof (sith) == "string") { _sith = JSON.parse(sith); } @@ -99,36 +108,37 @@ export class Tholder { throw new Error("Empty weight list") } - // TODO: Implement this check: - // # because all([]) == True have to also test for emply mask - // # is it non str iterable of non str iterable of strs - // mask = [nonStringIterable(c) for c in sith] - // if mask and not all(mask): # not empty and not iterable of iterables - // sith = [sith] # attempt to make Iterable of Iterables - // - // for c in sith: # get each clause - // mask = [isinstance(w, str) for w in c] # must be all strs - // if mask and not all(mask): # not empty and not iterable of strs? - // raise ValueError(f"Invalid sith = {sith} some weights in" - // f"clause {c} are non string.") + + let mask = _sith.map((x: any) => { + return typeof (x) !== "string" + }) + + if (mask.length > 0 && !mask.every((x: boolean) => x)) { + _sith = [_sith] + } + + for (let c of _sith) { + let mask = c.map((x: any) => { + return typeof (x) === "string" + }) + if (mask.length > 0 && !mask.every((x: boolean) => x)) { + throw new Error("Invalid sith, some weights in clause " + mask + " are non string") + } + } let thold = this._processClauses(_sith); this._processWeighted(thold) } } - private _processClauses(sith: Array>) { - let thold: any[] = []; + private _processClauses(sith: Array>): Fraction[][] { + let thold = new Array>(); sith.forEach((clause) => { - if (typeof(clause) =="string") { - thold.push([this.weight(clause)]) - } else { - thold.push( - clause.map((w) => { - return this.weight(w) - }) - ) - } + thold.push( + clause.map((w) => { + return this.weight(w) + }) + ) }) return thold } @@ -141,21 +151,64 @@ export class Tholder { this._weighted = false this._size = this._thold // used to verify that keys list size is at least size this._satisfy = this._satisfy_numeric - this._number = new CesrNumber({},thold) - this._bexter = undefined + this._number = new CesrNumber({}, thold) + // this._bexter = undefined } - private _processWeighted(thold: Array) { + private _processWeighted(thold: Array>) { + for (let clause of thold) { + if (Number(math.sum(clause)) < 1) { + throw new Error("Invalid sith clause: " + thold + "all clause weight sums must be >= 1") + } + } + + this._thold = thold + this._weighted = true + this._size = thold.reduce((acc, currentValue) => { + return acc + currentValue.length; + }, 0) + this._satisfy = this._satisfy_weighted + //TODO: created Bexter if needed } - private weight(w:string) { - return w + private weight(w: string): Fraction { + return math.fraction(w) } - private _satisfy_numeric(indices: any) { + private _satisfy_numeric(indices: any[]) { + return this.thold > 0 && indices.length >= this.thold // at least one + } + + private _satisfy_weighted(indices: any) { + if (indices.length === 0) { + return false + } + let indexes: Set = new Set(indices.sort()) + let sats = new Array(indices.length).fill(false) + for (let idx of indexes) { + sats[idx] = true + } + let wio = 0; + for (let clause of this.thold) { + let cw = 0; + for (let w of clause) { + if (sats[wio]) { + cw += Number(w) + } + wio += 1 + } + if (cw < 1) { + return false; + } + } + + return true; } + public satisfy(indices: any): boolean { + return this._satisfy(indices) + } } \ No newline at end of file diff --git a/test/core/tholder.test.ts b/test/core/tholder.test.ts new file mode 100644 index 00000000..14c5f657 --- /dev/null +++ b/test/core/tholder.test.ts @@ -0,0 +1,130 @@ +import {strict as assert} from "assert"; +import {Tholder} from "../../src/keri/core/tholder"; +import {math} from "../../src" + +describe('THolder', () => { + it('should hold thresholds', async () => { + let tholder = new Tholder({sith: 'b'}); + assert.equal(tholder.thold, 11); + assert.equal(tholder.size, 11); + assert.deepEqual(tholder.limen, new Uint8Array([77, 65, 115, 65])); + assert.equal(tholder.sith, 'b') + assert.equal(tholder.json, '"b"') + assert.equal(tholder.num, 11); + assert.notEqual(tholder.satisfy([1, 2, 3]), true) + assert.equal(tholder.satisfy([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]), true) + + tholder = new Tholder({sith: 11}); + assert.equal(tholder.thold, 11); + assert.equal(tholder.size, 11); + assert.deepEqual(tholder.limen, new Uint8Array([77, 65, 115, 65])); + assert.equal(tholder.sith, 'b') + assert.equal(tholder.json, '"b"') + assert.equal(tholder.num, 11); + assert.notEqual(tholder.satisfy([1, 2, 3]), true) + assert.equal(tholder.satisfy([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]), true) + + tholder = new Tholder({thold: 2}); + assert.equal(tholder.thold, 2); + assert.equal(tholder.size, 2); + assert.deepEqual(tholder.limen, new Uint8Array([77, 65, 73, 65])); + assert.equal(tholder.sith, '2') + assert.equal(tholder.json, '"2"') + assert.equal(tholder.num, 2); + assert.notEqual(tholder.satisfy([1]), true) + assert.equal(tholder.satisfy([1, 2]), true) + assert.equal(tholder.satisfy([1, 2, 3, 4]), true) + + assert.throws(() => { + new Tholder({sith: -1}) + }) + + assert.throws(() => { + tholder = new Tholder({sith: ["1/2", "1/2", ["1/3", "1/3", "1/3"]]}) + }) + + assert.throws(() => { + tholder = new Tholder({sith: [["1/2", "1/2"], ["1/4", "1/4", "1/4"]]}) + }) + + // math.fractional Weights + tholder = new Tholder({sith: ["1/2", "1/2", "1/4", "1/4", "1/4"]}) + assert.equal(tholder.weighted, true) + assert.equal(tholder.size, 5) + assert.deepStrictEqual(tholder.thold, [[ + math.fraction("1/2"), + math.fraction("1/2"), + math.fraction("1/4"), + math.fraction("1/4"), + math.fraction("1/4") + ]]) + assert.equal(tholder.satisfy([0, 1]), true) + assert.equal(tholder.satisfy([0, 2, 4]), true) + assert.equal(tholder.satisfy([1, 3, 4]), true) + assert.equal(tholder.satisfy([0, 1, 2, 3, 4]), true) + assert.equal(tholder.satisfy([0, 2, 3]), true) + assert.equal(tholder.satisfy([0, 0, 1, 2, 1]), true) + assert.notEqual(tholder.satisfy([0]), true) + assert.notEqual(tholder.satisfy([0, 2]), true) + assert.notEqual(tholder.satisfy([2, 3, 4]), true) + + tholder = new Tholder({sith: [["1/2", "1/2", "1/2"], ["1/3", "1/3", "1/3", "1/3"]]}) + assert.equal(tholder.weighted, true) + assert.equal(tholder.size, 7) + assert.deepStrictEqual(tholder.sith, [["1/2", "1/2", "1/2"], ["1/3", "1/3", "1/3", "1/3"]]) + assert.deepStrictEqual(tholder.thold, [ + [ + math.fraction(1, 2), + math.fraction(1, 2), + math.fraction(1, 2) + ], + [ + math.fraction(1, 3), + math.fraction(1, 3), + math.fraction(1, 3), + math.fraction(1, 3) + ] + ]) + assert.equal(tholder.satisfy([0, 2, 3, 5, 6]), true) + assert.equal(tholder.satisfy([1, 2, 3, 4, 5]), true) + assert.notEqual(tholder.satisfy([0, 1]), true) + assert.notEqual(tholder.satisfy([0, 2]), true) + assert.notEqual(tholder.satisfy([4, 5, 6]), true) + assert.notEqual(tholder.satisfy([1, 4, 5, 6]), true) + + tholder = new Tholder({sith: '[["1/2", "1/2", "1/4", "1/4", "1/4"], ["1/1", "1"]]'}) + assert.equal(tholder.weighted, true) + assert.equal(tholder.size, 7) + assert.deepStrictEqual(tholder.sith, [["1/2", "1/2", "1/4", "1/4", "1/4"], ["1", "1"]]) + assert.deepStrictEqual(tholder.thold, [[math.fraction(1, 2), + math.fraction(1, 2), + math.fraction(1, 4), + math.fraction(1, 4), + math.fraction(1, 4)], + [math.fraction(1, 1), math.fraction(1, 1)]]) + assert.equal(tholder.satisfy([1, 2, 3, 5]), true) + assert.equal(tholder.satisfy([0, 1, 6]), true) + assert.notEqual(tholder.satisfy([0, 1]), true) + assert.notEqual(tholder.satisfy([5, 6]), true) + assert.notEqual(tholder.satisfy([2, 3, 4]), true) + assert.notEqual(tholder.satisfy([]), true) + + tholder = new Tholder({sith: [["1/2", "1/2", "1/4", "1/4", "1/4"], ["1/1", "1"]]}) + assert.equal(tholder.weighted, true) + assert.equal(tholder.size, 7) + assert.deepStrictEqual(tholder.sith, [["1/2", "1/2", "1/4", "1/4", "1/4"], ["1", "1"]]) + assert.deepStrictEqual(tholder.json, '[["1/2","1/2","1/4","1/4","1/4"],["1","1"]]') + assert.deepStrictEqual(tholder.thold, [[math.fraction(1, 2), + math.fraction(1, 2), + math.fraction(1, 4), + math.fraction(1, 4), + math.fraction(1, 4)], + [math.fraction(1, 1), math.fraction(1, 1)]]) + assert.equal(tholder.satisfy([1, 2, 3, 5]), true) + assert.equal(tholder.satisfy([0, 1, 6]), true) + assert.notEqual(tholder.satisfy([0, 1]), true) + assert.notEqual(tholder.satisfy([5, 6]), true) + assert.notEqual(tholder.satisfy([2, 3, 4]), true) + assert.notEqual(tholder.satisfy([]), true) + }) +}) \ No newline at end of file From 34a9b06086171b8a4727f86a4abafaa37bc09772 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 16:32:10 -0700 Subject: [PATCH 130/463] Fix tests after merge --- src/keri/app/signify.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 2199f97b..385de102 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -513,8 +513,8 @@ class Identifier { // if nsith is None: # compute default from newly rotated digers above if (nsith == undefined) nsith = `${Math.max(1, Math.ceil(ncount / 2)).toString(16)}` - let cst = new Tholder(isith).sith // current signing threshold - let nst = new Tholder(nsith).sith // next signing threshold + let cst = new Tholder({sith: isith}).sith // current signing threshold + let nst = new Tholder({sith: nsith}).sith // next signing threshold // Regenerate next keys to sign rotation event let keeper = this.client.manager!.get(hab) @@ -848,7 +848,6 @@ class Credentials { } async revoke_credential(name: string, cred: any, estOnly:boolean=false) { - console.log(send) let hab = await this.client.identifiers().get_identifier(name) let pre: string = hab["prefix"] From f536ccbfc6bdd0eb0aa3acb496e97ff6b656b2f3 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 16:38:23 -0700 Subject: [PATCH 131/463] Fix tests after merge --- src/keri/core/saider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keri/core/saider.ts b/src/keri/core/saider.ts index ebfedd3e..21715731 100644 --- a/src/keri/core/saider.ts +++ b/src/keri/core/saider.ts @@ -76,7 +76,7 @@ export class Saider extends Matter { } sad = {...sad} - sad[label] = "".padStart(Matter.Sizes.get(code)!.fs, Dummy) + sad[label] = "".padStart(Matter.Sizes.get(code)!.fs!, Dummy) if ('v' in sad) { [, , kind, sad, ] = sizeify(sad, kind) } From d91a48fbb05189bb76dfe5ce3d649f0437a2190e Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 16:52:57 -0700 Subject: [PATCH 132/463] Fix tests after merge --- src/keri/core/number.ts | 6 +++--- src/keri/core/prefixer.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/keri/core/number.ts b/src/keri/core/number.ts index e6a657df..cd7d7145 100644 --- a/src/keri/core/number.ts +++ b/src/keri/core/number.ts @@ -1,8 +1,8 @@ import {Matter, MatterArgs, NumDex} from "./matter"; import {intToBytes} from "./utils"; +import {readInt} from "./core"; export class CesrNumber extends Matter { - private readonly _num: number = 0; constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, num?: number | string, numh?: string) { let _num; if(raw == undefined && qb64 == undefined && qb64b == undefined && qb2 == undefined) { @@ -46,11 +46,11 @@ export class CesrNumber extends Matter { } get num(): number { - return this._num; + return readInt(this.raw); } get numh(): string { - return this._num.toString(16) + return this.num.toString(16) } get positive(): boolean { diff --git a/src/keri/core/prefixer.ts b/src/keri/core/prefixer.ts index 73a898b2..8603c72e 100644 --- a/src/keri/core/prefixer.ts +++ b/src/keri/core/prefixer.ts @@ -135,7 +135,7 @@ export class Prefixer extends Matter { throw new Error(`Invalid ilk = ${ilk} to derive pre.`) } - kd["i"] = "".padStart(Matter.Sizes.get(MtrDex.Blake3_256)!.fs, Dummy) + kd["i"] = "".padStart(Matter.Sizes.get(MtrDex.Blake3_256)!.fs!, Dummy) kd["d"] = ked["i"] let [raw] = sizeify(ked) const hasher = createHash(); From 9a45896a7f1b7d00232a9d2ad07acf22bb6a1524 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Fri, 14 Jul 2023 18:23:20 -0700 Subject: [PATCH 133/463] Updated to intToBytes and bytesToInt to make them actually work. The one thing left inherited from keri-js and it never actually worked. --- examples/scripts/package-lock.json | 2 ++ src/keri/app/controller.ts | 13 ++++++++---- src/keri/app/signify.ts | 4 ---- src/keri/core/number.ts | 5 ++--- src/keri/core/seqner.ts | 4 ++-- src/keri/core/utils.ts | 17 ++++++++++----- test/core/coring.test.ts | 26 +++++++++++++++++++++++ test/core/number.test.ts | 33 ++++++++++++++++++++++++++++++ test/core/seqner.test.ts | 21 +++++++++++++++++++ 9 files changed, 107 insertions(+), 18 deletions(-) create mode 100644 test/core/number.test.ts diff --git a/examples/scripts/package-lock.json b/examples/scripts/package-lock.json index bf561592..40a97808 100644 --- a/examples/scripts/package-lock.json +++ b/examples/scripts/package-lock.json @@ -30,6 +30,7 @@ "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", + "mathjs": "^11.8.2", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", @@ -2673,6 +2674,7 @@ "jest": "^29.3.1", "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", + "mathjs": "^11.8.2", "msgpack5": "^5.3.2", "size-limit": "^5.0.4", "structured-headers": "^0.5.0", diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index e26db892..7e1c3593 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -38,7 +38,7 @@ export class Agent { // } let [state, verfer, ] = this.event(agent); - this.sn = new CesrNumber(state['s']).num + this.sn = new CesrNumber({}, undefined, state['s']).num this.said = state['d'] if (state['et'] !== Ilks.dip) { @@ -90,12 +90,12 @@ export class Agent { let diger = new Diger({qb64: evt['n'][0]}); - let tholder = new Tholder(evt["kt"]); + let tholder = new Tholder({sith: evt["kt"]}); if (tholder.num !== 1) { throw new Error(`invalid threshold ${tholder.num}, must be 1`); } - let ntholder = new Tholder(evt["nt"]); + let ntholder = new Tholder({sith: evt["nt"]}); if (ntholder.num !== 1) { throw new Error(`invalid next threshold ${ntholder.num}, must be 1`); } @@ -152,13 +152,18 @@ export class Controller { let seqner = new Seqner({sn: _agent.sn}) let anchor = {i: _agent.pre, s: seqner.snh, d: _agent.said} + console.log(new CesrNumber({}, undefined, this.serder.ked["s"]).num) + let sn = new CesrNumber({}, undefined, this.serder.ked["s"]).num + 1 + console.log(sn) this.serder = interact({ pre:this.serder.pre, dig: this.serder.ked["d"], - sn: new CesrNumber(this.serder.ked["s"]).num + 1, + sn: sn, data:[anchor], version: Versionage, kind: Serials.JSON}) + console.log("SENDING EVENT") + console.log(this.serder.pretty()) return [this.signer.sign(this.serder.raw, 0).qb64] } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 385de102..9307a118 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -128,10 +128,6 @@ export class SignifyClient { if (_body !== null) { headers.set('Content-Length', String(_body.length)) } - else { - console.log("setting content length to 0") - headers.set('Content-Length', '0') - } let signed_headers = this.authn.sign(headers, method, path.split('?')[0]) //END Headers diff --git a/src/keri/core/number.ts b/src/keri/core/number.ts index cd7d7145..dc93e8f8 100644 --- a/src/keri/core/number.ts +++ b/src/keri/core/number.ts @@ -1,6 +1,5 @@ import {Matter, MatterArgs, NumDex} from "./matter"; -import {intToBytes} from "./utils"; -import {readInt} from "./core"; +import {bytesToInt, intToBytes} from "./utils"; export class CesrNumber extends Matter { constructor({raw, code, qb64b, qb64, qb2}: MatterArgs, num?: number | string, numh?: string) { @@ -46,7 +45,7 @@ export class CesrNumber extends Matter { } get num(): number { - return readInt(this.raw); + return bytesToInt(this.raw); } get numh(): string { diff --git a/src/keri/core/seqner.ts b/src/keri/core/seqner.ts index 8d4f827b..00d62361 100644 --- a/src/keri/core/seqner.ts +++ b/src/keri/core/seqner.ts @@ -19,7 +19,7 @@ export class Seqner extends Matter { } } - raw = intToBytes(sn,Matter._rawSize(MtrDex.Salt_128)) + raw = intToBytes(sn, Matter._rawSize(MtrDex.Salt_128)) } super({raw, code, qb64, qb64b, qb2, ...kwa}); @@ -30,7 +30,7 @@ export class Seqner extends Matter { } get sn(): number { - return bytesToInt(Buffer.from(this.raw))//To check if other readUInt64 is needed + return bytesToInt(this.raw) //To check if other readUInt64 is needed } get snh(): string { diff --git a/src/keri/core/utils.ts b/src/keri/core/utils.ts index 18715c02..fe68254b 100644 --- a/src/keri/core/utils.ts +++ b/src/keri/core/utils.ts @@ -99,14 +99,21 @@ export function range(start: number, stop: number, step: number) { export function intToBytes(value: number, length: number): Uint8Array { const byteArray = new Uint8Array(length); // Assuming a 4-byte integer (32 bits) - - for (let i = 0; i < length; i++) { - byteArray[i] = (value >> (i * 8)) & 0xff; + + for ( let index = 0; index < byteArray.length; index ++ ) { + let byte = value & 0xff; + byteArray [ index ] = byte; + value = (value - byte) / 256 ; } return byteArray; } -export function bytesToInt(buffer: Buffer): number { - return buffer.readInt32BE(0); +export function bytesToInt(ar: Uint8Array): number { + let value = 0; + for (let i = ar.length - 1; i >= 0; i--) { + value = (value * 256) + ar[i]; + } + + return value; } diff --git a/test/core/coring.test.ts b/test/core/coring.test.ts index 33a75ac3..f71024be 100644 --- a/test/core/coring.test.ts +++ b/test/core/coring.test.ts @@ -1,6 +1,7 @@ import libsodium from "libsodium-wrappers-sumo"; import {b, d, b64ToInt, intToB64, intToB64b} from "../../src/keri/core/core"; import {strict as assert} from "assert"; +import {bytesToInt, intToBytes} from "../../src/keri/core/utils"; describe('int to b64 and back', () => { @@ -88,3 +89,28 @@ describe('int to b64 and back', () => { assert.equal(i, 6011) }) }) + +describe('int to bytes and back', () => { + it('should encode and decode stuff', async () => { + let b = intToBytes(0, 8) + let n = bytesToInt(b) + assert.equal(n, 0) + b = intToBytes(1, 8) + n = bytesToInt(b) + assert.equal(n, 1) + + b = intToBytes(0, 16) + n = bytesToInt(b) + assert.equal(n, 0) + b = intToBytes(1, 16) + n = bytesToInt(b) + assert.equal(n, 1) + + b = intToBytes(0, 2) + n = bytesToInt(b) + assert.equal(n, 0) + b = intToBytes(1, 2) + n = bytesToInt(b) + assert.equal(n, 1) + }) +}) \ No newline at end of file diff --git a/test/core/number.test.ts b/test/core/number.test.ts new file mode 100644 index 00000000..46929aeb --- /dev/null +++ b/test/core/number.test.ts @@ -0,0 +1,33 @@ +import {strict as assert} from "assert"; +import {CesrNumber} from "../../src/keri/core/number"; + +describe('THolder', () => { + it('should hold thresholds', async () => { + let n = new CesrNumber({}, undefined, "0") + assert.equal(n.num, 0) + assert.equal(n.numh, "0") + n = new CesrNumber({}, 0) + assert.equal(n.num, 0) + assert.equal(n.numh, "0") + + n = new CesrNumber({}, 1) + assert.equal(n.num, 1) + assert.equal(n.numh, "1") + + n = new CesrNumber({}, 15) + assert.equal(n.num, 15) + assert.equal(n.numh, "f") + + n = new CesrNumber({}, undefined,"1") + assert.equal(n.num, 1) + assert.equal(n.numh, "1") + + n = new CesrNumber({}, undefined,"f") + assert.equal(n.num, 15) + assert.equal(n.numh, "f") + + n = new CesrNumber({}, undefined,"15") + assert.equal(n.num, 21) + assert.equal(n.numh, "15") + }) +}) \ No newline at end of file diff --git a/test/core/seqner.test.ts b/test/core/seqner.test.ts index a39dd391..0c188252 100644 --- a/test/core/seqner.test.ts +++ b/test/core/seqner.test.ts @@ -13,6 +13,27 @@ describe('Seqner', () => { assert.notStrictEqual(seqner.qb64b, new Uint8Array([ 48, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65 ])) assert.equal(seqner.raw.length, 16) assert.notStrictEqual(seqner.raw, new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])) + + seqner = new Seqner({snh: "1"}) + assert.equal(seqner.sn, 1) + assert.equal(seqner.snh, "1") + + seqner = new Seqner({sn: 1}) + assert.equal(seqner.sn, 1) + assert.equal(seqner.snh, "1") + + + seqner = new Seqner({sn: 16}) + assert.equal(seqner.sn, 16) + assert.equal(seqner.snh, "10") + + seqner = new Seqner({sn: 15}) + assert.equal(seqner.sn, 15) + assert.equal(seqner.snh, "f") + + seqner = new Seqner({snh: "f"}) + assert.equal(seqner.sn, 15) + assert.equal(seqner.snh, "f") }); }); From 3c86dbc8173e41ada7cfc1b915aea9aecbfa159e Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Sat, 15 Jul 2023 22:50:52 -0500 Subject: [PATCH 134/463] add rotate method to client --- .../signify-react-ts/src/TestsComponent.tsx | 4 +- .../src/test_components/Rotation.tsx | 56 ++++++++++++ src/keri/app/controller.ts | 86 +++++++++++-------- src/keri/app/signify.ts | 12 +++ src/keri/core/eventing.ts | 2 +- 5 files changed, 124 insertions(+), 36 deletions(-) create mode 100644 examples/signify-react-ts/src/test_components/Rotation.tsx diff --git a/examples/signify-react-ts/src/TestsComponent.tsx b/examples/signify-react-ts/src/TestsComponent.tsx index 3e865199..12e16b23 100644 --- a/examples/signify-react-ts/src/TestsComponent.tsx +++ b/examples/signify-react-ts/src/TestsComponent.tsx @@ -8,10 +8,12 @@ import { Witnesses } from "./test_components/Witnesses"; import { Multisig } from "./test_components/Multisig"; import { Credentials } from "./test_components/Credentials"; import { Challenges } from "./test_components/Challenges"; +import { Rotation } from "./test_components/Rotation"; export function TestsComponent() { return ( - <> + <> + < Rotation /> < Challenges /> < Credentials /> < Salty /> diff --git a/examples/signify-react-ts/src/test_components/Rotation.tsx b/examples/signify-react-ts/src/test_components/Rotation.tsx new file mode 100644 index 00000000..c29b57aa --- /dev/null +++ b/examples/signify-react-ts/src/test_components/Rotation.tsx @@ -0,0 +1,56 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, ready, Serder, Diger, MtrDex } from "signify-ts"; +import {strict as assert} from "assert"; +import { useState, useEffect } from 'react'; + + +export function Rotation() { + const [testResult, setTestResult] = useState(''); + useEffect(() => { + ready().then(() => { + console.log("signify client is ready") + }) + }, []) + + return ( + <> +
+ {testResult} +
+ + ) +} + + diff --git a/src/keri/app/controller.ts b/src/keri/app/controller.ts index 7e1c3593..44203f87 100644 --- a/src/keri/app/controller.ts +++ b/src/keri/app/controller.ts @@ -11,7 +11,7 @@ import { Verfer } from "../core/verfer"; import { Encrypter } from "../core/encrypter"; import { Decrypter } from "../core/decrypter"; import { Cipher } from "../core/cipher"; -import {Seqner } from "../core/seqner"; +import { Seqner } from "../core/seqner"; import { CesrNumber } from "../core/number"; export class Agent { @@ -19,8 +19,8 @@ export class Agent { anchor: string; verfer: Verfer | null; state: any | null; - sn : number | undefined; - said : string | undefined; + sn: number | undefined; + said: string | undefined; constructor(agent: any) { this.pre = ""; @@ -36,7 +36,7 @@ export class Agent { // if (kel.length < 1) { // throw new Error("invalid empty KEL"); // } - let [state, verfer, ] = this.event(agent); + let [state, verfer,] = this.event(agent); this.sn = new CesrNumber({}, undefined, state['s']).num this.said = state['d'] @@ -82,20 +82,20 @@ export class Agent { // throw new Error(`invalid signature on evt ${serder.ked['d']}`); // } - let verfer = new Verfer({qb64: evt['k'][0]}) + let verfer = new Verfer({ qb64: evt['k'][0] }) if (evt['n'].length !== 1) { throw new Error(`agent inception event can only have one next key`); } - let diger = new Diger({qb64: evt['n'][0]}); + let diger = new Diger({ qb64: evt['n'][0] }); - let tholder = new Tholder({sith: evt["kt"]}); + let tholder = new Tholder({ sith: evt["kt"] }); if (tholder.num !== 1) { throw new Error(`invalid threshold ${tholder.num}, must be 1`); } - let ntholder = new Tholder({sith: evt["nt"]}); + let ntholder = new Tholder({ sith: evt["nt"] }); if (ntholder.num !== 1) { throw new Error(`invalid next threshold ${ntholder.num}, must be 1`); } @@ -119,7 +119,7 @@ export class Controller { private keys: string[]; public ndigs: string[]; - constructor(bran: string, tier: Tier, ridx: number = 0, state: any|null = null) { + constructor(bran: string, tier: Tier, ridx: number = 0, state: any | null = null) { this.bran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed this.stem = "signify:controller" this.tier = tier @@ -134,7 +134,7 @@ export class Controller { this.keys = [this.signer.verfer.qb64] this.ndigs = [new Diger({ code: MtrDex.Blake3_256 }, this.nsigner.verfer.qb64b).qb64] - if (state == null || state['ee']['s'] == 0){ + if (state == null || state['ee']['s'] == 0) { this.serder = incept({ keys: this.keys, isith: "1", @@ -149,19 +149,19 @@ export class Controller { } } approveDelegation(_agent: Agent) { - - let seqner = new Seqner({sn: _agent.sn}) - let anchor = {i: _agent.pre, s: seqner.snh, d: _agent.said} + let seqner = new Seqner({ sn: _agent.sn }) + let anchor = { i: _agent.pre, s: seqner.snh, d: _agent.said } console.log(new CesrNumber({}, undefined, this.serder.ked["s"]).num) let sn = new CesrNumber({}, undefined, this.serder.ked["s"]).num + 1 console.log(sn) this.serder = interact({ - pre:this.serder.pre, - dig: this.serder.ked["d"], + pre: this.serder.pre, + dig: this.serder.ked["d"], sn: sn, - data:[anchor], + data: [anchor], version: Versionage, - kind: Serials.JSON}) + kind: Serials.JSON + }) console.log("SENDING EVENT") console.log(this.serder.pretty()) return [this.signer.sign(this.serder.raw, 0).qb64] @@ -198,9 +198,10 @@ export class Controller { } rotate(bran: string, aids: Array) { - let nbran = MtrDex.Salt_128 + 'A' + bran.substring(21) // qb64 salt for seed - let nsalter = new Salter({ qb64: nbran, tier:this.tier }) - let nsigner = this.salter.signer({ transferable: false }) + let nbran = MtrDex.Salt_128 + 'A' + bran.substring(0, 21) // qb64 salt for seed + let nsalter = new Salter({ qb64: nbran, tier: this.tier }) + let nsigner = this.salter.signer(undefined, false) + let creator = new SaltyCreator(this.salter.qb64, this.tier, this.stem) let signer = creator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() @@ -210,7 +211,7 @@ export class Controller { this.nsigner = ncreator.create(undefined, 1, MtrDex.Ed25519_Seed, true, 0, this.ridx + 1, 0, false).signers.pop() this.keys = [this.signer.verfer.qb64, signer?.verfer.qb64] - this.ndigs = [new Diger({ qb64: this.nsigner.verfer.qb64b }).qb64] + this.ndigs = [new Diger({}, this.nsigner.verfer.qb64b).qb64] let rot = rotate( { @@ -223,29 +224,41 @@ export class Controller { }) let sigs = [signer?.sign(b(rot.raw), 1, false, 0).qb64, this.signer.sign(rot.raw, 0).qb64] - - let encrypter = new Encrypter({ qb64: nsigner.verfer.qb64 }) - let decrypter = new Decrypter({ qb64: nsigner.qb64 }) - + let encrypter = new Encrypter({}, b(nsigner.verfer.qb64)) + let decrypter = new Decrypter({}, nsigner.qb64b) let sxlt = encrypter.encrypt(b(this.bran)).qb64 - let keys : Record = {} + let keys: Record = {} for (let aid of aids) { - let pre: string = aid["prefix"] as string + let pre: string = aid["prefix"] as string if ("salty" in aid) { + console.log("salty aid to rotate") + console.log(aid) let salty: any = aid["salty"] let cipher = new Cipher({ qb64: salty["sxlt"] }) let dnxt = decrypter.decrypt(null, cipher).qb64 // Now we have the AID salt, use it to verify against the current public keys - let acreator = new SaltyCreator(dnxt, salty["stem"], salty["tier"]) - let signers = acreator.create(salty["icodes"], salty["pidx"], salty["kidx"], salty["transferable"]) + let acreator = new SaltyCreator(dnxt, salty["tier"], salty["stem"]) + let signers = acreator.create( + salty["icodes"], + undefined, + MtrDex.Ed25519_Seed, + salty["transferable"], + salty["pidx"], + 0, + salty["kidx"], + false) + let _signers = [] + for (let signer of signers.signers) { + _signers.push(signer.verfer.qb64) + } let pubs = aid["state"]["k"] - if (pubs != signers.signers.forEach((signer) => { return signer.verfer.qb64 })) { - throw new Error(`unable to rotate, validation of salt to public keys ${pubs} failed`) + if (pubs.join(",") != _signers.join(",")) { + throw new Error("Invalid Salty AID") } let asxlt = encrypter.encrypt(b(dnxt)).qb64 @@ -262,12 +275,17 @@ export class Controller { let signers = [] for (let prx of prxs) { let cipher = new Cipher({ qb64: prx }) - let dsigner = decrypter.decrypt(null,cipher,true) + let dsigner = decrypter.decrypt(null, cipher, true) signers.push(dsigner) nprxs.push(encrypter.encrypt(b(dsigner.qb64)).qb64) } let pubs = aid["state"]["k"] - if (pubs != signers.forEach((signer) => { return signer.verfer.qb64 })) { + let _signers = [] + for (let signer of signers) { + _signers.push(signer.verfer.qb64) + } + + if (pubs.join(",") != _signers.join(",")) { throw new Error(`unable to rotate, validation of encrypted public keys ${pubs} failed`) } @@ -292,7 +310,7 @@ export class Controller { sigs: sigs, sxlt: sxlt, keys: keys - } + } return data } diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 9307a118..d7860ce3 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -233,6 +233,18 @@ export class SignifyClient { } }) } + + async rotate(nbran: string, aids: [string] ){ + let data = this.controller.rotate(nbran, aids) + await fetch(this.url + "/agent/" + this.controller.pre, { + method: "PUT", + body: JSON.stringify(data), + headers: { + "Content-Type": "application/json" + } + }) + + } identifiers() { return new Identifier(this) diff --git a/src/keri/core/eventing.ts b/src/keri/core/eventing.ts index 21112208..387b7788 100644 --- a/src/keri/core/eventing.ts +++ b/src/keri/core/eventing.ts @@ -38,7 +38,7 @@ export function rotate({ keys, dig = undefined, ilk = Ilks.rot, - sn = undefined, + sn = 1, isith = undefined, ndigs = undefined, nsith = undefined, From 357bfdd1c0fd98cb6a0ca279381463a6db71830e Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 17 Jul 2023 13:19:24 -0300 Subject: [PATCH 135/463] SignifyClient class --- .../src/test_components/Multisig.tsx | 4 +- .../src/test_components/Randy.tsx | 2 +- .../src/test_components/Salty.tsx | 2 +- src/keri/app/signify.ts | 67 ++++++++++--------- 4 files changed, 38 insertions(+), 37 deletions(-) diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index 68a3c452..be9c9be8 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -92,7 +92,7 @@ export function Multisig() { await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } const ixn = new Serder(op["response"]) - const events = await client.key_events() + const events = await client.keyEvents() const log = await events.get(ixn.pre) assert.equal(log.length, 2) op = await identifiers.rotate("aid1",{}) @@ -102,7 +102,7 @@ export function Multisig() { aid1 = await identifiers.get_identifier("aid1") agent0 = aid1["state"] - const keyState = await client.key_states() + const keyState = await client.keyStates() op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4",0) while (!op["done"]) { op = await operations.get(op["name"]); diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx index 125bf81e..26ec9d0f 100644 --- a/examples/signify-react-ts/src/test_components/Randy.tsx +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -60,7 +60,7 @@ export function Randy() { assert.equal(aids.length, 1) aid = aids[0] - const events = client.key_events() + const events = client.keyEvents() let log = await events.get(aid["prefix"]) assert.equal(log.length, 2) diff --git a/examples/signify-react-ts/src/test_components/Salty.tsx b/examples/signify-react-ts/src/test_components/Salty.tsx index 0d9da79a..b48a7f58 100644 --- a/examples/signify-react-ts/src/test_components/Salty.tsx +++ b/examples/signify-react-ts/src/test_components/Salty.tsx @@ -102,7 +102,7 @@ export function Salty() { assert.equal(state['d'], ixn.ked['d']) assert.equal(state['ee']['d'], rot.ked['d']) - const events = client.key_events() + const events = client.keyEvents() const log = await events.get(aid["prefix"]) assert.equal(log.length, 3) let serder = new Serder(log[0]) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 9307a118..13d6e903 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -2,16 +2,17 @@ import { Controller, Agent } from "./controller" import { Tier } from "../core/salter" import { Authenticater } from "../core/authing" import { KeyManager } from "../core/keeping" -import { Algos } from '../core/manager'; +import { Algos } from '../core/manager' import { incept, rotate, interact, reply, messagize } from "../core/eventing" -import { b, Serials, Versionage, Ilks, versify, Ident} from "../core/core"; -import { Tholder } from "../core/tholder"; -import { MtrDex } from "../core/matter"; -import { Saider } from "../core/saider"; -import { Serder } from "../core/serder"; -import { Siger } from "../core/siger"; -import { Prefixer } from "../core/prefixer"; -import { Salter } from "../core/salter"; +import { b, Serials, Versionage, Ilks, versify, Ident} from "../core/core" +import { Tholder } from "../core/tholder" +import { MtrDex } from "../core/matter" +import { Saider } from "../core/saider" +import { Serder } from "../core/serder" +import { Siger } from "../core/siger" +import { Prefixer } from "../core/prefixer" +import { Salter } from "../core/salter" + const KERIA_BOOT_URL = "http://localhost:3903" export class CredentialTypes { @@ -39,24 +40,24 @@ export class SignifyClient { public bran: string public pidx: number public agent: Agent | null - public authn: any - public session: any + public authn: Authenticater | null public manager: KeyManager | null public tier: Tier + public bootUrl: string - constructor(url: string, bran: string, tier: Tier = Tier.low) { - this.url = url; + constructor(url: string, bran: string, tier: Tier = Tier.low, bootUrl: string = KERIA_BOOT_URL) { + this.url = url if (bran.length < 21) { throw Error("bran must be 21 characters") } - this.bran = bran; - this.pidx = 0; + this.bran = bran + this.pidx = 0 this.controller = new Controller(bran, tier) this.authn = null this.agent = null this.manager = null this.tier = tier - + this.bootUrl = bootUrl } get data() { @@ -72,8 +73,7 @@ export class SignifyClient { pidx: 1, tier: this.controller?.tier }; - let _url = this.url.includes("localhost") ? KERIA_BOOT_URL : this.url; - const res = await fetch(_url + "/boot", { + const res = await fetch(this.bootUrl + "/boot", { method: "POST", body: JSON.stringify(data), headers: { @@ -102,10 +102,10 @@ export class SignifyClient { async connect() { let state = await this.state() this.pidx = state.pidx - //Create controller representing local auth AID + //Create controller representing the local client AID this.controller = new Controller(this.bran, this.tier, 0, state.controller) this.controller.ridx = state.ridx !== undefined ? state.ridx : 0 - // Create agent representing the AID of the cloud agent + // Create agent representing the AID of KERIA cloud agent this.agent = new Agent(state.agent) if (this.agent.anchor != this.controller.pre) { throw Error("commitment to controller AID missing in agent inception event") @@ -118,8 +118,10 @@ export class SignifyClient { } async fetch(path: string, method: string, data: any, _headers: any) { - //BEGIN Headers let headers = new Headers() + let signed_headers = new Headers() + let final_headers = new Headers() + headers.set('Signify-Resource', this.controller.pre) headers.set('Signify-Timestamp', new Date().toISOString().replace('Z', '000+00:00')) headers.set('Content-Type', 'application/json') @@ -128,11 +130,12 @@ export class SignifyClient { if (_body !== null) { headers.set('Content-Length', String(_body.length)) } - let signed_headers = this.authn.sign(headers, method, path.split('?')[0]) - //END Headers - - //add _headers to signed_headers - let final_headers = new Headers() + if (this.authn) { + signed_headers = this.authn.sign(headers, method, path.split('?')[0]) + } else { + throw new Error('client need to call connect first') + } + for (let [key, value] of signed_headers.entries()) { final_headers.set(key, value) } @@ -148,21 +151,19 @@ export class SignifyClient { headers: final_headers }); - - //BEGIN Verification if (!(res.status == 200 || res.status == 202)) { - throw new Error('Response status is not 200'); + throw new Error('response status is not 200'); } const isSameAgent = this.agent?.pre === res.headers.get('signify-resource'); if (!isSameAgent) { - throw new Error('Message from a different remote agent'); + throw new Error('message from a different remote agent'); } const verification = this.authn.verify(res.headers, method, path.split('?')[0]); if (verification) { return res; } else { - throw new Error('Response verification failed'); + throw new Error('response verification failed'); } } @@ -246,11 +247,11 @@ export class SignifyClient { return new Operations(this) } - key_events() { + keyEvents() { return new KeyEvents(this) } - key_states() { + keyStates() { return new KeyStates(this) } From 5c6c1896541fc54d6ed09a8df16083f906f74608 Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 17 Jul 2023 10:16:14 -0700 Subject: [PATCH 136/463] Some work towards delegated multisig AID and an update to Credentials.list to match the new KERIA API. --- examples/scripts/client.ts | 17 +++++++++++-- examples/scripts/create_multisig_aid.py | 3 ++- examples/scripts/create_person_aid.py | 17 ++++++++++--- examples/scripts/data/delegator.json | 13 ++++++++++ examples/scripts/data/multisig-triple.json | 5 ++-- examples/scripts/delegator.sh | 7 ++++++ examples/scripts/multisig-kli.sh | 1 + src/keri/app/signify.ts | 29 +++++++++++----------- 8 files changed, 69 insertions(+), 23 deletions(-) create mode 100644 examples/scripts/data/delegator.json create mode 100755 examples/scripts/delegator.sh diff --git a/examples/scripts/client.ts b/examples/scripts/client.ts index c0329da5..9f18dff0 100644 --- a/examples/scripts/client.ts +++ b/examples/scripts/client.ts @@ -52,6 +52,18 @@ async function connect() { console.log("Created AID: ", aid) + console.log("Resolving delegator...") + op = await oobis.resolve( + "http://127.0.0.1:5642/oobi/EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv" + + "_VmF_dJNN6vkf2Ha", + "delegator"); + while (!op["done"]) { + op = await operations.get(op["name"]); + await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second + } + console.log("done.") + // let delegator = op['response'] + console.log("Resolving multisig-kli...") op = await oobis.resolve( "http://127.0.0.1:5642/oobi/EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv" + @@ -67,7 +79,7 @@ async function connect() { console.log("Resolving multisig-sigpy...") op = await oobis.resolve( "http://127.0.0.1:3902/oobi/EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk/agent/EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz", - "internal"); + "multisig-sigpy"); while (!op["done"]) { op = await operations.get(op["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -81,13 +93,14 @@ async function connect() { let states = [sigPy, kli, sigTs] identifiers.create("multisig", { algo: "group", mhab: aid, - isith: ["1/2", "1/2", "1/2"], nsith: ["1/2", "1/2", "1/2"], + delpre: "EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7", toad: 2, wits: [ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" ], + isith: ["1/3", "1/3", "1/3"], nsith: ["1/3", "1/3", "1/3"], states: states, rstates: states }) diff --git a/examples/scripts/create_multisig_aid.py b/examples/scripts/create_multisig_aid.py index 071e2450..2ab70915 100644 --- a/examples/scripts/create_multisig_aid.py +++ b/examples/scripts/create_multisig_aid.py @@ -40,13 +40,14 @@ def create_multisig_aid(): print(json.dumps(state, indent=2)) op = identifiers.create("multisig", algo=Algos.group, mhab=aid, - isith=["1/2", "1/2", "1/2"], nsith=["1/2", "1/2", "1/2"], + delpre="EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7", toad=2, wits=[ "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" ], + isith=["1/3", "1/3", "1/3"], nsith=["1/3", "1/3", "1/3"], states=states, rstates=rstates) print("waiting on multisig creation...") diff --git a/examples/scripts/create_person_aid.py b/examples/scripts/create_person_aid.py index acdcf103..47a3310e 100644 --- a/examples/scripts/create_person_aid.py +++ b/examples/scripts/create_person_aid.py @@ -45,7 +45,17 @@ def create_aid(): identifiers.addEndRole("multisig-sigpy", eid=client.agent.pre) - print("person resolving multisig-kli...") + print("multisig-sigpy resolving delegator...") + op = oobis.resolve( + oobi="http://127.0.0.1:5642/oobi/EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7/witness/BBilc4-L3tFUnfM_wJr4S4OJ" + "anAv_VmF_dJNN6vkf2Ha", + alias="delegator") + while not op["done"]: + op = operations.get(op["name"]) + sleep(1) + print("... done") + + print("multisig-sigpy resolving multisig-kli...") op = oobis.resolve( oobi="http://127.0.0.1:5642/oobi/EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ/witness/BBilc4" "-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", @@ -57,9 +67,10 @@ def create_aid(): input(f"\nPress any key after multisig-sigts is created? ") - print("person resolving multisig-sigts...") + print("multisig-sigpy resolving multisig-sigts...") op = oobis.resolve( - oobi="http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei", + oobi="http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjt" + "jM5v3AcyA-pdKUcaGei", alias="multisig-sigts") while not op["done"]: op = operations.get(op["name"]) diff --git a/examples/scripts/data/delegator.json b/examples/scripts/data/delegator.json new file mode 100644 index 00000000..ad888229 --- /dev/null +++ b/examples/scripts/data/delegator.json @@ -0,0 +1,13 @@ +{ + "transferable": true, + "wits": [ + "BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha", + "BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM", + "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" + ], + "toad": 2, + "icount": 1, + "ncount": 1, + "isith": "1", + "nsith": "1" +} diff --git a/examples/scripts/data/multisig-triple.json b/examples/scripts/data/multisig-triple.json index c5c31e95..893c6078 100644 --- a/examples/scripts/data/multisig-triple.json +++ b/examples/scripts/data/multisig-triple.json @@ -1,4 +1,5 @@ { + "delpre": "EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7", "aids": [ "EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk", "EFBmwh8vdPTofoautCiEjjuA17gSlEnE3xc-xy-fGzWZ", @@ -11,6 +12,6 @@ "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX" ], "toad": 2, - "isith": ["1/2", "1/2", "1/2"], - "nsith": ["1/2", "1/2", "1/2"] + "isith": ["1/3", "1/3", "1/3"], + "nsith": ["1/3", "1/3", "1/3"] } diff --git a/examples/scripts/delegator.sh b/examples/scripts/delegator.sh new file mode 100755 index 00000000..460a4333 --- /dev/null +++ b/examples/scripts/delegator.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +kli init --name delegator --nopasscode --config-dir ${KERI_SCRIPT_DIR} --config-file demo-witness-oobis-schema --salt 0ACDEyMzQ1Njc4OWdoaWpsaw +kli incept --name delegator --alias delegator --file ${KERI_DEMO_SCRIPT_DIR}/data/delegator.json + + +# kli delegate confirm --name delegator --alias delegator -Y & diff --git a/examples/scripts/multisig-kli.sh b/examples/scripts/multisig-kli.sh index 71ef844c..003595b3 100755 --- a/examples/scripts/multisig-kli.sh +++ b/examples/scripts/multisig-kli.sh @@ -12,6 +12,7 @@ kli incept --name multisig-kli --alias multisig-kli --file "${KERI_DEMO_SCRIPT_D read -n 1 -r -p "Press any key after multisig-sigpy and multisig-sigts have been created:" +kli oobi resolve --name multisig-kli --oobi-alias delegator http://127.0.0.1:5642/oobi/EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha kli oobi resolve --name multisig-kli --oobi-alias multisig-sigpy --oobi http://127.0.0.1:3902/oobi/EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk/agent/EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz kli oobi resolve --name multisig-kli --oobi-alias multisig-sigts --oobi http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 9307a118..d04b056d 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -700,23 +700,22 @@ class Credentials { } //CredentialCollectionEnd //todo rename to list_credentials - async list(name: string, typ: CredentialTypes, schema: string) { - let path = `/identifiers/${name}/credentials` - //if type is not in the credential types, throw an error - if (!Object.values(CredentialTypes).includes(typ)) { - throw new Error("Invalid Credential Type") - } - //add typ and schema as query params - let params = new URLSearchParams() - params.append('type', typ.toString()) - if (schema !== '') { - params.append('schema', schema) - } - path = path + '?' + params.toString() + async list(name: string, kargs: {filter: object, sort: object[], skip: number, limit: number}) { + let path = `/identifiers/${name}/credentials/query` + let filtr = kargs.filter === undefined ? {} : kargs.filter; + let sort = kargs.sort === undefined ? [] : kargs.sort; + let limit = kargs.limit === undefined ? 25 : kargs.limit; + let skip = kargs.skip === undefined ? 0 : kargs.skip; - let method = 'GET' + let data = { + filter: filtr, + sort: sort, + skip: skip, + limt: limit + } + let method = 'POST' - let res = await this.client.fetch(path, method, null, undefined) + let res = await this.client.fetch(path, method, data, undefined) return await res.json() } //CredentialResourceEnd From 077ef9afcdca43690e42dc9b81569d5ee7e1683b Mon Sep 17 00:00:00 2001 From: pfeairheller Date: Mon, 17 Jul 2023 12:07:06 -0700 Subject: [PATCH 137/463] fix OOBI request in script --- examples/scripts/multisig-kli.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/scripts/multisig-kli.sh b/examples/scripts/multisig-kli.sh index 003595b3..3481adc3 100755 --- a/examples/scripts/multisig-kli.sh +++ b/examples/scripts/multisig-kli.sh @@ -12,7 +12,7 @@ kli incept --name multisig-kli --alias multisig-kli --file "${KERI_DEMO_SCRIPT_D read -n 1 -r -p "Press any key after multisig-sigpy and multisig-sigts have been created:" -kli oobi resolve --name multisig-kli --oobi-alias delegator http://127.0.0.1:5642/oobi/EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha +kli oobi resolve --name multisig-kli --oobi-alias delegator --oobi http://127.0.0.1:5642/oobi/EHpD0-CDWOdu5RJ8jHBSUkOqBZ3cXeDVHWNb_Ul89VI7/witness/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha kli oobi resolve --name multisig-kli --oobi-alias multisig-sigpy --oobi http://127.0.0.1:3902/oobi/EBcIURLpxmVwahksgrsGW6_dUw0zBhyEHYFk17eWrZfk/agent/EERMVxqeHfFo_eIvyzBXaKdT1EyobZdSs1QXuFyYLjmz kli oobi resolve --name multisig-kli --oobi-alias multisig-sigts --oobi http://127.0.0.1:3902/oobi/ELViLL4JCh-oktYca-pmPLwkmUaeYjyPmCLxELAKZW8V/agent/EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei From 5d6bbadde646b0994edc5117437ac19aa4ab8eeb Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 17 Jul 2023 16:55:08 -0300 Subject: [PATCH 138/463] methods in lowerCamel --- examples/scripts/client.ts | 2 +- .../signify-react-ts/src/MainComponent.tsx | 10 +-- examples/signify-react-ts/src/Signify.tsx | 8 +- .../src/test_components/Challenges.tsx | 14 ++-- .../src/test_components/Credentials.tsx | 12 +-- .../src/test_components/Multisig.tsx | 4 +- .../src/test_components/Randy.tsx | 6 +- .../src/test_components/Salty.tsx | 8 +- .../src/test_components/Witnesses.tsx | 6 +- src/keri/app/signify.ts | 80 +++++++++---------- 10 files changed, 73 insertions(+), 77 deletions(-) diff --git a/examples/scripts/client.ts b/examples/scripts/client.ts index c0329da5..3fcceff3 100644 --- a/examples/scripts/client.ts +++ b/examples/scripts/client.ts @@ -75,7 +75,7 @@ async function connect() { console.log("done.") let sigPy = op['response'] - aid = await identifiers.get_identifier("multisig-ts") + aid = await identifiers.get("multisig-ts") let sigTs = aid['state'] let states = [sigPy, kli, sigTs] diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index 9d2ae878..ee2f38f6 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -330,7 +330,7 @@ const IdentifiersComponent = ({ client }) => { const [identifiers, setIdentifiers] = useState(null) //async useeffect const getIdentifiers = async () => { - const list_identifiers = await client.list_identifiers() + const list_identifiers = await client.list() setIdentifiers(list_identifiers) console.log(list_identifiers) } @@ -399,7 +399,7 @@ const IdentifiersComponent = ({ client }) => { onClick={async () => { const length = identifiers.length.toString() await client.create(`aid${length}`, {}) - const list_identifiers = await client.list_identifiers() + const list_identifiers = await client.list() setIdentifiers(list_identifiers) }} > @@ -457,7 +457,7 @@ const IdentifierTable = ({ client }) => { const [selectedField, setSelectedField] = useState(''); //async useeffect const getIdentifiers = async () => { - const list_identifiers = await client.list_identifiers() + const list_identifiers = await client.list() setIdentifiers(list_identifiers) console.log(list_identifiers) } @@ -543,7 +543,7 @@ const IdentifierTable = ({ client }) => { //create identifier let _res = client.create(name, fields) - const list_identifiers = await client.list_identifiers() + const list_identifiers = await client.list() setIdentifiers(list_identifiers) handleClose(); }; @@ -731,7 +731,7 @@ const IdentifierTable = ({ client }) => { // onClick={async () => { // const length = identifiers.length.toString() // await client.create(`aid${length}`, {}) - // const list_identifiers = await client.list_identifiers() + // const list_identifiers = await client.list() // setIdentifiers(list_identifiers) // }} onClick={handleOpenCreate} diff --git a/examples/signify-react-ts/src/Signify.tsx b/examples/signify-react-ts/src/Signify.tsx index 870bc167..485b98de 100644 --- a/examples/signify-react-ts/src/Signify.tsx +++ b/examples/signify-react-ts/src/Signify.tsx @@ -92,7 +92,7 @@ export function Signify() { console.log('booted and connected up') } const identifiers = client.identifiers() - const resp = await identifiers.list_identifiers() + const resp = await identifiers.list() return JSON.stringify(resp, null, 2) } catch (e) { @@ -164,7 +164,7 @@ export function Signify() { console.log('booted and connected up') } const identifiers = client.identifiers() - const aids = await identifiers.list_identifiers() + const aids = await identifiers.list() const resp = await identifiers.rotate(aids[0]["name"], {}) return JSON.stringify(resp, null, 2) } @@ -189,8 +189,8 @@ export function Signify() { console.log('booted and connected up') } const identifiers = client.identifiers() - const aids = await identifiers.list_identifiers() - const resp = await identifiers.get_identifier(aids[0]["name"]) + const aids = await identifiers.list() + const resp = await identifiers.get(aids[0]["name"]) return JSON.stringify(resp, null, 2) } catch (e) { diff --git a/examples/signify-react-ts/src/test_components/Challenges.tsx b/examples/signify-react-ts/src/test_components/Challenges.tsx index 14ac8083..9c902772 100644 --- a/examples/signify-react-ts/src/test_components/Challenges.tsx +++ b/examples/signify-react-ts/src/test_components/Challenges.tsx @@ -30,9 +30,9 @@ export function Challenges() { const contacts1 = client1.contacts() const challenges1 = client1.challenges() const notifications1 = client1.notifications() - let challenge1_small = await challenges1.generate_challenge(128) + let challenge1_small = await challenges1.generate(128) assert.equal(challenge1_small.words.length, 12) - let challenge1_big = await challenges1.generate_challenge(256) + let challenge1_big = await challenges1.generate(256) assert.equal(challenge1_big.words.length, 24) let op1 = await identifiers1.create('alex', { toad: 2, @@ -82,13 +82,13 @@ export function Challenges() { op2 = await operations2.get(op2["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - await contacts1.list_contacts(undefined, undefined, undefined) - await challenges2.respond_challenge('rodo', aid1.i, challenge1_small.words) + await contacts1.list(undefined, undefined, undefined) + await challenges2.respond('rodo', aid1.i, challenge1_small.words) let challenge_received = false let contacts = [] while (!challenge_received) { - contacts = await contacts1.list_contacts(undefined, undefined, undefined) + contacts = await contacts1.list(undefined, undefined, undefined) if (contacts[0].challenges.length > 0 ){ if (JSON.stringify(contacts[0].challenges[0].words) == JSON.stringify(challenge1_small.words)) { challenge_received = true @@ -96,8 +96,8 @@ export function Challenges() { } await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second } - await challenges1.accept_challenge_response('alex', aid2.i, contacts[0].challenges[0].said) - await contacts1.list_contacts(undefined, undefined, undefined) + await challenges1.accept('alex', aid2.i, contacts[0].challenges[0].said) + await contacts1.list(undefined, undefined, undefined) setTestResult("Passed") } catch (e) { diff --git a/examples/signify-react-ts/src/test_components/Credentials.tsx b/examples/signify-react-ts/src/test_components/Credentials.tsx index fe066c16..ebe549bc 100644 --- a/examples/signify-react-ts/src/test_components/Credentials.tsx +++ b/examples/signify-react-ts/src/test_components/Credentials.tsx @@ -157,12 +157,12 @@ export function Credentials() { let registries = await client1.registries().list('issuer') - await client1.schemas().get_schema("EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao") - await client2.schemas().list_all_schemas() + await client1.schemas().get("EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao") + await client2.schemas().list() const vcdata = { "LEI": "5493001KJTIIGC8Y1R17" } - op1 = await client1.credentials().issue_credential('issuer',registries[0].regk, aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) + op1 = await client1.credentials().issue('issuer',registries[0].regk, aid2.i,'EBfdlu8R27Fbx-ehrqwImnK-8Cm79sqbAQ4MmvEAYqao',{},{},vcdata,false) while (!op1["done"]) { op1 = await operations1.get(op1["name"]); await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -172,11 +172,11 @@ export function Credentials() { await client1.credentials().list('issuer',CredentialTypes.issued,'') await client2.credentials().list('recipient',CredentialTypes.received,'') - await client1.credentials().present_credential('issuer', creds[0].sad.d, 'verifier', true) + await client1.credentials().present('issuer', creds[0].sad.d, 'verifier', true) await new Promise(resolve => setTimeout(resolve, 5000)) await client3.credentials().list('verifier',CredentialTypes.received,'') - op1 = await client1.credentials().revoke_credential('issuer', creds[0], false) + op1 = await client1.credentials().revoke('issuer', creds[0], false) // while (!op1["done"]) { // op1 = await operations1.get(op1["name"]); // await new Promise(resolve => setTimeout(resolve, 1000)); // sleep for 1 second @@ -186,7 +186,7 @@ export function Credentials() { await client2.credentials().list('recipient',CredentialTypes.issued,'') await client3.credentials().list('verifier',CredentialTypes.issued,'') - await client1.credentials().present_credential('issuer', creds[0].sad.d, 'verifier', true) + await client1.credentials().present('issuer', creds[0].sad.d, 'verifier', true) await new Promise(resolve => setTimeout(resolve, 5000)) await client3.credentials().list('verifier',CredentialTypes.received,'') setTestResult("Passed") diff --git a/examples/signify-react-ts/src/test_components/Multisig.tsx b/examples/signify-react-ts/src/test_components/Multisig.tsx index be9c9be8..31aba63f 100644 --- a/examples/signify-react-ts/src/test_components/Multisig.tsx +++ b/examples/signify-react-ts/src/test_components/Multisig.tsx @@ -60,7 +60,7 @@ export function Multisig() { } let multisig2 = op["response"] - let aid1 = await identifiers.get_identifier("aid1") + let aid1 = await identifiers.get("aid1") let agent0 = aid1["state"] let rstates = [multisig2, multisig1, agent0] let states = rstates @@ -100,7 +100,7 @@ export function Multisig() { const rot = op['response'] serder = new Serder(rot) - aid1 = await identifiers.get_identifier("aid1") + aid1 = await identifiers.get("aid1") agent0 = aid1["state"] const keyState = await client.keyStates() op = await keyState.query("EKYLUMmNPZeEs77Zvclf0bSN5IN-mLfLpx2ySb-HDlk4",0) diff --git a/examples/signify-react-ts/src/test_components/Randy.tsx b/examples/signify-react-ts/src/test_components/Randy.tsx index 26ec9d0f..730713fb 100644 --- a/examples/signify-react-ts/src/test_components/Randy.tsx +++ b/examples/signify-react-ts/src/test_components/Randy.tsx @@ -30,7 +30,7 @@ export function Randy() { assert.equal(client.agent?.pre, 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei') assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const identifiers = client.identifiers() - let aids = await identifiers.list_identifiers() + let aids = await identifiers.list() assert.equal(aids.length, 0) let op = await identifiers.create('aid1', {algo: 'randy'}) @@ -43,7 +43,7 @@ export function Randy() { assert.equal(icp.ked['nt'], '1') - aids = await identifiers.list_identifiers() + aids = await identifiers.list() assert.equal(aids.length, 1) aid = aids[0] assert.equal(aid.name, 'aid1') @@ -56,7 +56,7 @@ export function Randy() { assert.equal(ixn.ked['s'], '1') assert.deepEqual(ixn.ked['a'], [icp.pre]) - aids = await identifiers.list_identifiers() + aids = await identifiers.list() assert.equal(aids.length, 1) aid = aids[0] diff --git a/examples/signify-react-ts/src/test_components/Salty.tsx b/examples/signify-react-ts/src/test_components/Salty.tsx index b48a7f58..6b23e214 100644 --- a/examples/signify-react-ts/src/test_components/Salty.tsx +++ b/examples/signify-react-ts/src/test_components/Salty.tsx @@ -28,7 +28,7 @@ export function Salty() { assert.equal(client.agent?.pre, 'EEXekkGu9IAzav6pZVJhkLnjtjM5v3AcyA-pdKUcaGei') assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const identifiers = client.identifiers() - let aids = await identifiers.list_identifiers() + let aids = await identifiers.list() assert.equal(aids.length, 0) let op = await identifiers.create('aid1', {bran: '0123456789abcdefghijk'}) assert.equal(op['done'], true) @@ -41,7 +41,7 @@ export function Salty() { assert.equal(icp.digers[0].qb64, 'EAORnRtObOgNiOlMolji-KijC_isa3lRDpHCsol79cOc') assert.equal(icp.ked['kt'], '1') assert.equal(icp.ked['nt'], '1') - aids = await identifiers.list_identifiers() + aids = await identifiers.list() assert.equal(aids.length, 1) let aid = aids.pop() assert.equal(aid.name, 'aid1') @@ -65,7 +65,7 @@ export function Salty() { assert.equal(icp2.digers[2].qb64, 'ELplTAiEKdobFhlf-dh1vUb2iVDW0dYOSzs1dR7fQo60') assert.equal(icp2.ked['kt'], '2') assert.equal(icp2.ked['nt'], '2') - aids = await identifiers.list_identifiers() + aids = await identifiers.list() assert.equal(aids.length, 2) aid = aids[1] assert.equal(aid.name, 'aid2') @@ -93,7 +93,7 @@ export function Salty() { assert.equal(ixn.ked['s'], '2') assert.deepEqual(ixn.ked['a'], [icp.pre]) - aid = await identifiers.get_identifier("aid1") + aid = await identifiers.get("aid1") const state = aid["state"] assert.equal(state['s'], '2') diff --git a/examples/signify-react-ts/src/test_components/Witnesses.tsx b/examples/signify-react-ts/src/test_components/Witnesses.tsx index d04b47b5..9970d2a5 100644 --- a/examples/signify-react-ts/src/test_components/Witnesses.tsx +++ b/examples/signify-react-ts/src/test_components/Witnesses.tsx @@ -25,7 +25,7 @@ export function Witnesses() { assert.equal(client.agent?.anchor, 'ELI7pg979AdhmvrjDeam2eAO2SR5niCgnjAJXJHtJose') const identifiers = client.identifiers() const operations = client.operations() - let aids = await identifiers.list_identifiers() + let aids = await identifiers.list() assert.equal(aids.length, 0) let op = await identifiers.create('aid1', { @@ -51,12 +51,12 @@ export function Witnesses() { "BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"]) assert.equal(icp1.ked['bt'], '2') - const aid1 = await identifiers.get_identifier("aid1") + const aid1 = await identifiers.get("aid1") assert.equal(aid1.name, 'aid1') assert.equal(aid1.prefix, icp1.pre) assert.equal(aid1.windexes.length, 3) - aids = await identifiers.list_identifiers() + aids = await identifiers.list() assert.equal(aids.length, 1) const aid = aids.pop() assert.equal(aid.prefix, icp1.pre) diff --git a/src/keri/app/signify.ts b/src/keri/app/signify.ts index 13d6e903..7dd4a0d4 100644 --- a/src/keri/app/signify.ts +++ b/src/keri/app/signify.ts @@ -13,7 +13,7 @@ import { Siger } from "../core/siger" import { Prefixer } from "../core/prefixer" import { Salter } from "../core/salter" -const KERIA_BOOT_URL = "http://localhost:3903" +const DEFAULT_BOOT_URL = "http://localhost:3903" export class CredentialTypes { static issued = "issued" @@ -45,7 +45,7 @@ export class SignifyClient { public tier: Tier public bootUrl: string - constructor(url: string, bran: string, tier: Tier = Tier.low, bootUrl: string = KERIA_BOOT_URL) { + constructor(url: string, bran: string, tier: Tier = Tier.low, bootUrl: string = DEFAULT_BOOT_URL) { this.url = url if (bran.length < 21) { throw Error("bran must be 21 characters") @@ -168,7 +168,7 @@ export class SignifyClient { } async signedFetch(url: string, path: string, method: string, data: any, aidName: string) { - const hab = await this.identifiers().get_identifier(aidName) + const hab = await this.identifiers().get(aidName) const keeper = this.manager!.get(hab) const authenticator = new Authenticater(keeper.signers[0], keeper.signers[0].verfer) @@ -285,23 +285,23 @@ class Identifier { constructor(client: SignifyClient) { this.client = client } - //GET IdentifierCollectionEnd - async list_identifiers() { + + async list() { let path = `/identifiers` let data = null let method = 'GET' let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - //GET - async get_identifier(name: string) { + + async get(name: string) { let path = `/identifiers/${name}` let data = null let method = 'GET' let res = await this.client.fetch(path, method, data, undefined) return await res.json() } - //POST + async create(name: string, kargs: { transferable: boolean, @@ -443,10 +443,10 @@ class Identifier { let res = await this.client.fetch("/identifiers", "POST", jsondata, undefined) return res.json() } - //PUT IdentifierResourceEnd + async interact(name: string, data: any | undefined = undefined) { - let hab = await this.get_identifier(name) + let hab = await this.get(name) let pre: string = hab["prefix"] let state = hab["state"] @@ -469,7 +469,7 @@ class Identifier { return res.json() } - //PUT IdentifierResourceEnd + async rotate( name: string, kargs: { @@ -491,7 +491,7 @@ class Identifier { let ncount = kargs["ncount"] ?? 1 - let hab = await this.get_identifier(name) + let hab = await this.get(name) let pre = hab["prefix"] let state = hab["state"] @@ -554,9 +554,8 @@ class Identifier { let res = await this.client.fetch("/identifiers/" + name, "PUT", jsondata, undefined) return res.json() } - //POST EndRoleCollectionEnd async addEndRole(name: string, role: string, eid: string | undefined) { - const hab = await this.get_identifier(name) + const hab = await this.get(name) const pre = hab["prefix"] const rpy = this.makeEndRole(pre, role, eid) @@ -572,7 +571,6 @@ class Identifier { return res.json() } - //POST /end/role/add makeEndRole(pre: string, role: string, eid: string | undefined) { const data: any = { cid: pre, @@ -583,9 +581,7 @@ class Identifier { } const route = "/end/role/add" return reply(route, data, undefined, undefined, Serials.JSON) - } - } class Oobis { @@ -721,7 +717,7 @@ class Credentials { return await res.json() } //CredentialResourceEnd - async get_credential(name: string, said: string, includeCESR: boolean = false) { + async get(name: string, said: string, includeCESR: boolean = false) { let path = `/identifiers/${name}/credentials/${said}` let method = 'GET' let headers = includeCESR? new Headers({'Accept': 'application/json+cesr'}) : new Headers({'Accept': 'application/json'}) @@ -730,11 +726,11 @@ class Credentials { return includeCESR? await res.text() : await res.json() } - async issue_credential(name: string, registy: string, recipient: string|undefined, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false, estOnly:boolean=false) { + async issue(name: string, registy: string, recipient: string|undefined, schema: string, rules: any, source: any, credentialData: any, _private: boolean=false, estOnly:boolean=false) { // Create Credential - let hab = await this.client.identifiers().get_identifier(name) + let hab = await this.client.identifiers().get(name) let pre: string = hab["prefix"] const dt = new Date().toISOString().replace('Z', '000+00:00') @@ -844,8 +840,8 @@ class Credentials { } - async revoke_credential(name: string, cred: any, estOnly:boolean=false) { - let hab = await this.client.identifiers().get_identifier(name) + async revoke(name: string, cred: any, estOnly:boolean=false) { + let hab = await this.client.identifiers().get(name) let pre: string = hab["prefix"] const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) @@ -913,12 +909,12 @@ class Credentials { } - async present_credential(name: string, said: string, recipient: string, include: boolean=true) { + async present(name: string, said: string, recipient: string, include: boolean=true) { - let hab = await this.client.identifiers().get_identifier(name) + let hab = await this.client.identifiers().get(name) let pre: string = hab["prefix"] - let cred = await this.get_credential(name, said) + let cred = await this.get(name, said) let data = { i: cred.sad.i, s: cred.sad.s, @@ -967,9 +963,9 @@ class Credentials { } - async request_credential(name: string, recipient: string, schema: string, issuer: string) { + async request(name: string, recipient: string, schema: string, issuer: string) { - let hab = await this.client.identifiers().get_identifier(name) + let hab = await this.client.identifiers().get(name) let pre: string = hab["prefix"] let data = { @@ -1039,7 +1035,7 @@ class Registries { // TODO get estOnly from get_identifier ? // TODO generate random nonce if not provided - let hab = await this.client.identifiers().get_identifier(name) + let hab = await this.client.identifiers().get(name) let pre: string = hab["prefix"] const vs = versify(Ident.KERI, undefined, Serials.JSON, 0) @@ -1104,7 +1100,7 @@ class Schemas { this.client = client } //SchemaResourceEnd - async get_schema(said: string) { + async get(said: string) { let path = `/schema/${said}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -1113,7 +1109,7 @@ class Schemas { //SchemaCollectionEnd - async list_all_schemas() { + async list() { let path = `/schema` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) @@ -1130,18 +1126,18 @@ class Challenges { this.client = client } //ChallengeCollectionEnd - async generate_challenge(strength: number = 128) { + async generate(strength: number = 128) { let path = `/challenges?strength=${strength.toString()}` let method = 'GET' let res = await this.client.fetch(path, method, null, undefined) return await res.json() } //ChallengeResourceEnd - async respond_challenge(alias: string, recipient: string, words: string[]) { + async respond(alias: string, recipient: string, words: string[]) { let path = `/challenges/${alias}` let method = 'POST' - let hab = await this.client.identifiers().get_identifier(alias) + let hab = await this.client.identifiers().get(alias) let pre: string = hab["prefix"] let data = { i: pre, @@ -1187,7 +1183,7 @@ class Challenges { } } //ChallengeResourceEnd - async accept_challenge_response(alias: string, pre: string, said: string) { + async accept(alias: string, pre: string, said: string) { let path = `/challenges/${alias}` let method = 'PUT' let data = { @@ -1207,7 +1203,7 @@ class Contacts { this.client = client } - async list_contacts(group:string|undefined, filterField:string|undefined, filterValue:string|undefined) { + async list(group:string|undefined, filterField:string|undefined, filterValue:string|undefined) { let params = new URLSearchParams() if (group !== undefined) {params.append('group', group)} if (filterField !== undefined && filterValue !== undefined) {params.append(filterField, filterValue)} @@ -1219,7 +1215,7 @@ class Contacts { } - async get_contact(pre:string) { + async get(pre:string) { let path = `/contacts/`+ pre let method = 'GET' @@ -1228,7 +1224,7 @@ class Contacts { } - async add_contact(pre: string, info: any) { + async add(pre: string, info: any) { let path = `/contacts/`+ pre let method = 'POST' @@ -1236,7 +1232,7 @@ class Contacts { return await res.json() } - async delete_contact(pre: string) { + async delete(pre: string) { let path = `/contacts/`+ pre let method = 'DELETE' @@ -1244,7 +1240,7 @@ class Contacts { return await res.json() } - async update_contact(pre: string, info: any) { + async update(pre: string, info: any) { let path = `/contacts/`+pre let method = 'PUT' @@ -1260,7 +1256,7 @@ class Notifications { this.client = client } - async list_notifications(last:string|undefined, limit:number|undefined) { + async list(last:string|undefined, limit:number|undefined) { let params = new URLSearchParams() if (last !== undefined) {params.append('last', last)} if (limit !== undefined) {params.append('limit', limit.toString())} @@ -1272,7 +1268,7 @@ class Notifications { } - async mark_notification(said:string) { + async mark(said:string) { let path = `/notifications/`+ said let method = 'PUT' @@ -1281,7 +1277,7 @@ class Notifications { } - async delete_notification(said:string) { + async delete(said:string) { let path = `/notifications/`+ said let method = 'DELETE' From 6e0e4e16927f481ee4fd007bbaddc5b87f5f8de2 Mon Sep 17 00:00:00 2001 From: Rodolfo Miranda Date: Mon, 17 Jul 2023 23:14:05 -0300 Subject: [PATCH 139/463] typing --- examples/signify-react-ts/package-lock.json | 1 + .../signify-react-ts/src/MainComponent.tsx | 88 ++--- examples/signify-react-ts/src/Signify.tsx | 6 +- examples/signify-react-ts/src/SignifyDemo.tsx | 2 +- .../src/test_components/Challenges.tsx | 1 - .../src/test_components/Credentials.tsx | 8 - .../src/test_components/Multisig.tsx | 4 +- .../src/test_components/Randy.tsx | 9 +- .../src/test_components/Salty.tsx | 2 +- src/index.ts | 1 + src/keri/app/signify.ts | 327 ++++++++---------- 11 files changed, 209 insertions(+), 240 deletions(-) diff --git a/examples/signify-react-ts/package-lock.json b/examples/signify-react-ts/package-lock.json index 08695541..aea27033 100644 --- a/examples/signify-react-ts/package-lock.json +++ b/examples/signify-react-ts/package-lock.json @@ -45,6 +45,7 @@ "collections": "^5.1.12", "libsodium-wrappers-sumo": "^0.7.9", "lodash": "^4.17.21", + "mathjs": "^11.8.2", "msgpack5": "^5.3.2", "structured-headers": "^0.5.0", "text-encoding": "^0.7.0", diff --git a/examples/signify-react-ts/src/MainComponent.tsx b/examples/signify-react-ts/src/MainComponent.tsx index ee2f38f6..41699230 100644 --- a/examples/signify-react-ts/src/MainComponent.tsx +++ b/examples/signify-react-ts/src/MainComponent.tsx @@ -1,10 +1,12 @@ -import React, { useEffect, useState } from 'react'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { SignifyClient, Identifier} from 'signify-ts'; +import { SetStateAction, useEffect, useState } from 'react'; import { AppBar, Paper, Toolbar, DialogTitle, - DialogContentText, DialogContent, Modal, DialogActions, @@ -34,9 +36,9 @@ import { Circle, Delete, Menu } from '@mui/icons-material'; import AddIcon from '@mui/icons-material/Add'; import { TestsComponent } from './TestsComponent'; -import { SignifyClient } from 'signify-ts'; -const tableObject = { + +const tableObject:any = { v: { title: "Version String", description: "", @@ -156,14 +158,14 @@ const tableObject = { const MainComponent = () => { const [selectedComponent, setSelectedComponent] = useState(null); - const [client, setClient] = useState(null); // [pre, icp, key + const [client, setClient] = useState(null); const [open, setOpen] = useState(false); const [drawerOpen, setDrawerOpen] = useState(false); // Open drawer by default const [url, setUrl] = useState(''); const [passcode, setPasscode] = useState(''); const [status, setStatus] = useState('Not Connected'); - const toggleDrawer = (open) => (event) => { + const toggleDrawer = (open:boolean) => (event:any) => { if (event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) { return; } @@ -179,7 +181,7 @@ const MainComponent = () => { setOpen(false); }; - const renderComponent = (componentName) => { + const renderComponent = (componentName: SetStateAction) => { setSelectedComponent(componentName); }; @@ -221,13 +223,13 @@ const MainComponent = () => {
- {['Identifiers', 'Credentials', 'Client', 'Tests'].map((text, index) => ( + {['Identifiers', 'Credentials', 'Client', 'Tests'].map((text) => ( renderComponent(text)}> @@ -252,8 +254,8 @@ const MainComponent = () => { sx={{ width: 300 }} value={url} fullWidth - onChange={(event, newValue) => { - setUrl(newValue); + onChange={(_event, newValue) => { + setUrl(newValue!); }} /> @@ -296,7 +298,7 @@ const MainComponent = () => { - +

s1o@NJ}B1_~G$+C?NJ!aMXA7Z;;N9xD9X+9SB_ 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 Gr2GXM)r_40 literal 0 HcmV?d00001 diff --git a/examples/signify-react-ts/tests/integrations.js b/examples/signify-react-ts/tests/integrations.js index aa190d92..a695235d 100644 --- a/examples/signify-react-ts/tests/integrations.js +++ b/examples/signify-react-ts/tests/integrations.js @@ -44,6 +44,9 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; //STATUS: CONNECTED const inner_html = await page.evaluate(() => document.querySelector('button:disabled').innerHTML); //closte button + await page.waitForTimeout(1000) + await page.screenshot({ path: 'connecting.png', fullPage: true }) + const Closebutton = await page.$x("//button[contains(., 'Close')]"); await Closebutton[0].click(); //getting the menu button @@ -55,9 +58,12 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; const clientRoute = await page.$x("//li[contains(., 'Client')]"); await page.waitForTimeout(1000) await clientRoute[0].click(); + console.log('going to identifiers') await page.waitForTimeout(2000) //wait for 5 seconds before closing //getting the menu button + await page.screenshot({ path: 'client.png', fullPage: true }) + const bb1 = await page.$x("//button[@aria-label='menu']") //clicking the menu button await bb1[0].click(); @@ -76,7 +82,9 @@ import StealthPlugin from 'puppeteer-extra-plugin-stealth'; //rotate first identifier const rotates = await page.$x("//button[contains(., 'Rotate')]"); await rotates[1].click(); - await page.waitForTimeout(9000) + await page.waitForTimeout(5000) + await page.screenshot({ path: 'identifier.png', fullPage: true }) + //close button await browser.close(); console.log(inner_html) From 21fba5331f7c9a16a0ede03e73fc144cfec14ac3 Mon Sep 17 00:00:00 2001 From: AlexAndrei98 Date: Wed, 31 May 2023 08:04:43 -0500 Subject: [PATCH 065/463] add examples --- examples/signify-react-ts/client.png | Bin 347070 -> 348934 bytes examples/signify-react-ts/connecting.png | Bin 88466 -> 95905 bytes examples/signify-react-ts/identifier.png | Bin 316351 -> 341725 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/signify-react-ts/client.png b/examples/signify-react-ts/client.png index ff5ce479d00d930f219e407d2fc52779f71de476..d0f1737c4ea0775d0ff3b94eb8dbaec6b5487324 100644 GIT binary patch literal 348934 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 %W3h+u^%!aZ9`f@j#~ZgVE~s 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 literal 347070 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.^5_#pj|n#XYWeyY!f}xe2?sqOx23 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