├── .github ├── dependabot.yml └── workflows │ └── ci.yml ├── .gitignore ├── .prettierrc ├── README.md ├── challenges ├── async-communicator │ ├── package.json │ ├── src │ │ └── index.ts │ └── tsconfig.json ├── data-layer │ ├── babel.config.js │ ├── package.json │ ├── src │ │ └── index.ts │ ├── tests │ │ ├── data-layer.test.ts │ │ ├── datastore-type-test.ts │ │ ├── entity-type-test.ts │ │ └── tsconfig.json │ └── tsconfig.json └── jquery-clone │ ├── babel.config.js │ ├── package.json │ ├── src │ └── index.ts │ ├── tests │ ├── core-api.test.ts │ ├── tsconfig.json │ └── types-test.ts │ ├── tsconfig.json │ └── yarn.lock ├── games └── Jeopardy-1.pptx ├── package.json ├── scripts ├── build.sh └── test.sh ├── tsconfig.json └── yarn.lock /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "npm" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | versioning-strategy: widen 13 | open-pull-requests-limit: 20 -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | pull_request: 5 | branches: [solutions] 6 | paths: 7 | - 'challenges/**' 8 | - '.github/**' 9 | - 'package.json' 10 | - 'yarn.lock' 11 | push: 12 | branches: [solutions] 13 | paths: 14 | - 'challenges/**' 15 | - '.github/**' 16 | - 'package.json' 17 | - 'yarn.lock' 18 | jobs: 19 | build: 20 | runs-on: ubuntu-latest 21 | steps: 22 | - uses: actions/checkout@v2 23 | - uses: volta-cli/action@v1 24 | - run: | 25 | yarn 26 | - name: Build 27 | run: yarn build 28 | - name: Test 29 | run: yarn test 30 | 31 | os-compatibility: 32 | needs: build 33 | runs-on: ${{ matrix.os }} 34 | strategy: 35 | matrix: 36 | os: 37 | - windows-latest 38 | steps: 39 | - uses: actions/checkout@v2 40 | - uses: volta-cli/action@v1 41 | - run: | 42 | yarn 43 | - name: Build 44 | run: yarn build 45 | - name: Test 46 | run: yarn test 47 | 48 | node-compatibility: 49 | needs: build 50 | runs-on: ubuntu-latest 51 | 52 | strategy: 53 | matrix: 54 | node-version: [14.x, 16.x] 55 | steps: 56 | - uses: actions/checkout@v2 57 | - uses: volta-cli/action@v1 58 | with: 59 | node-version: ${{ matrix.node-version }} 60 | - run: | 61 | yarn 62 | - name: Build 63 | run: yarn build 64 | - name: Test 65 | run: yarn test 66 | 67 | 68 | ts-compatibility: 69 | needs: build 70 | runs-on: ubuntu-latest 71 | continue-on-error: ${{ matrix.experimental }} 72 | strategy: 73 | matrix: 74 | typescript-version: ['~4.2.0', '~4.3.0', '~4.4.0','~4.5.0', latest, next, beta, rc] 75 | include: 76 | - typescript-version: '~4.2.0' 77 | experimental: false 78 | name: 'ts-4.2' 79 | - typescript-version: '~4.3.0' 80 | experimental: false 81 | name: 'ts-4.3' 82 | - typescript-version: '~4.4.0' 83 | experimental: false 84 | name: 'ts-4.4' 85 | - typescript-version: '~4.5.0' 86 | experimental: false 87 | name: 'ts-4.5' 88 | - typescript-version: latest 89 | experimental: false 90 | name: 'ts-stable' 91 | - typescript-version: beta 92 | experimental: false 93 | name: 'ts-beta' 94 | - typescript-version: rc 95 | experimental: true 96 | name: 'ts-rc' 97 | - typescript-version: next 98 | experimental: true 99 | name: 'ts-canary' 100 | 101 | 102 | steps: 103 | - uses: actions/checkout@v2 104 | - uses: volta-cli/action@v1 105 | - run: | 106 | yarn 107 | - name: Installing TypeScript ${{ matrix.typescript-version }} 108 | run: | 109 | yarn add -WD typescript@${{ matrix.typescript-version}} 110 | - name: Build 111 | run: yarn build 112 | - name: Test 113 | run: yarn test 114 | 115 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | .pnpm-debug.log* 9 | 10 | # Diagnostic reports (https://nodejs.org/api/report.html) 11 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 12 | 13 | # Runtime data 14 | pids 15 | *.pid 16 | *.seed 17 | *.pid.lock 18 | 19 | # Directory for instrumented libs generated by jscoverage/JSCover 20 | lib-cov 21 | 22 | # Coverage directory used by tools like istanbul 23 | coverage 24 | *.lcov 25 | 26 | # nyc test coverage 27 | .nyc_output 28 | 29 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 30 | .grunt 31 | 32 | # Bower dependency directory (https://bower.io/) 33 | bower_components 34 | 35 | # node-waf configuration 36 | .lock-wscript 37 | 38 | # Compiled binary addons (https://nodejs.org/api/addons.html) 39 | build/Release 40 | 41 | # Dependency directories 42 | node_modules/ 43 | jspm_packages/ 44 | 45 | # Snowpack dependency directory (https://snowpack.dev/) 46 | web_modules/ 47 | 48 | # TypeScript cache 49 | *.tsbuildinfo 50 | 51 | # Optional npm cache directory 52 | .npm 53 | 54 | # Optional eslint cache 55 | .eslintcache 56 | 57 | # Optional stylelint cache 58 | .stylelintcache 59 | 60 | # Microbundle cache 61 | .rpt2_cache/ 62 | .rts2_cache_cjs/ 63 | .rts2_cache_es/ 64 | .rts2_cache_umd/ 65 | 66 | # Optional REPL history 67 | .node_repl_history 68 | 69 | # Output of 'npm pack' 70 | *.tgz 71 | 72 | # Yarn Integrity file 73 | .yarn-integrity 74 | 75 | # dotenv environment variable files 76 | .env 77 | .env.development.local 78 | .env.test.local 79 | .env.production.local 80 | .env.local 81 | 82 | # parcel-bundler cache (https://parceljs.org/) 83 | .cache 84 | .parcel-cache 85 | 86 | # Next.js build output 87 | .next 88 | out 89 | 90 | # Nuxt.js build / generate output 91 | .nuxt 92 | dist 93 | 94 | # Gatsby files 95 | .cache/ 96 | # Comment in the public line in if your project uses Gatsby and not Next.js 97 | # https://nextjs.org/blog/next-9-1#public-directory-support 98 | # public 99 | 100 | # vuepress build output 101 | .vuepress/dist 102 | 103 | # vuepress v2.x temp and cache directory 104 | .temp 105 | .cache 106 | 107 | # Docusaurus cache and generated files 108 | .docusaurus 109 | 110 | # Serverless directories 111 | .serverless/ 112 | 113 | # FuseBox cache 114 | .fusebox/ 115 | 116 | # DynamoDB Local files 117 | .dynamodb/ 118 | 119 | # TernJS port file 120 | .tern-port 121 | 122 | # Stores VSCode versions used for testing VSCode extensions 123 | .vscode-test 124 | 125 | # yarn v2 126 | .yarn/cache 127 | .yarn/unplugged 128 | .yarn/build-state.yml 129 | .yarn/install-state.gz 130 | .pnp.* 131 | ~*.pptx 132 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 2, 3 | "useTabs": false, 4 | "printWidth": 80 5 | } 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Making TypeScript Stick [![CI](https://github.com/mike-north/making-typescript-stick/actions/workflows/ci.yml/badge.svg)](https://github.com/mike-north/making-typescript-stick/actions/workflows/ci.yml) 2 | 3 | Mike North's "Making TypeScript Stick" course. 4 | 5 | - **Course Video:** [Making TypeScript Stick | Frontend Masters](https://frontendmasters.com/workshops/typescript-practice/) 6 | - **Course Website:** [Making TypeScript Stick](https://www.typescript-training.com/course/making-typescript-stick) 7 | 8 | ## Setup 9 | 10 | First, make sure you have Volta installed. 11 | 12 | ```sh 13 | # install Volta 14 | curl https://get.volta.sh | bash 15 | 16 | # install Node 17 | volta install node 18 | 19 | # start using Node 20 | node 21 | ``` 22 | 23 | Next, check out this project. 24 | 25 | ```sh 26 | git clone git@github.com:mike-north/making-typescript-stick 27 | cd making-typescript-stick 28 | ``` 29 | 30 | Then, install dependencies 31 | 32 | ```sh 33 | yarn 34 | ``` 35 | 36 | ## Legal 37 | 38 | © 2022 Michael North, All Rights Reserved 39 | -------------------------------------------------------------------------------- /challenges/async-communicator/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "async-communicator", 3 | "version": "0.0.0", 4 | "main": "dist/index.js", 5 | "license": "MIT", 6 | "private": true, 7 | "scripts": { 8 | "build": "tsc -b .", 9 | "test": "yarn build" 10 | }, 11 | "devDependencies": { 12 | "tsd": "^0.19.1", 13 | "typescript": "^4.6.2" 14 | }, 15 | "volta": { 16 | "node": "16.14.0", 17 | "yarn": "1.22.17" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /challenges/async-communicator/src/index.ts: -------------------------------------------------------------------------------- 1 | import { expectType } from "tsd"; 2 | 3 | // IMPLEMENT THIS TYPE 4 | export type WrapForPenpal = any; 5 | 6 | /** 7 | * Test Scenario - Do not change anything below this line 8 | */ 9 | const methods = { 10 | add(a: number, b: number): number { 11 | return a + b; 12 | }, 13 | subtract(a: number, b: number): number { 14 | return a - b; 15 | }, 16 | }; 17 | const asyncMethods: WrapForPenpal = {} as any; 18 | 19 | let addPromise = asyncMethods.add(1, 2); 20 | expectType>(addPromise); 21 | // @ts-expect-error 22 | expectType("this should fail"); 23 | 24 | let subtractPromise = asyncMethods.subtract(1, 2); 25 | expectType>(subtractPromise); 26 | // @ts-expect-error 27 | expectType("this should fail"); 28 | -------------------------------------------------------------------------------- /challenges/async-communicator/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "es2017", 5 | "moduleResolution": "Node", 6 | "strict": true, 7 | "noUncheckedIndexedAccess": true, 8 | "useUnknownInCatchVariables": true, 9 | "exactOptionalPropertyTypes": true, 10 | "noImplicitAny": true, 11 | "noImplicitOverride": true, 12 | "noEmit": true 13 | }, 14 | "include": ["src"] 15 | } 16 | -------------------------------------------------------------------------------- /challenges/data-layer/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | ["@babel/preset-env", { targets: { node: "current" } }], 4 | "@babel/preset-typescript", 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /challenges/data-layer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "data-layer", 3 | "version": "0.0.0", 4 | "main": "dist/index.js", 5 | "license": "MIT", 6 | "private": true, 7 | "scripts": { 8 | "build:src": "tsc -b .", 9 | "build:tests": "(cd tests && tsc -b .)", 10 | "build": "yarn build:src && yarn build:tests", 11 | "test": "jest" 12 | }, 13 | "devDependencies": { 14 | "@babel/preset-env": "^7.16.11", 15 | "@babel/preset-typescript": "^7.16.7", 16 | "@types/jest": "^27.4.1", 17 | "jest": "^27.5.1", 18 | "tsd": "^0.19.1", 19 | "typescript": "^4.6.2" 20 | }, 21 | "volta": { 22 | "node": "16.14.0", 23 | "yarn": "1.22.17" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /challenges/data-layer/src/index.ts: -------------------------------------------------------------------------------- 1 | export interface DataEntity { 2 | id: string; 3 | } 4 | export interface Movie extends DataEntity { 5 | director: string; 6 | } 7 | export interface Song extends DataEntity { 8 | singer: string; 9 | } 10 | 11 | export type DataEntityMap = { 12 | movie: Movie; 13 | song: Song; 14 | }; 15 | 16 | export class DataStore {} 17 | -------------------------------------------------------------------------------- /challenges/data-layer/tests/data-layer.test.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @jest-environment jsdom 3 | */ 4 | import { DataStore } from "../src"; 5 | 6 | test("module's default export is a class", () => { 7 | let ds = new DataStore(); 8 | expect(ds).toBeInstanceOf(DataStore); 9 | }); 10 | 11 | test("Initially getAllSongs() and getAllMovies() return empty arrays", () => { 12 | let ds = new DataStore(); 13 | expect(ds.getAllSongs()).toStrictEqual([]); 14 | expect(ds.getAllMovies()).toStrictEqual([]); 15 | }); 16 | 17 | test("addSong() and addMovie() accept arguments and return the newly added record", () => { 18 | let ds = new DataStore(); 19 | let song = { id: "1", singer: "Singer 1" }; 20 | let movie = { id: "back-to-the-future", director: "Stephen Spielberg" }; 21 | expect(ds.addSong(song)).toStrictEqual(song); 22 | expect(ds.addMovie(movie)).toStrictEqual(movie); 23 | }); 24 | 25 | test("addSong() and addMovie() result in getAllSongs() and getAllMovies() returning a longer list", () => { 26 | let ds = new DataStore(); 27 | let song = { id: "1", singer: "Singer 1" }; 28 | let movie = { id: "back-to-the-future", director: "Stephen Spielberg" }; 29 | ds.addSong(song); 30 | ds.addMovie(movie); 31 | expect(ds.getAllSongs()).toStrictEqual([song]); 32 | expect(ds.getAllMovies()).toStrictEqual([movie]); 33 | }); 34 | test("clearSongs() and clearMovies() result in getAllSongs() and getAllMovies() returning empty lists", () => { 35 | let ds = new DataStore(); 36 | let song = { id: "1", singer: "Singer 1" }; 37 | let movie = { id: "back-to-the-future", director: "Stephen Spielberg" }; 38 | ds.addSong(song); 39 | ds.addMovie(movie); 40 | expect(ds.getAllSongs()).toStrictEqual([song]); 41 | expect(ds.getAllMovies()).toStrictEqual([movie]); 42 | 43 | ds.clearSongs(); 44 | ds.clearMovies(); 45 | 46 | expect(ds.getAllSongs()).toStrictEqual([]); 47 | expect(ds.getAllMovies()).toStrictEqual([]); 48 | }); 49 | -------------------------------------------------------------------------------- /challenges/data-layer/tests/datastore-type-test.ts: -------------------------------------------------------------------------------- 1 | import { expectType } from "tsd"; 2 | 3 | import { DataStore, DataEntity, Song, Movie } from "../src"; 4 | 5 | let movie: Movie = { 6 | id: "1", 7 | director: "Steven Spielberg", 8 | }; 9 | 10 | let song: Song = { 11 | id: "2", 12 | singer: "The Beatles", 13 | }; 14 | 15 | /** 16 | * Method return values 17 | */ 18 | // DataStore.addMovie returns a Movie 19 | expectType>({} as Movie); 20 | // DataStore.addSong returns a Song 21 | expectType>({} as Song); 22 | 23 | // DataStore.getMovie returns a Movie 24 | expectType>({} as Movie); 25 | // DataStore.getSong returns a Song 26 | expectType>({} as Song); 27 | 28 | // DataStore.getAllMovies returns a Movie[] 29 | expectType>({} as Movie[]); 30 | // DataStore.getAllSongs returns a Song[] 31 | expectType>({} as Song[]); 32 | 33 | // DataStore.clearMovies returns a Movie[] 34 | expectType>(null); 35 | // DataStore.clearSongs returns a Song[] 36 | expectType>(null); 37 | 38 | /** 39 | * Arguments 40 | */ 41 | // DataStore.addMovie takes a Movie 42 | expectType>([movie]); 43 | // DataStore.getMovie takes an id 44 | expectType>([""]); 45 | // DataStore.getAllMovies takes no args 46 | expectType>([]); 47 | // DataStore.clearMovies takes no args 48 | expectType>([]); 49 | 50 | // DataStore.addSong takes a Song 51 | expectType>([song]); 52 | // DataStore.getSong takes an id 53 | expectType>([""]); 54 | // DataStore.getAllSongs takes no args 55 | expectType>([]); 56 | // DataStore.clearSongs takes no args 57 | expectType>([]); 58 | 59 | // Only the following methods/properties are available on the DataStore 60 | expectType< 61 | | "addSong" 62 | | "addMovie" 63 | | "getSong" 64 | | "getMovie" 65 | | "getAllSongs" 66 | | "getAllMovies" 67 | | "clearSongs" 68 | | "clearMovies" 69 | >("addSong" as keyof DataStore); 70 | -------------------------------------------------------------------------------- /challenges/data-layer/tests/entity-type-test.ts: -------------------------------------------------------------------------------- 1 | import { expectType } from "tsd"; 2 | 3 | import { DataStore, DataEntity, Song, Movie } from "../src"; 4 | 5 | 6 | expectType('1'); 7 | expectType('1'); 8 | expectType('abc'); 9 | expectType('abc'); 10 | 11 | // Only the following methods/properties are available on the Movie interface 12 | expectType< 13 | | "id" 14 | | "director" 15 | >("id" as keyof Movie); 16 | 17 | // Only the following methods/properties are available on the Movie interface 18 | expectType< 19 | | "id" 20 | | "singer" 21 | >("id" as keyof Song); 22 | -------------------------------------------------------------------------------- /challenges/data-layer/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["../src", "."] 4 | } 5 | -------------------------------------------------------------------------------- /challenges/data-layer/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "ES2020", 5 | "moduleResolution": "Node", 6 | "strict": true, 7 | "noUncheckedIndexedAccess": true, 8 | "useUnknownInCatchVariables": true, 9 | "exactOptionalPropertyTypes": true, 10 | "noImplicitAny": true, 11 | "noImplicitOverride": true, 12 | "noEmit": true 13 | }, 14 | "include": ["src"] 15 | } 16 | -------------------------------------------------------------------------------- /challenges/jquery-clone/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | ["@babel/preset-env", { targets: { node: "current" } }], 4 | "@babel/preset-typescript", 5 | ], 6 | }; 7 | -------------------------------------------------------------------------------- /challenges/jquery-clone/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-clone", 3 | "version": "0.0.0", 4 | "main": "dist/index.js", 5 | "license": "MIT", 6 | "private": true, 7 | "scripts": { 8 | "build:src": "tsc -b .", 9 | "build:tests": "(cd tests && tsc -b .)", 10 | "build": "yarn build:src && yarn build:tests", 11 | "test": "jest" 12 | }, 13 | "devDependencies": { 14 | "@babel/preset-env": "^7.16.11", 15 | "@babel/preset-typescript": "^7.16.7", 16 | "@types/jest": "^27.4.1", 17 | "@types/node-fetch": "^2.6.1", 18 | "jest": "^27.5.1", 19 | "typescript": "^4.6.2" 20 | }, 21 | "volta": { 22 | "node": "16.14.0", 23 | "yarn": "1.22.17" 24 | }, 25 | "dependencies": { 26 | "node-fetch": "^2.0.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /challenges/jquery-clone/src/index.ts: -------------------------------------------------------------------------------- 1 | import fetch from "node-fetch"; 2 | 3 | function $(selector: string): any { 4 | return {} as any; 5 | } 6 | 7 | namespace $ { 8 | export function ajax(...args: any[]): any { 9 | return {} as any; 10 | } 11 | } 12 | 13 | export default $; 14 | -------------------------------------------------------------------------------- /challenges/jquery-clone/tests/core-api.test.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @jest-environment jsdom 3 | */ 4 | import $ from "../src"; 5 | 6 | test("module's default export is a value", () => { 7 | expect($).toBeTruthy(); 8 | }); 9 | 10 | test("module's default export is a one-arg function", () => { 11 | expect(typeof $).toBe("function"); 12 | expect($.length).toBe(1); 13 | }); 14 | 15 | test("module's default export has an `.ajax` property that's a function", () => { 16 | expect(typeof $.ajax).toBe("function"); 17 | }); 18 | 19 | test("module's default export has an `.ajax` property that's a function", () => { 20 | expect(typeof $.ajax).toBe("function"); 21 | }); 22 | 23 | test('`$("button.continue")` returns something truthy', () => { 24 | const element = document.createElement("div"); 25 | element.id = "test-element"; 26 | element.innerHTML = ``; 27 | document.body.appendChild(element); 28 | 29 | const result = $("button.continue"); 30 | expect(result).toBeTruthy(); 31 | 32 | document.body.removeChild(element); 33 | }); 34 | 35 | test('`$("button.continue").html("Next Step...")` returns something truthy', () => { 36 | const element = document.createElement("div"); 37 | element.id = "test-element"; 38 | element.innerHTML = ``; 39 | document.body.appendChild(element); 40 | 41 | const result = $("button.continue"); 42 | expect(result).toBeTruthy(); 43 | result.html("Next Step..."); 44 | expect(document.querySelector("button.continue")!.innerHTML).toBe( 45 | "Next Step..." 46 | ); 47 | 48 | document.body.removeChild(element); 49 | }); 50 | test('`$("button.continue").hide()` makes button "visibility:hidden"', () => { 51 | const element = document.createElement("div"); 52 | element.id = "test-element"; 53 | element.innerHTML = ``; 54 | document.body.appendChild(element); 55 | 56 | const result = $("button.continue"); 57 | expect(result).toBeTruthy(); 58 | result.hide(); 59 | const button = document.querySelector("button.continue") as HTMLButtonElement; 60 | expect(button.style.visibility).toBe("hidden"); 61 | 62 | document.body.removeChild(element); 63 | }); 64 | test('`$("button.continue").hide()` makes button "visibility:hidden"', () => { 65 | const element = document.createElement("div"); 66 | element.id = "test-element"; 67 | element.innerHTML = ``; 68 | document.body.appendChild(element); 69 | 70 | const result = $("button.continue"); 71 | expect(result).toBeTruthy(); 72 | result.hide(); 73 | const button = document.querySelector("button.continue") as HTMLButtonElement; 74 | expect(button.style.visibility).toBe("hidden"); 75 | result.show(); 76 | expect(button.style.visibility).toBe("visible"); 77 | 78 | document.body.removeChild(element); 79 | }); 80 | test('`$("button.continue").on("click", () => {})` registers a working event listener', () => { 81 | const element = document.createElement("div"); 82 | element.id = "test-element"; 83 | element.innerHTML = ``; 84 | document.body.appendChild(element); 85 | 86 | const result = $("button.continue"); 87 | expect(result).toBeTruthy(); 88 | let clickCount = 0; 89 | result.on("click", function (evt) { 90 | clickCount++; 91 | }); 92 | const button = document.querySelector("button.continue") as HTMLButtonElement; 93 | expect(clickCount).toBe(0); 94 | button.click(); 95 | expect(clickCount).toBe(1); 96 | 97 | document.body.removeChild(element); 98 | }); 99 | test("`$.ajax test", async () => { 100 | const element = document.createElement("div"); 101 | element.id = "test-element"; 102 | element.innerHTML = `
`; 103 | document.body.appendChild(element); 104 | 105 | const result = await $.ajax({ 106 | url: "https://jsonplaceholder.typicode.com/posts/33", 107 | success: (result) => { 108 | if (result && typeof result === "object" && !Array.isArray(result)) { 109 | $("#post-info").html( 110 | "" + result.title + "" + result.body 111 | ); 112 | } 113 | }, 114 | }); 115 | 116 | expect(result).toBeTruthy(); 117 | expect(JSON.stringify(result)).toBe( 118 | '{"userId":4,"id":33,"title":"qui explicabo molestiae dolorem","body":"rerum ut et numquam laborum odit est sit\\nid qui sint in\\nquasi tenetur tempore aperiam et quaerat qui in\\nrerum officiis sequi cumque quod"}' 119 | ); 120 | }); 121 | -------------------------------------------------------------------------------- /challenges/jquery-clone/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["../src", "."] 4 | } 5 | -------------------------------------------------------------------------------- /challenges/jquery-clone/tests/types-test.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @jest-environment jsdom 3 | */ 4 | import { expectType } from "tsd"; 5 | 6 | import $ from "../src"; 7 | 8 | const hiddenBox = $("#banner-message"); 9 | $("#button-container button").on("click", function (event) { 10 | expectType(hiddenBox.show()); 11 | expectType(event); 12 | }); 13 | 14 | $.ajax({ 15 | url: "https://jsonplaceholder.typicode.com/posts/33", 16 | success: function (result) { 17 | $("#weather-temp").html("" + result + " degrees"); 18 | }, 19 | }); 20 | -------------------------------------------------------------------------------- /challenges/jquery-clone/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "target": "es2017", 5 | "moduleResolution": "Node", 6 | "strict": true, 7 | "noUncheckedIndexedAccess": true, 8 | "useUnknownInCatchVariables": true, 9 | "exactOptionalPropertyTypes": true, 10 | "noImplicitAny": true, 11 | "noImplicitOverride": true, 12 | "noEmit": true 13 | }, 14 | "include": ["src"] 15 | } 16 | -------------------------------------------------------------------------------- /challenges/jquery-clone/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.1.2" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" 8 | integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== 9 | dependencies: 10 | "@jridgewell/trace-mapping" "^0.3.0" 11 | 12 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": 13 | version "7.16.7" 14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 15 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 16 | dependencies: 17 | "@babel/highlight" "^7.16.7" 18 | 19 | "@babel/compat-data@^7.17.7": 20 | version "7.17.7" 21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" 22 | integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== 23 | 24 | "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": 25 | version "7.17.7" 26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.7.tgz#f7c28228c83cdf2dbd1b9baa06eaf9df07f0c2f9" 27 | integrity sha512-djHlEfFHnSnTAcPb7dATbiM5HxGOP98+3JLBZtjRb5I7RXrw7kFRoG2dXM8cm3H+o11A8IFH/uprmJpwFynRNQ== 28 | dependencies: 29 | "@ampproject/remapping" "^2.1.0" 30 | "@babel/code-frame" "^7.16.7" 31 | "@babel/generator" "^7.17.7" 32 | "@babel/helper-compilation-targets" "^7.17.7" 33 | "@babel/helper-module-transforms" "^7.17.7" 34 | "@babel/helpers" "^7.17.7" 35 | "@babel/parser" "^7.17.7" 36 | "@babel/template" "^7.16.7" 37 | "@babel/traverse" "^7.17.3" 38 | "@babel/types" "^7.17.0" 39 | convert-source-map "^1.7.0" 40 | debug "^4.1.0" 41 | gensync "^1.0.0-beta.2" 42 | json5 "^2.1.2" 43 | semver "^6.3.0" 44 | 45 | "@babel/generator@^7.17.3", "@babel/generator@^7.17.7", "@babel/generator@^7.7.2": 46 | version "7.17.7" 47 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.7.tgz#8da2599beb4a86194a3b24df6c085931d9ee45ad" 48 | integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== 49 | dependencies: 50 | "@babel/types" "^7.17.0" 51 | jsesc "^2.5.1" 52 | source-map "^0.5.0" 53 | 54 | "@babel/helper-compilation-targets@^7.17.7": 55 | version "7.17.7" 56 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" 57 | integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== 58 | dependencies: 59 | "@babel/compat-data" "^7.17.7" 60 | "@babel/helper-validator-option" "^7.16.7" 61 | browserslist "^4.17.5" 62 | semver "^6.3.0" 63 | 64 | "@babel/helper-environment-visitor@^7.16.7": 65 | version "7.16.7" 66 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" 67 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== 68 | dependencies: 69 | "@babel/types" "^7.16.7" 70 | 71 | "@babel/helper-function-name@^7.16.7": 72 | version "7.16.7" 73 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" 74 | integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== 75 | dependencies: 76 | "@babel/helper-get-function-arity" "^7.16.7" 77 | "@babel/template" "^7.16.7" 78 | "@babel/types" "^7.16.7" 79 | 80 | "@babel/helper-get-function-arity@^7.16.7": 81 | version "7.16.7" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" 83 | integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== 84 | dependencies: 85 | "@babel/types" "^7.16.7" 86 | 87 | "@babel/helper-hoist-variables@^7.16.7": 88 | version "7.16.7" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" 90 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== 91 | dependencies: 92 | "@babel/types" "^7.16.7" 93 | 94 | "@babel/helper-module-imports@^7.16.7": 95 | version "7.16.7" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" 97 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== 98 | dependencies: 99 | "@babel/types" "^7.16.7" 100 | 101 | "@babel/helper-module-transforms@^7.17.7": 102 | version "7.17.7" 103 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" 104 | integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== 105 | dependencies: 106 | "@babel/helper-environment-visitor" "^7.16.7" 107 | "@babel/helper-module-imports" "^7.16.7" 108 | "@babel/helper-simple-access" "^7.17.7" 109 | "@babel/helper-split-export-declaration" "^7.16.7" 110 | "@babel/helper-validator-identifier" "^7.16.7" 111 | "@babel/template" "^7.16.7" 112 | "@babel/traverse" "^7.17.3" 113 | "@babel/types" "^7.17.0" 114 | 115 | "@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.8.0": 116 | version "7.16.7" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" 118 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== 119 | 120 | "@babel/helper-simple-access@^7.17.7": 121 | version "7.17.7" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" 123 | integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== 124 | dependencies: 125 | "@babel/types" "^7.17.0" 126 | 127 | "@babel/helper-split-export-declaration@^7.16.7": 128 | version "7.16.7" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" 130 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== 131 | dependencies: 132 | "@babel/types" "^7.16.7" 133 | 134 | "@babel/helper-validator-identifier@^7.16.7": 135 | version "7.16.7" 136 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 137 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 138 | 139 | "@babel/helper-validator-option@^7.16.7": 140 | version "7.16.7" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" 142 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== 143 | 144 | "@babel/helpers@^7.17.7": 145 | version "7.17.7" 146 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.7.tgz#6fc0a24280fd00026e85424bbfed4650e76d7127" 147 | integrity sha512-TKsj9NkjJfTBxM7Phfy7kv6yYc4ZcOo+AaWGqQOKTPDOmcGkIFb5xNA746eKisQkm4yavUYh4InYM9S+VnO01w== 148 | dependencies: 149 | "@babel/template" "^7.16.7" 150 | "@babel/traverse" "^7.17.3" 151 | "@babel/types" "^7.17.0" 152 | 153 | "@babel/highlight@^7.16.7": 154 | version "7.16.10" 155 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" 156 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== 157 | dependencies: 158 | "@babel/helper-validator-identifier" "^7.16.7" 159 | chalk "^2.0.0" 160 | js-tokens "^4.0.0" 161 | 162 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.17.7": 163 | version "7.17.7" 164 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.7.tgz#fc19b645a5456c8d6fdb6cecd3c66c0173902800" 165 | integrity sha512-bm3AQf45vR4gKggRfvJdYJ0gFLoCbsPxiFLSH6hTVYABptNHY6l9NrhnucVjQ/X+SPtLANT9lc0fFhikj+VBRA== 166 | 167 | "@babel/plugin-syntax-async-generators@^7.8.4": 168 | version "7.8.4" 169 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 170 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 171 | dependencies: 172 | "@babel/helper-plugin-utils" "^7.8.0" 173 | 174 | "@babel/plugin-syntax-bigint@^7.8.3": 175 | version "7.8.3" 176 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 177 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 178 | dependencies: 179 | "@babel/helper-plugin-utils" "^7.8.0" 180 | 181 | "@babel/plugin-syntax-class-properties@^7.8.3": 182 | version "7.12.13" 183 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 184 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 185 | dependencies: 186 | "@babel/helper-plugin-utils" "^7.12.13" 187 | 188 | "@babel/plugin-syntax-import-meta@^7.8.3": 189 | version "7.10.4" 190 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 191 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 192 | dependencies: 193 | "@babel/helper-plugin-utils" "^7.10.4" 194 | 195 | "@babel/plugin-syntax-json-strings@^7.8.3": 196 | version "7.8.3" 197 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 198 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 199 | dependencies: 200 | "@babel/helper-plugin-utils" "^7.8.0" 201 | 202 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 203 | version "7.10.4" 204 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 205 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 206 | dependencies: 207 | "@babel/helper-plugin-utils" "^7.10.4" 208 | 209 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 210 | version "7.8.3" 211 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 212 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 213 | dependencies: 214 | "@babel/helper-plugin-utils" "^7.8.0" 215 | 216 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 217 | version "7.10.4" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 219 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 220 | dependencies: 221 | "@babel/helper-plugin-utils" "^7.10.4" 222 | 223 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 224 | version "7.8.3" 225 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 226 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 227 | dependencies: 228 | "@babel/helper-plugin-utils" "^7.8.0" 229 | 230 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 231 | version "7.8.3" 232 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 233 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 234 | dependencies: 235 | "@babel/helper-plugin-utils" "^7.8.0" 236 | 237 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 238 | version "7.8.3" 239 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 240 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 241 | dependencies: 242 | "@babel/helper-plugin-utils" "^7.8.0" 243 | 244 | "@babel/plugin-syntax-top-level-await@^7.8.3": 245 | version "7.14.5" 246 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 247 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 248 | dependencies: 249 | "@babel/helper-plugin-utils" "^7.14.5" 250 | 251 | "@babel/plugin-syntax-typescript@^7.7.2": 252 | version "7.16.7" 253 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz#39c9b55ee153151990fb038651d58d3fd03f98f8" 254 | integrity sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A== 255 | dependencies: 256 | "@babel/helper-plugin-utils" "^7.16.7" 257 | 258 | "@babel/template@^7.16.7", "@babel/template@^7.3.3": 259 | version "7.16.7" 260 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" 261 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== 262 | dependencies: 263 | "@babel/code-frame" "^7.16.7" 264 | "@babel/parser" "^7.16.7" 265 | "@babel/types" "^7.16.7" 266 | 267 | "@babel/traverse@^7.17.3", "@babel/traverse@^7.7.2": 268 | version "7.17.3" 269 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" 270 | integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== 271 | dependencies: 272 | "@babel/code-frame" "^7.16.7" 273 | "@babel/generator" "^7.17.3" 274 | "@babel/helper-environment-visitor" "^7.16.7" 275 | "@babel/helper-function-name" "^7.16.7" 276 | "@babel/helper-hoist-variables" "^7.16.7" 277 | "@babel/helper-split-export-declaration" "^7.16.7" 278 | "@babel/parser" "^7.17.3" 279 | "@babel/types" "^7.17.0" 280 | debug "^4.1.0" 281 | globals "^11.1.0" 282 | 283 | "@babel/types@^7.0.0", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 284 | version "7.17.0" 285 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" 286 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== 287 | dependencies: 288 | "@babel/helper-validator-identifier" "^7.16.7" 289 | to-fast-properties "^2.0.0" 290 | 291 | "@bcoe/v8-coverage@^0.2.3": 292 | version "0.2.3" 293 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 294 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 295 | 296 | "@istanbuljs/load-nyc-config@^1.0.0": 297 | version "1.1.0" 298 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 299 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 300 | dependencies: 301 | camelcase "^5.3.1" 302 | find-up "^4.1.0" 303 | get-package-type "^0.1.0" 304 | js-yaml "^3.13.1" 305 | resolve-from "^5.0.0" 306 | 307 | "@istanbuljs/schema@^0.1.2": 308 | version "0.1.3" 309 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 310 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 311 | 312 | "@jest/console@^27.5.1": 313 | version "27.5.1" 314 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" 315 | integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== 316 | dependencies: 317 | "@jest/types" "^27.5.1" 318 | "@types/node" "*" 319 | chalk "^4.0.0" 320 | jest-message-util "^27.5.1" 321 | jest-util "^27.5.1" 322 | slash "^3.0.0" 323 | 324 | "@jest/core@^27.5.1": 325 | version "27.5.1" 326 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" 327 | integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== 328 | dependencies: 329 | "@jest/console" "^27.5.1" 330 | "@jest/reporters" "^27.5.1" 331 | "@jest/test-result" "^27.5.1" 332 | "@jest/transform" "^27.5.1" 333 | "@jest/types" "^27.5.1" 334 | "@types/node" "*" 335 | ansi-escapes "^4.2.1" 336 | chalk "^4.0.0" 337 | emittery "^0.8.1" 338 | exit "^0.1.2" 339 | graceful-fs "^4.2.9" 340 | jest-changed-files "^27.5.1" 341 | jest-config "^27.5.1" 342 | jest-haste-map "^27.5.1" 343 | jest-message-util "^27.5.1" 344 | jest-regex-util "^27.5.1" 345 | jest-resolve "^27.5.1" 346 | jest-resolve-dependencies "^27.5.1" 347 | jest-runner "^27.5.1" 348 | jest-runtime "^27.5.1" 349 | jest-snapshot "^27.5.1" 350 | jest-util "^27.5.1" 351 | jest-validate "^27.5.1" 352 | jest-watcher "^27.5.1" 353 | micromatch "^4.0.4" 354 | rimraf "^3.0.0" 355 | slash "^3.0.0" 356 | strip-ansi "^6.0.0" 357 | 358 | "@jest/environment@^27.5.1": 359 | version "27.5.1" 360 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" 361 | integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== 362 | dependencies: 363 | "@jest/fake-timers" "^27.5.1" 364 | "@jest/types" "^27.5.1" 365 | "@types/node" "*" 366 | jest-mock "^27.5.1" 367 | 368 | "@jest/fake-timers@^27.5.1": 369 | version "27.5.1" 370 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" 371 | integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== 372 | dependencies: 373 | "@jest/types" "^27.5.1" 374 | "@sinonjs/fake-timers" "^8.0.1" 375 | "@types/node" "*" 376 | jest-message-util "^27.5.1" 377 | jest-mock "^27.5.1" 378 | jest-util "^27.5.1" 379 | 380 | "@jest/globals@^27.5.1": 381 | version "27.5.1" 382 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" 383 | integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== 384 | dependencies: 385 | "@jest/environment" "^27.5.1" 386 | "@jest/types" "^27.5.1" 387 | expect "^27.5.1" 388 | 389 | "@jest/reporters@^27.5.1": 390 | version "27.5.1" 391 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" 392 | integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== 393 | dependencies: 394 | "@bcoe/v8-coverage" "^0.2.3" 395 | "@jest/console" "^27.5.1" 396 | "@jest/test-result" "^27.5.1" 397 | "@jest/transform" "^27.5.1" 398 | "@jest/types" "^27.5.1" 399 | "@types/node" "*" 400 | chalk "^4.0.0" 401 | collect-v8-coverage "^1.0.0" 402 | exit "^0.1.2" 403 | glob "^7.1.2" 404 | graceful-fs "^4.2.9" 405 | istanbul-lib-coverage "^3.0.0" 406 | istanbul-lib-instrument "^5.1.0" 407 | istanbul-lib-report "^3.0.0" 408 | istanbul-lib-source-maps "^4.0.0" 409 | istanbul-reports "^3.1.3" 410 | jest-haste-map "^27.5.1" 411 | jest-resolve "^27.5.1" 412 | jest-util "^27.5.1" 413 | jest-worker "^27.5.1" 414 | slash "^3.0.0" 415 | source-map "^0.6.0" 416 | string-length "^4.0.1" 417 | terminal-link "^2.0.0" 418 | v8-to-istanbul "^8.1.0" 419 | 420 | "@jest/source-map@^27.5.1": 421 | version "27.5.1" 422 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" 423 | integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== 424 | dependencies: 425 | callsites "^3.0.0" 426 | graceful-fs "^4.2.9" 427 | source-map "^0.6.0" 428 | 429 | "@jest/test-result@^27.5.1": 430 | version "27.5.1" 431 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" 432 | integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== 433 | dependencies: 434 | "@jest/console" "^27.5.1" 435 | "@jest/types" "^27.5.1" 436 | "@types/istanbul-lib-coverage" "^2.0.0" 437 | collect-v8-coverage "^1.0.0" 438 | 439 | "@jest/test-sequencer@^27.5.1": 440 | version "27.5.1" 441 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" 442 | integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== 443 | dependencies: 444 | "@jest/test-result" "^27.5.1" 445 | graceful-fs "^4.2.9" 446 | jest-haste-map "^27.5.1" 447 | jest-runtime "^27.5.1" 448 | 449 | "@jest/transform@^27.5.1": 450 | version "27.5.1" 451 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" 452 | integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== 453 | dependencies: 454 | "@babel/core" "^7.1.0" 455 | "@jest/types" "^27.5.1" 456 | babel-plugin-istanbul "^6.1.1" 457 | chalk "^4.0.0" 458 | convert-source-map "^1.4.0" 459 | fast-json-stable-stringify "^2.0.0" 460 | graceful-fs "^4.2.9" 461 | jest-haste-map "^27.5.1" 462 | jest-regex-util "^27.5.1" 463 | jest-util "^27.5.1" 464 | micromatch "^4.0.4" 465 | pirates "^4.0.4" 466 | slash "^3.0.0" 467 | source-map "^0.6.1" 468 | write-file-atomic "^3.0.0" 469 | 470 | "@jest/types@^27.5.1": 471 | version "27.5.1" 472 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" 473 | integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== 474 | dependencies: 475 | "@types/istanbul-lib-coverage" "^2.0.0" 476 | "@types/istanbul-reports" "^3.0.0" 477 | "@types/node" "*" 478 | "@types/yargs" "^16.0.0" 479 | chalk "^4.0.0" 480 | 481 | "@jridgewell/resolve-uri@^3.0.3": 482 | version "3.0.5" 483 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" 484 | integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== 485 | 486 | "@jridgewell/sourcemap-codec@^1.4.10": 487 | version "1.4.11" 488 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" 489 | integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== 490 | 491 | "@jridgewell/trace-mapping@^0.3.0": 492 | version "0.3.4" 493 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" 494 | integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== 495 | dependencies: 496 | "@jridgewell/resolve-uri" "^3.0.3" 497 | "@jridgewell/sourcemap-codec" "^1.4.10" 498 | 499 | "@sinonjs/commons@^1.7.0": 500 | version "1.8.3" 501 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" 502 | integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== 503 | dependencies: 504 | type-detect "4.0.8" 505 | 506 | "@sinonjs/fake-timers@^8.0.1": 507 | version "8.1.0" 508 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" 509 | integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== 510 | dependencies: 511 | "@sinonjs/commons" "^1.7.0" 512 | 513 | "@tootallnate/once@1": 514 | version "1.1.2" 515 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 516 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 517 | 518 | "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": 519 | version "7.1.18" 520 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.18.tgz#1a29abcc411a9c05e2094c98f9a1b7da6cdf49f8" 521 | integrity sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ== 522 | dependencies: 523 | "@babel/parser" "^7.1.0" 524 | "@babel/types" "^7.0.0" 525 | "@types/babel__generator" "*" 526 | "@types/babel__template" "*" 527 | "@types/babel__traverse" "*" 528 | 529 | "@types/babel__generator@*": 530 | version "7.6.4" 531 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" 532 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 533 | dependencies: 534 | "@babel/types" "^7.0.0" 535 | 536 | "@types/babel__template@*": 537 | version "7.4.1" 538 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" 539 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 540 | dependencies: 541 | "@babel/parser" "^7.1.0" 542 | "@babel/types" "^7.0.0" 543 | 544 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": 545 | version "7.14.2" 546 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" 547 | integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== 548 | dependencies: 549 | "@babel/types" "^7.3.0" 550 | 551 | "@types/graceful-fs@^4.1.2": 552 | version "4.1.5" 553 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 554 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 555 | dependencies: 556 | "@types/node" "*" 557 | 558 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 559 | version "2.0.4" 560 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" 561 | integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== 562 | 563 | "@types/istanbul-lib-report@*": 564 | version "3.0.0" 565 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 566 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 567 | dependencies: 568 | "@types/istanbul-lib-coverage" "*" 569 | 570 | "@types/istanbul-reports@^3.0.0": 571 | version "3.0.1" 572 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 573 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 574 | dependencies: 575 | "@types/istanbul-lib-report" "*" 576 | 577 | "@types/node@*": 578 | version "17.0.21" 579 | resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644" 580 | integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ== 581 | 582 | "@types/prettier@^2.1.5": 583 | version "2.4.4" 584 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.4.tgz#5d9b63132df54d8909fce1c3f8ca260fdd693e17" 585 | integrity sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA== 586 | 587 | "@types/stack-utils@^2.0.0": 588 | version "2.0.1" 589 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 590 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 591 | 592 | "@types/yargs-parser@*": 593 | version "21.0.0" 594 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" 595 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== 596 | 597 | "@types/yargs@^16.0.0": 598 | version "16.0.4" 599 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" 600 | integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== 601 | dependencies: 602 | "@types/yargs-parser" "*" 603 | 604 | abab@^2.0.3, abab@^2.0.5: 605 | version "2.0.5" 606 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" 607 | integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== 608 | 609 | acorn-globals@^6.0.0: 610 | version "6.0.0" 611 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" 612 | integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== 613 | dependencies: 614 | acorn "^7.1.1" 615 | acorn-walk "^7.1.1" 616 | 617 | acorn-walk@^7.1.1: 618 | version "7.2.0" 619 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 620 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 621 | 622 | acorn@^7.1.1: 623 | version "7.4.1" 624 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 625 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 626 | 627 | acorn@^8.2.4: 628 | version "8.7.0" 629 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" 630 | integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== 631 | 632 | agent-base@6: 633 | version "6.0.2" 634 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 635 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 636 | dependencies: 637 | debug "4" 638 | 639 | ansi-escapes@^4.2.1: 640 | version "4.3.2" 641 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 642 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 643 | dependencies: 644 | type-fest "^0.21.3" 645 | 646 | ansi-regex@^5.0.1: 647 | version "5.0.1" 648 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 649 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 650 | 651 | ansi-styles@^3.2.1: 652 | version "3.2.1" 653 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 654 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 655 | dependencies: 656 | color-convert "^1.9.0" 657 | 658 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 659 | version "4.3.0" 660 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 661 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 662 | dependencies: 663 | color-convert "^2.0.1" 664 | 665 | ansi-styles@^5.0.0: 666 | version "5.2.0" 667 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 668 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 669 | 670 | anymatch@^3.0.3: 671 | version "3.1.2" 672 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 673 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 674 | dependencies: 675 | normalize-path "^3.0.0" 676 | picomatch "^2.0.4" 677 | 678 | argparse@^1.0.7: 679 | version "1.0.10" 680 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 681 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 682 | dependencies: 683 | sprintf-js "~1.0.2" 684 | 685 | asynckit@^0.4.0: 686 | version "0.4.0" 687 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 688 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 689 | 690 | babel-jest@^27.5.1: 691 | version "27.5.1" 692 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" 693 | integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== 694 | dependencies: 695 | "@jest/transform" "^27.5.1" 696 | "@jest/types" "^27.5.1" 697 | "@types/babel__core" "^7.1.14" 698 | babel-plugin-istanbul "^6.1.1" 699 | babel-preset-jest "^27.5.1" 700 | chalk "^4.0.0" 701 | graceful-fs "^4.2.9" 702 | slash "^3.0.0" 703 | 704 | babel-plugin-istanbul@^6.1.1: 705 | version "6.1.1" 706 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 707 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 708 | dependencies: 709 | "@babel/helper-plugin-utils" "^7.0.0" 710 | "@istanbuljs/load-nyc-config" "^1.0.0" 711 | "@istanbuljs/schema" "^0.1.2" 712 | istanbul-lib-instrument "^5.0.4" 713 | test-exclude "^6.0.0" 714 | 715 | babel-plugin-jest-hoist@^27.5.1: 716 | version "27.5.1" 717 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" 718 | integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== 719 | dependencies: 720 | "@babel/template" "^7.3.3" 721 | "@babel/types" "^7.3.3" 722 | "@types/babel__core" "^7.0.0" 723 | "@types/babel__traverse" "^7.0.6" 724 | 725 | babel-preset-current-node-syntax@^1.0.0: 726 | version "1.0.1" 727 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 728 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 729 | dependencies: 730 | "@babel/plugin-syntax-async-generators" "^7.8.4" 731 | "@babel/plugin-syntax-bigint" "^7.8.3" 732 | "@babel/plugin-syntax-class-properties" "^7.8.3" 733 | "@babel/plugin-syntax-import-meta" "^7.8.3" 734 | "@babel/plugin-syntax-json-strings" "^7.8.3" 735 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 736 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 737 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 738 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 739 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 740 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 741 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 742 | 743 | babel-preset-jest@^27.5.1: 744 | version "27.5.1" 745 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" 746 | integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== 747 | dependencies: 748 | babel-plugin-jest-hoist "^27.5.1" 749 | babel-preset-current-node-syntax "^1.0.0" 750 | 751 | balanced-match@^1.0.0: 752 | version "1.0.2" 753 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 754 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 755 | 756 | brace-expansion@^1.1.7: 757 | version "1.1.11" 758 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 759 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 760 | dependencies: 761 | balanced-match "^1.0.0" 762 | concat-map "0.0.1" 763 | 764 | braces@^3.0.1: 765 | version "3.0.2" 766 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 767 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 768 | dependencies: 769 | fill-range "^7.0.1" 770 | 771 | browser-process-hrtime@^1.0.0: 772 | version "1.0.0" 773 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 774 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 775 | 776 | browserslist@^4.17.5: 777 | version "4.20.0" 778 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.0.tgz#35951e3541078c125d36df76056e94738a52ebe9" 779 | integrity sha512-bnpOoa+DownbciXj0jVGENf8VYQnE2LNWomhYuCsMmmx9Jd9lwq0WXODuwpSsp8AVdKM2/HorrzxAfbKvWTByQ== 780 | dependencies: 781 | caniuse-lite "^1.0.30001313" 782 | electron-to-chromium "^1.4.76" 783 | escalade "^3.1.1" 784 | node-releases "^2.0.2" 785 | picocolors "^1.0.0" 786 | 787 | bser@2.1.1: 788 | version "2.1.1" 789 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 790 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 791 | dependencies: 792 | node-int64 "^0.4.0" 793 | 794 | buffer-from@^1.0.0: 795 | version "1.1.2" 796 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 797 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 798 | 799 | callsites@^3.0.0: 800 | version "3.1.0" 801 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 802 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 803 | 804 | camelcase@^5.3.1: 805 | version "5.3.1" 806 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 807 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 808 | 809 | camelcase@^6.2.0: 810 | version "6.3.0" 811 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 812 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 813 | 814 | caniuse-lite@^1.0.30001313: 815 | version "1.0.30001317" 816 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001317.tgz#0548fb28fd5bc259a70b8c1ffdbe598037666a1b" 817 | integrity sha512-xIZLh8gBm4dqNX0gkzrBeyI86J2eCjWzYAs40q88smG844YIrN4tVQl/RhquHvKEKImWWFIVh1Lxe5n1G/N+GQ== 818 | 819 | chalk@^2.0.0: 820 | version "2.4.2" 821 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 822 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 823 | dependencies: 824 | ansi-styles "^3.2.1" 825 | escape-string-regexp "^1.0.5" 826 | supports-color "^5.3.0" 827 | 828 | chalk@^4.0.0: 829 | version "4.1.2" 830 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 831 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 832 | dependencies: 833 | ansi-styles "^4.1.0" 834 | supports-color "^7.1.0" 835 | 836 | char-regex@^1.0.2: 837 | version "1.0.2" 838 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 839 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 840 | 841 | ci-info@^3.2.0: 842 | version "3.3.0" 843 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" 844 | integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== 845 | 846 | cjs-module-lexer@^1.0.0: 847 | version "1.2.2" 848 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 849 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 850 | 851 | cliui@^7.0.2: 852 | version "7.0.4" 853 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 854 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 855 | dependencies: 856 | string-width "^4.2.0" 857 | strip-ansi "^6.0.0" 858 | wrap-ansi "^7.0.0" 859 | 860 | co@^4.6.0: 861 | version "4.6.0" 862 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 863 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 864 | 865 | collect-v8-coverage@^1.0.0: 866 | version "1.0.1" 867 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 868 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 869 | 870 | color-convert@^1.9.0: 871 | version "1.9.3" 872 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 873 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 874 | dependencies: 875 | color-name "1.1.3" 876 | 877 | color-convert@^2.0.1: 878 | version "2.0.1" 879 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 880 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 881 | dependencies: 882 | color-name "~1.1.4" 883 | 884 | color-name@1.1.3: 885 | version "1.1.3" 886 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 887 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 888 | 889 | color-name@~1.1.4: 890 | version "1.1.4" 891 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 892 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 893 | 894 | combined-stream@^1.0.8: 895 | version "1.0.8" 896 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 897 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 898 | dependencies: 899 | delayed-stream "~1.0.0" 900 | 901 | concat-map@0.0.1: 902 | version "0.0.1" 903 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 904 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 905 | 906 | convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: 907 | version "1.8.0" 908 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 909 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 910 | dependencies: 911 | safe-buffer "~5.1.1" 912 | 913 | cross-spawn@^7.0.3: 914 | version "7.0.3" 915 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 916 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 917 | dependencies: 918 | path-key "^3.1.0" 919 | shebang-command "^2.0.0" 920 | which "^2.0.1" 921 | 922 | cssom@^0.4.4: 923 | version "0.4.4" 924 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" 925 | integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== 926 | 927 | cssom@~0.3.6: 928 | version "0.3.8" 929 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 930 | integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 931 | 932 | cssstyle@^2.3.0: 933 | version "2.3.0" 934 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" 935 | integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== 936 | dependencies: 937 | cssom "~0.3.6" 938 | 939 | data-urls@^2.0.0: 940 | version "2.0.0" 941 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" 942 | integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== 943 | dependencies: 944 | abab "^2.0.3" 945 | whatwg-mimetype "^2.3.0" 946 | whatwg-url "^8.0.0" 947 | 948 | debug@4, debug@^4.1.0, debug@^4.1.1: 949 | version "4.3.3" 950 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" 951 | integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== 952 | dependencies: 953 | ms "2.1.2" 954 | 955 | decimal.js@^10.2.1: 956 | version "10.3.1" 957 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" 958 | integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== 959 | 960 | dedent@^0.7.0: 961 | version "0.7.0" 962 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 963 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= 964 | 965 | deep-is@~0.1.3: 966 | version "0.1.4" 967 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 968 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 969 | 970 | deepmerge@^4.2.2: 971 | version "4.2.2" 972 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 973 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 974 | 975 | delayed-stream@~1.0.0: 976 | version "1.0.0" 977 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 978 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 979 | 980 | detect-newline@^3.0.0: 981 | version "3.1.0" 982 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 983 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 984 | 985 | diff-sequences@^27.5.1: 986 | version "27.5.1" 987 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" 988 | integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== 989 | 990 | domexception@^2.0.1: 991 | version "2.0.1" 992 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" 993 | integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== 994 | dependencies: 995 | webidl-conversions "^5.0.0" 996 | 997 | electron-to-chromium@^1.4.76: 998 | version "1.4.84" 999 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.84.tgz#2700befbcb49c42c4ee162e137ff392c07658249" 1000 | integrity sha512-b+DdcyOiZtLXHdgEG8lncYJdxbdJWJvclPNMg0eLUDcSOSO876WA/pYjdSblUTd7eJdIs4YdIxHWGazx7UPSJw== 1001 | 1002 | emittery@^0.8.1: 1003 | version "0.8.1" 1004 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" 1005 | integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== 1006 | 1007 | emoji-regex@^8.0.0: 1008 | version "8.0.0" 1009 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1010 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1011 | 1012 | error-ex@^1.3.1: 1013 | version "1.3.2" 1014 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1015 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1016 | dependencies: 1017 | is-arrayish "^0.2.1" 1018 | 1019 | escalade@^3.1.1: 1020 | version "3.1.1" 1021 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1022 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1023 | 1024 | escape-string-regexp@^1.0.5: 1025 | version "1.0.5" 1026 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1027 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1028 | 1029 | escape-string-regexp@^2.0.0: 1030 | version "2.0.0" 1031 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1032 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1033 | 1034 | escodegen@^2.0.0: 1035 | version "2.0.0" 1036 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" 1037 | integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== 1038 | dependencies: 1039 | esprima "^4.0.1" 1040 | estraverse "^5.2.0" 1041 | esutils "^2.0.2" 1042 | optionator "^0.8.1" 1043 | optionalDependencies: 1044 | source-map "~0.6.1" 1045 | 1046 | esprima@^4.0.0, esprima@^4.0.1: 1047 | version "4.0.1" 1048 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1049 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1050 | 1051 | estraverse@^5.2.0: 1052 | version "5.3.0" 1053 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1054 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1055 | 1056 | esutils@^2.0.2: 1057 | version "2.0.3" 1058 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1059 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1060 | 1061 | execa@^5.0.0: 1062 | version "5.1.1" 1063 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1064 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1065 | dependencies: 1066 | cross-spawn "^7.0.3" 1067 | get-stream "^6.0.0" 1068 | human-signals "^2.1.0" 1069 | is-stream "^2.0.0" 1070 | merge-stream "^2.0.0" 1071 | npm-run-path "^4.0.1" 1072 | onetime "^5.1.2" 1073 | signal-exit "^3.0.3" 1074 | strip-final-newline "^2.0.0" 1075 | 1076 | exit@^0.1.2: 1077 | version "0.1.2" 1078 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1079 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1080 | 1081 | expect@^27.5.1: 1082 | version "27.5.1" 1083 | resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" 1084 | integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== 1085 | dependencies: 1086 | "@jest/types" "^27.5.1" 1087 | jest-get-type "^27.5.1" 1088 | jest-matcher-utils "^27.5.1" 1089 | jest-message-util "^27.5.1" 1090 | 1091 | fast-json-stable-stringify@^2.0.0: 1092 | version "2.1.0" 1093 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1094 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1095 | 1096 | fast-levenshtein@~2.0.6: 1097 | version "2.0.6" 1098 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1099 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1100 | 1101 | fb-watchman@^2.0.0: 1102 | version "2.0.1" 1103 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1104 | integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== 1105 | dependencies: 1106 | bser "2.1.1" 1107 | 1108 | fill-range@^7.0.1: 1109 | version "7.0.1" 1110 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1111 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1112 | dependencies: 1113 | to-regex-range "^5.0.1" 1114 | 1115 | find-up@^4.0.0, find-up@^4.1.0: 1116 | version "4.1.0" 1117 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1118 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1119 | dependencies: 1120 | locate-path "^5.0.0" 1121 | path-exists "^4.0.0" 1122 | 1123 | form-data@^3.0.0: 1124 | version "3.0.1" 1125 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 1126 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 1127 | dependencies: 1128 | asynckit "^0.4.0" 1129 | combined-stream "^1.0.8" 1130 | mime-types "^2.1.12" 1131 | 1132 | fs.realpath@^1.0.0: 1133 | version "1.0.0" 1134 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1135 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1136 | 1137 | fsevents@^2.3.2: 1138 | version "2.3.2" 1139 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1140 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1141 | 1142 | function-bind@^1.1.1: 1143 | version "1.1.1" 1144 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1145 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1146 | 1147 | gensync@^1.0.0-beta.2: 1148 | version "1.0.0-beta.2" 1149 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1150 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1151 | 1152 | get-caller-file@^2.0.5: 1153 | version "2.0.5" 1154 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1155 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1156 | 1157 | get-package-type@^0.1.0: 1158 | version "0.1.0" 1159 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1160 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1161 | 1162 | get-stream@^6.0.0: 1163 | version "6.0.1" 1164 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1165 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1166 | 1167 | glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1168 | version "7.2.0" 1169 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 1170 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1171 | dependencies: 1172 | fs.realpath "^1.0.0" 1173 | inflight "^1.0.4" 1174 | inherits "2" 1175 | minimatch "^3.0.4" 1176 | once "^1.3.0" 1177 | path-is-absolute "^1.0.0" 1178 | 1179 | globals@^11.1.0: 1180 | version "11.12.0" 1181 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1182 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1183 | 1184 | graceful-fs@^4.2.9: 1185 | version "4.2.9" 1186 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" 1187 | integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== 1188 | 1189 | has-flag@^3.0.0: 1190 | version "3.0.0" 1191 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1192 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1193 | 1194 | has-flag@^4.0.0: 1195 | version "4.0.0" 1196 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1197 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1198 | 1199 | has@^1.0.3: 1200 | version "1.0.3" 1201 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1202 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1203 | dependencies: 1204 | function-bind "^1.1.1" 1205 | 1206 | html-encoding-sniffer@^2.0.1: 1207 | version "2.0.1" 1208 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" 1209 | integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== 1210 | dependencies: 1211 | whatwg-encoding "^1.0.5" 1212 | 1213 | html-escaper@^2.0.0: 1214 | version "2.0.2" 1215 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1216 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1217 | 1218 | http-proxy-agent@^4.0.1: 1219 | version "4.0.1" 1220 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1221 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 1222 | dependencies: 1223 | "@tootallnate/once" "1" 1224 | agent-base "6" 1225 | debug "4" 1226 | 1227 | https-proxy-agent@^5.0.0: 1228 | version "5.0.0" 1229 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 1230 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 1231 | dependencies: 1232 | agent-base "6" 1233 | debug "4" 1234 | 1235 | human-signals@^2.1.0: 1236 | version "2.1.0" 1237 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1238 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1239 | 1240 | iconv-lite@0.4.24: 1241 | version "0.4.24" 1242 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1243 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1244 | dependencies: 1245 | safer-buffer ">= 2.1.2 < 3" 1246 | 1247 | import-local@^3.0.2: 1248 | version "3.1.0" 1249 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 1250 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1251 | dependencies: 1252 | pkg-dir "^4.2.0" 1253 | resolve-cwd "^3.0.0" 1254 | 1255 | imurmurhash@^0.1.4: 1256 | version "0.1.4" 1257 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1258 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1259 | 1260 | inflight@^1.0.4: 1261 | version "1.0.6" 1262 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1263 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1264 | dependencies: 1265 | once "^1.3.0" 1266 | wrappy "1" 1267 | 1268 | inherits@2: 1269 | version "2.0.4" 1270 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1271 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1272 | 1273 | is-arrayish@^0.2.1: 1274 | version "0.2.1" 1275 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1276 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1277 | 1278 | is-core-module@^2.8.1: 1279 | version "2.8.1" 1280 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 1281 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 1282 | dependencies: 1283 | has "^1.0.3" 1284 | 1285 | is-fullwidth-code-point@^3.0.0: 1286 | version "3.0.0" 1287 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1288 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1289 | 1290 | is-generator-fn@^2.0.0: 1291 | version "2.1.0" 1292 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1293 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1294 | 1295 | is-number@^7.0.0: 1296 | version "7.0.0" 1297 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1298 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1299 | 1300 | is-potential-custom-element-name@^1.0.1: 1301 | version "1.0.1" 1302 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" 1303 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 1304 | 1305 | is-stream@^2.0.0: 1306 | version "2.0.1" 1307 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 1308 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 1309 | 1310 | is-typedarray@^1.0.0: 1311 | version "1.0.0" 1312 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1313 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1314 | 1315 | isexe@^2.0.0: 1316 | version "2.0.0" 1317 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1318 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1319 | 1320 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 1321 | version "3.2.0" 1322 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1323 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1324 | 1325 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 1326 | version "5.1.0" 1327 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" 1328 | integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== 1329 | dependencies: 1330 | "@babel/core" "^7.12.3" 1331 | "@babel/parser" "^7.14.7" 1332 | "@istanbuljs/schema" "^0.1.2" 1333 | istanbul-lib-coverage "^3.2.0" 1334 | semver "^6.3.0" 1335 | 1336 | istanbul-lib-report@^3.0.0: 1337 | version "3.0.0" 1338 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1339 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1340 | dependencies: 1341 | istanbul-lib-coverage "^3.0.0" 1342 | make-dir "^3.0.0" 1343 | supports-color "^7.1.0" 1344 | 1345 | istanbul-lib-source-maps@^4.0.0: 1346 | version "4.0.1" 1347 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" 1348 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 1349 | dependencies: 1350 | debug "^4.1.1" 1351 | istanbul-lib-coverage "^3.0.0" 1352 | source-map "^0.6.1" 1353 | 1354 | istanbul-reports@^3.1.3: 1355 | version "3.1.4" 1356 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" 1357 | integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== 1358 | dependencies: 1359 | html-escaper "^2.0.0" 1360 | istanbul-lib-report "^3.0.0" 1361 | 1362 | jest-changed-files@^27.5.1: 1363 | version "27.5.1" 1364 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" 1365 | integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== 1366 | dependencies: 1367 | "@jest/types" "^27.5.1" 1368 | execa "^5.0.0" 1369 | throat "^6.0.1" 1370 | 1371 | jest-circus@^27.5.1: 1372 | version "27.5.1" 1373 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" 1374 | integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== 1375 | dependencies: 1376 | "@jest/environment" "^27.5.1" 1377 | "@jest/test-result" "^27.5.1" 1378 | "@jest/types" "^27.5.1" 1379 | "@types/node" "*" 1380 | chalk "^4.0.0" 1381 | co "^4.6.0" 1382 | dedent "^0.7.0" 1383 | expect "^27.5.1" 1384 | is-generator-fn "^2.0.0" 1385 | jest-each "^27.5.1" 1386 | jest-matcher-utils "^27.5.1" 1387 | jest-message-util "^27.5.1" 1388 | jest-runtime "^27.5.1" 1389 | jest-snapshot "^27.5.1" 1390 | jest-util "^27.5.1" 1391 | pretty-format "^27.5.1" 1392 | slash "^3.0.0" 1393 | stack-utils "^2.0.3" 1394 | throat "^6.0.1" 1395 | 1396 | jest-cli@^27.5.1: 1397 | version "27.5.1" 1398 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" 1399 | integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== 1400 | dependencies: 1401 | "@jest/core" "^27.5.1" 1402 | "@jest/test-result" "^27.5.1" 1403 | "@jest/types" "^27.5.1" 1404 | chalk "^4.0.0" 1405 | exit "^0.1.2" 1406 | graceful-fs "^4.2.9" 1407 | import-local "^3.0.2" 1408 | jest-config "^27.5.1" 1409 | jest-util "^27.5.1" 1410 | jest-validate "^27.5.1" 1411 | prompts "^2.0.1" 1412 | yargs "^16.2.0" 1413 | 1414 | jest-config@^27.5.1: 1415 | version "27.5.1" 1416 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" 1417 | integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== 1418 | dependencies: 1419 | "@babel/core" "^7.8.0" 1420 | "@jest/test-sequencer" "^27.5.1" 1421 | "@jest/types" "^27.5.1" 1422 | babel-jest "^27.5.1" 1423 | chalk "^4.0.0" 1424 | ci-info "^3.2.0" 1425 | deepmerge "^4.2.2" 1426 | glob "^7.1.1" 1427 | graceful-fs "^4.2.9" 1428 | jest-circus "^27.5.1" 1429 | jest-environment-jsdom "^27.5.1" 1430 | jest-environment-node "^27.5.1" 1431 | jest-get-type "^27.5.1" 1432 | jest-jasmine2 "^27.5.1" 1433 | jest-regex-util "^27.5.1" 1434 | jest-resolve "^27.5.1" 1435 | jest-runner "^27.5.1" 1436 | jest-util "^27.5.1" 1437 | jest-validate "^27.5.1" 1438 | micromatch "^4.0.4" 1439 | parse-json "^5.2.0" 1440 | pretty-format "^27.5.1" 1441 | slash "^3.0.0" 1442 | strip-json-comments "^3.1.1" 1443 | 1444 | jest-diff@^27.5.1: 1445 | version "27.5.1" 1446 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" 1447 | integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== 1448 | dependencies: 1449 | chalk "^4.0.0" 1450 | diff-sequences "^27.5.1" 1451 | jest-get-type "^27.5.1" 1452 | pretty-format "^27.5.1" 1453 | 1454 | jest-docblock@^27.5.1: 1455 | version "27.5.1" 1456 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" 1457 | integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== 1458 | dependencies: 1459 | detect-newline "^3.0.0" 1460 | 1461 | jest-each@^27.5.1: 1462 | version "27.5.1" 1463 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" 1464 | integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== 1465 | dependencies: 1466 | "@jest/types" "^27.5.1" 1467 | chalk "^4.0.0" 1468 | jest-get-type "^27.5.1" 1469 | jest-util "^27.5.1" 1470 | pretty-format "^27.5.1" 1471 | 1472 | jest-environment-jsdom@^27.5.1: 1473 | version "27.5.1" 1474 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" 1475 | integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== 1476 | dependencies: 1477 | "@jest/environment" "^27.5.1" 1478 | "@jest/fake-timers" "^27.5.1" 1479 | "@jest/types" "^27.5.1" 1480 | "@types/node" "*" 1481 | jest-mock "^27.5.1" 1482 | jest-util "^27.5.1" 1483 | jsdom "^16.6.0" 1484 | 1485 | jest-environment-node@^27.5.1: 1486 | version "27.5.1" 1487 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" 1488 | integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== 1489 | dependencies: 1490 | "@jest/environment" "^27.5.1" 1491 | "@jest/fake-timers" "^27.5.1" 1492 | "@jest/types" "^27.5.1" 1493 | "@types/node" "*" 1494 | jest-mock "^27.5.1" 1495 | jest-util "^27.5.1" 1496 | 1497 | jest-get-type@^27.5.1: 1498 | version "27.5.1" 1499 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" 1500 | integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== 1501 | 1502 | jest-haste-map@^27.5.1: 1503 | version "27.5.1" 1504 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" 1505 | integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== 1506 | dependencies: 1507 | "@jest/types" "^27.5.1" 1508 | "@types/graceful-fs" "^4.1.2" 1509 | "@types/node" "*" 1510 | anymatch "^3.0.3" 1511 | fb-watchman "^2.0.0" 1512 | graceful-fs "^4.2.9" 1513 | jest-regex-util "^27.5.1" 1514 | jest-serializer "^27.5.1" 1515 | jest-util "^27.5.1" 1516 | jest-worker "^27.5.1" 1517 | micromatch "^4.0.4" 1518 | walker "^1.0.7" 1519 | optionalDependencies: 1520 | fsevents "^2.3.2" 1521 | 1522 | jest-jasmine2@^27.5.1: 1523 | version "27.5.1" 1524 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" 1525 | integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== 1526 | dependencies: 1527 | "@jest/environment" "^27.5.1" 1528 | "@jest/source-map" "^27.5.1" 1529 | "@jest/test-result" "^27.5.1" 1530 | "@jest/types" "^27.5.1" 1531 | "@types/node" "*" 1532 | chalk "^4.0.0" 1533 | co "^4.6.0" 1534 | expect "^27.5.1" 1535 | is-generator-fn "^2.0.0" 1536 | jest-each "^27.5.1" 1537 | jest-matcher-utils "^27.5.1" 1538 | jest-message-util "^27.5.1" 1539 | jest-runtime "^27.5.1" 1540 | jest-snapshot "^27.5.1" 1541 | jest-util "^27.5.1" 1542 | pretty-format "^27.5.1" 1543 | throat "^6.0.1" 1544 | 1545 | jest-leak-detector@^27.5.1: 1546 | version "27.5.1" 1547 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" 1548 | integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== 1549 | dependencies: 1550 | jest-get-type "^27.5.1" 1551 | pretty-format "^27.5.1" 1552 | 1553 | jest-matcher-utils@^27.5.1: 1554 | version "27.5.1" 1555 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" 1556 | integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== 1557 | dependencies: 1558 | chalk "^4.0.0" 1559 | jest-diff "^27.5.1" 1560 | jest-get-type "^27.5.1" 1561 | pretty-format "^27.5.1" 1562 | 1563 | jest-message-util@^27.5.1: 1564 | version "27.5.1" 1565 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" 1566 | integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== 1567 | dependencies: 1568 | "@babel/code-frame" "^7.12.13" 1569 | "@jest/types" "^27.5.1" 1570 | "@types/stack-utils" "^2.0.0" 1571 | chalk "^4.0.0" 1572 | graceful-fs "^4.2.9" 1573 | micromatch "^4.0.4" 1574 | pretty-format "^27.5.1" 1575 | slash "^3.0.0" 1576 | stack-utils "^2.0.3" 1577 | 1578 | jest-mock@^27.5.1: 1579 | version "27.5.1" 1580 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" 1581 | integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== 1582 | dependencies: 1583 | "@jest/types" "^27.5.1" 1584 | "@types/node" "*" 1585 | 1586 | jest-pnp-resolver@^1.2.2: 1587 | version "1.2.2" 1588 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 1589 | integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 1590 | 1591 | jest-regex-util@^27.5.1: 1592 | version "27.5.1" 1593 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" 1594 | integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== 1595 | 1596 | jest-resolve-dependencies@^27.5.1: 1597 | version "27.5.1" 1598 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" 1599 | integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== 1600 | dependencies: 1601 | "@jest/types" "^27.5.1" 1602 | jest-regex-util "^27.5.1" 1603 | jest-snapshot "^27.5.1" 1604 | 1605 | jest-resolve@^27.5.1: 1606 | version "27.5.1" 1607 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" 1608 | integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== 1609 | dependencies: 1610 | "@jest/types" "^27.5.1" 1611 | chalk "^4.0.0" 1612 | graceful-fs "^4.2.9" 1613 | jest-haste-map "^27.5.1" 1614 | jest-pnp-resolver "^1.2.2" 1615 | jest-util "^27.5.1" 1616 | jest-validate "^27.5.1" 1617 | resolve "^1.20.0" 1618 | resolve.exports "^1.1.0" 1619 | slash "^3.0.0" 1620 | 1621 | jest-runner@^27.5.1: 1622 | version "27.5.1" 1623 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" 1624 | integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== 1625 | dependencies: 1626 | "@jest/console" "^27.5.1" 1627 | "@jest/environment" "^27.5.1" 1628 | "@jest/test-result" "^27.5.1" 1629 | "@jest/transform" "^27.5.1" 1630 | "@jest/types" "^27.5.1" 1631 | "@types/node" "*" 1632 | chalk "^4.0.0" 1633 | emittery "^0.8.1" 1634 | graceful-fs "^4.2.9" 1635 | jest-docblock "^27.5.1" 1636 | jest-environment-jsdom "^27.5.1" 1637 | jest-environment-node "^27.5.1" 1638 | jest-haste-map "^27.5.1" 1639 | jest-leak-detector "^27.5.1" 1640 | jest-message-util "^27.5.1" 1641 | jest-resolve "^27.5.1" 1642 | jest-runtime "^27.5.1" 1643 | jest-util "^27.5.1" 1644 | jest-worker "^27.5.1" 1645 | source-map-support "^0.5.6" 1646 | throat "^6.0.1" 1647 | 1648 | jest-runtime@^27.5.1: 1649 | version "27.5.1" 1650 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" 1651 | integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== 1652 | dependencies: 1653 | "@jest/environment" "^27.5.1" 1654 | "@jest/fake-timers" "^27.5.1" 1655 | "@jest/globals" "^27.5.1" 1656 | "@jest/source-map" "^27.5.1" 1657 | "@jest/test-result" "^27.5.1" 1658 | "@jest/transform" "^27.5.1" 1659 | "@jest/types" "^27.5.1" 1660 | chalk "^4.0.0" 1661 | cjs-module-lexer "^1.0.0" 1662 | collect-v8-coverage "^1.0.0" 1663 | execa "^5.0.0" 1664 | glob "^7.1.3" 1665 | graceful-fs "^4.2.9" 1666 | jest-haste-map "^27.5.1" 1667 | jest-message-util "^27.5.1" 1668 | jest-mock "^27.5.1" 1669 | jest-regex-util "^27.5.1" 1670 | jest-resolve "^27.5.1" 1671 | jest-snapshot "^27.5.1" 1672 | jest-util "^27.5.1" 1673 | slash "^3.0.0" 1674 | strip-bom "^4.0.0" 1675 | 1676 | jest-serializer@^27.5.1: 1677 | version "27.5.1" 1678 | resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" 1679 | integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== 1680 | dependencies: 1681 | "@types/node" "*" 1682 | graceful-fs "^4.2.9" 1683 | 1684 | jest-snapshot@^27.5.1: 1685 | version "27.5.1" 1686 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" 1687 | integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== 1688 | dependencies: 1689 | "@babel/core" "^7.7.2" 1690 | "@babel/generator" "^7.7.2" 1691 | "@babel/plugin-syntax-typescript" "^7.7.2" 1692 | "@babel/traverse" "^7.7.2" 1693 | "@babel/types" "^7.0.0" 1694 | "@jest/transform" "^27.5.1" 1695 | "@jest/types" "^27.5.1" 1696 | "@types/babel__traverse" "^7.0.4" 1697 | "@types/prettier" "^2.1.5" 1698 | babel-preset-current-node-syntax "^1.0.0" 1699 | chalk "^4.0.0" 1700 | expect "^27.5.1" 1701 | graceful-fs "^4.2.9" 1702 | jest-diff "^27.5.1" 1703 | jest-get-type "^27.5.1" 1704 | jest-haste-map "^27.5.1" 1705 | jest-matcher-utils "^27.5.1" 1706 | jest-message-util "^27.5.1" 1707 | jest-util "^27.5.1" 1708 | natural-compare "^1.4.0" 1709 | pretty-format "^27.5.1" 1710 | semver "^7.3.2" 1711 | 1712 | jest-util@^27.5.1: 1713 | version "27.5.1" 1714 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" 1715 | integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== 1716 | dependencies: 1717 | "@jest/types" "^27.5.1" 1718 | "@types/node" "*" 1719 | chalk "^4.0.0" 1720 | ci-info "^3.2.0" 1721 | graceful-fs "^4.2.9" 1722 | picomatch "^2.2.3" 1723 | 1724 | jest-validate@^27.5.1: 1725 | version "27.5.1" 1726 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" 1727 | integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== 1728 | dependencies: 1729 | "@jest/types" "^27.5.1" 1730 | camelcase "^6.2.0" 1731 | chalk "^4.0.0" 1732 | jest-get-type "^27.5.1" 1733 | leven "^3.1.0" 1734 | pretty-format "^27.5.1" 1735 | 1736 | jest-watcher@^27.5.1: 1737 | version "27.5.1" 1738 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" 1739 | integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== 1740 | dependencies: 1741 | "@jest/test-result" "^27.5.1" 1742 | "@jest/types" "^27.5.1" 1743 | "@types/node" "*" 1744 | ansi-escapes "^4.2.1" 1745 | chalk "^4.0.0" 1746 | jest-util "^27.5.1" 1747 | string-length "^4.0.1" 1748 | 1749 | jest-worker@^27.5.1: 1750 | version "27.5.1" 1751 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" 1752 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== 1753 | dependencies: 1754 | "@types/node" "*" 1755 | merge-stream "^2.0.0" 1756 | supports-color "^8.0.0" 1757 | 1758 | jest@^27.5.1: 1759 | version "27.5.1" 1760 | resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" 1761 | integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== 1762 | dependencies: 1763 | "@jest/core" "^27.5.1" 1764 | import-local "^3.0.2" 1765 | jest-cli "^27.5.1" 1766 | 1767 | js-tokens@^4.0.0: 1768 | version "4.0.0" 1769 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1770 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1771 | 1772 | js-yaml@^3.13.1: 1773 | version "3.14.1" 1774 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1775 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1776 | dependencies: 1777 | argparse "^1.0.7" 1778 | esprima "^4.0.0" 1779 | 1780 | jsdom@^16.6.0: 1781 | version "16.7.0" 1782 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" 1783 | integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== 1784 | dependencies: 1785 | abab "^2.0.5" 1786 | acorn "^8.2.4" 1787 | acorn-globals "^6.0.0" 1788 | cssom "^0.4.4" 1789 | cssstyle "^2.3.0" 1790 | data-urls "^2.0.0" 1791 | decimal.js "^10.2.1" 1792 | domexception "^2.0.1" 1793 | escodegen "^2.0.0" 1794 | form-data "^3.0.0" 1795 | html-encoding-sniffer "^2.0.1" 1796 | http-proxy-agent "^4.0.1" 1797 | https-proxy-agent "^5.0.0" 1798 | is-potential-custom-element-name "^1.0.1" 1799 | nwsapi "^2.2.0" 1800 | parse5 "6.0.1" 1801 | saxes "^5.0.1" 1802 | symbol-tree "^3.2.4" 1803 | tough-cookie "^4.0.0" 1804 | w3c-hr-time "^1.0.2" 1805 | w3c-xmlserializer "^2.0.0" 1806 | webidl-conversions "^6.1.0" 1807 | whatwg-encoding "^1.0.5" 1808 | whatwg-mimetype "^2.3.0" 1809 | whatwg-url "^8.5.0" 1810 | ws "^7.4.6" 1811 | xml-name-validator "^3.0.0" 1812 | 1813 | jsesc@^2.5.1: 1814 | version "2.5.2" 1815 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1816 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1817 | 1818 | json-parse-even-better-errors@^2.3.0: 1819 | version "2.3.1" 1820 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1821 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1822 | 1823 | json5@^2.1.2: 1824 | version "2.2.0" 1825 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1826 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1827 | dependencies: 1828 | minimist "^1.2.5" 1829 | 1830 | kleur@^3.0.3: 1831 | version "3.0.3" 1832 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 1833 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 1834 | 1835 | leven@^3.1.0: 1836 | version "3.1.0" 1837 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 1838 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1839 | 1840 | levn@~0.3.0: 1841 | version "0.3.0" 1842 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1843 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1844 | dependencies: 1845 | prelude-ls "~1.1.2" 1846 | type-check "~0.3.2" 1847 | 1848 | lines-and-columns@^1.1.6: 1849 | version "1.2.4" 1850 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1851 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1852 | 1853 | locate-path@^5.0.0: 1854 | version "5.0.0" 1855 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1856 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1857 | dependencies: 1858 | p-locate "^4.1.0" 1859 | 1860 | lodash@^4.7.0: 1861 | version "4.17.21" 1862 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1863 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1864 | 1865 | lru-cache@^6.0.0: 1866 | version "6.0.0" 1867 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1868 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1869 | dependencies: 1870 | yallist "^4.0.0" 1871 | 1872 | make-dir@^3.0.0: 1873 | version "3.1.0" 1874 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1875 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1876 | dependencies: 1877 | semver "^6.0.0" 1878 | 1879 | makeerror@1.0.12: 1880 | version "1.0.12" 1881 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 1882 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 1883 | dependencies: 1884 | tmpl "1.0.5" 1885 | 1886 | merge-stream@^2.0.0: 1887 | version "2.0.0" 1888 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1889 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1890 | 1891 | micromatch@^4.0.4: 1892 | version "4.0.4" 1893 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 1894 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 1895 | dependencies: 1896 | braces "^3.0.1" 1897 | picomatch "^2.2.3" 1898 | 1899 | mime-db@1.52.0: 1900 | version "1.52.0" 1901 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1902 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1903 | 1904 | mime-types@^2.1.12: 1905 | version "2.1.35" 1906 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1907 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1908 | dependencies: 1909 | mime-db "1.52.0" 1910 | 1911 | mimic-fn@^2.1.0: 1912 | version "2.1.0" 1913 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1914 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1915 | 1916 | minimatch@^3.0.4: 1917 | version "3.1.2" 1918 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1919 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1920 | dependencies: 1921 | brace-expansion "^1.1.7" 1922 | 1923 | minimist@^1.2.5: 1924 | version "1.2.5" 1925 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1926 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1927 | 1928 | ms@2.1.2: 1929 | version "2.1.2" 1930 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1931 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1932 | 1933 | natural-compare@^1.4.0: 1934 | version "1.4.0" 1935 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1936 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1937 | 1938 | node-int64@^0.4.0: 1939 | version "0.4.0" 1940 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 1941 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= 1942 | 1943 | node-releases@^2.0.2: 1944 | version "2.0.2" 1945 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" 1946 | integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== 1947 | 1948 | normalize-path@^3.0.0: 1949 | version "3.0.0" 1950 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1951 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1952 | 1953 | npm-run-path@^4.0.1: 1954 | version "4.0.1" 1955 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 1956 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 1957 | dependencies: 1958 | path-key "^3.0.0" 1959 | 1960 | nwsapi@^2.2.0: 1961 | version "2.2.0" 1962 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 1963 | integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 1964 | 1965 | once@^1.3.0: 1966 | version "1.4.0" 1967 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1968 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1969 | dependencies: 1970 | wrappy "1" 1971 | 1972 | onetime@^5.1.2: 1973 | version "5.1.2" 1974 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 1975 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1976 | dependencies: 1977 | mimic-fn "^2.1.0" 1978 | 1979 | optionator@^0.8.1: 1980 | version "0.8.3" 1981 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 1982 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 1983 | dependencies: 1984 | deep-is "~0.1.3" 1985 | fast-levenshtein "~2.0.6" 1986 | levn "~0.3.0" 1987 | prelude-ls "~1.1.2" 1988 | type-check "~0.3.2" 1989 | word-wrap "~1.2.3" 1990 | 1991 | p-limit@^2.2.0: 1992 | version "2.3.0" 1993 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1994 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1995 | dependencies: 1996 | p-try "^2.0.0" 1997 | 1998 | p-locate@^4.1.0: 1999 | version "4.1.0" 2000 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2001 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2002 | dependencies: 2003 | p-limit "^2.2.0" 2004 | 2005 | p-try@^2.0.0: 2006 | version "2.2.0" 2007 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2008 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2009 | 2010 | parse-json@^5.2.0: 2011 | version "5.2.0" 2012 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2013 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2014 | dependencies: 2015 | "@babel/code-frame" "^7.0.0" 2016 | error-ex "^1.3.1" 2017 | json-parse-even-better-errors "^2.3.0" 2018 | lines-and-columns "^1.1.6" 2019 | 2020 | parse5@6.0.1: 2021 | version "6.0.1" 2022 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" 2023 | integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== 2024 | 2025 | path-exists@^4.0.0: 2026 | version "4.0.0" 2027 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2028 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2029 | 2030 | path-is-absolute@^1.0.0: 2031 | version "1.0.1" 2032 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2033 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2034 | 2035 | path-key@^3.0.0, path-key@^3.1.0: 2036 | version "3.1.1" 2037 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2038 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2039 | 2040 | path-parse@^1.0.7: 2041 | version "1.0.7" 2042 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2043 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2044 | 2045 | picocolors@^1.0.0: 2046 | version "1.0.0" 2047 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2048 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2049 | 2050 | picomatch@^2.0.4, picomatch@^2.2.3: 2051 | version "2.3.1" 2052 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2053 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2054 | 2055 | pirates@^4.0.4: 2056 | version "4.0.5" 2057 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2058 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2059 | 2060 | pkg-dir@^4.2.0: 2061 | version "4.2.0" 2062 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2063 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2064 | dependencies: 2065 | find-up "^4.0.0" 2066 | 2067 | prelude-ls@~1.1.2: 2068 | version "1.1.2" 2069 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2070 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 2071 | 2072 | pretty-format@^27.5.1: 2073 | version "27.5.1" 2074 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" 2075 | integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== 2076 | dependencies: 2077 | ansi-regex "^5.0.1" 2078 | ansi-styles "^5.0.0" 2079 | react-is "^17.0.1" 2080 | 2081 | prompts@^2.0.1: 2082 | version "2.4.2" 2083 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" 2084 | integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== 2085 | dependencies: 2086 | kleur "^3.0.3" 2087 | sisteransi "^1.0.5" 2088 | 2089 | psl@^1.1.33: 2090 | version "1.8.0" 2091 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 2092 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 2093 | 2094 | punycode@^2.1.1: 2095 | version "2.1.1" 2096 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2097 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2098 | 2099 | react-is@^17.0.1: 2100 | version "17.0.2" 2101 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 2102 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== 2103 | 2104 | require-directory@^2.1.1: 2105 | version "2.1.1" 2106 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2107 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2108 | 2109 | resolve-cwd@^3.0.0: 2110 | version "3.0.0" 2111 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2112 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2113 | dependencies: 2114 | resolve-from "^5.0.0" 2115 | 2116 | resolve-from@^5.0.0: 2117 | version "5.0.0" 2118 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2119 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2120 | 2121 | resolve.exports@^1.1.0: 2122 | version "1.1.0" 2123 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" 2124 | integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== 2125 | 2126 | resolve@^1.20.0: 2127 | version "1.22.0" 2128 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 2129 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 2130 | dependencies: 2131 | is-core-module "^2.8.1" 2132 | path-parse "^1.0.7" 2133 | supports-preserve-symlinks-flag "^1.0.0" 2134 | 2135 | rimraf@^3.0.0: 2136 | version "3.0.2" 2137 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2138 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2139 | dependencies: 2140 | glob "^7.1.3" 2141 | 2142 | safe-buffer@~5.1.1: 2143 | version "5.1.2" 2144 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2145 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2146 | 2147 | "safer-buffer@>= 2.1.2 < 3": 2148 | version "2.1.2" 2149 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2150 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2151 | 2152 | saxes@^5.0.1: 2153 | version "5.0.1" 2154 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" 2155 | integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== 2156 | dependencies: 2157 | xmlchars "^2.2.0" 2158 | 2159 | semver@^6.0.0, semver@^6.3.0: 2160 | version "6.3.0" 2161 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2162 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2163 | 2164 | semver@^7.3.2: 2165 | version "7.3.5" 2166 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 2167 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 2168 | dependencies: 2169 | lru-cache "^6.0.0" 2170 | 2171 | shebang-command@^2.0.0: 2172 | version "2.0.0" 2173 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2174 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2175 | dependencies: 2176 | shebang-regex "^3.0.0" 2177 | 2178 | shebang-regex@^3.0.0: 2179 | version "3.0.0" 2180 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2181 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2182 | 2183 | signal-exit@^3.0.2, signal-exit@^3.0.3: 2184 | version "3.0.7" 2185 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2186 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2187 | 2188 | sisteransi@^1.0.5: 2189 | version "1.0.5" 2190 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2191 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2192 | 2193 | slash@^3.0.0: 2194 | version "3.0.0" 2195 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2196 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2197 | 2198 | source-map-support@^0.5.6: 2199 | version "0.5.21" 2200 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 2201 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 2202 | dependencies: 2203 | buffer-from "^1.0.0" 2204 | source-map "^0.6.0" 2205 | 2206 | source-map@^0.5.0: 2207 | version "0.5.7" 2208 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2209 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2210 | 2211 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 2212 | version "0.6.1" 2213 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2214 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2215 | 2216 | source-map@^0.7.3: 2217 | version "0.7.3" 2218 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 2219 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 2220 | 2221 | sprintf-js@~1.0.2: 2222 | version "1.0.3" 2223 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2224 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2225 | 2226 | stack-utils@^2.0.3: 2227 | version "2.0.5" 2228 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" 2229 | integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== 2230 | dependencies: 2231 | escape-string-regexp "^2.0.0" 2232 | 2233 | string-length@^4.0.1: 2234 | version "4.0.2" 2235 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" 2236 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 2237 | dependencies: 2238 | char-regex "^1.0.2" 2239 | strip-ansi "^6.0.0" 2240 | 2241 | string-width@^4.1.0, string-width@^4.2.0: 2242 | version "4.2.3" 2243 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2244 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2245 | dependencies: 2246 | emoji-regex "^8.0.0" 2247 | is-fullwidth-code-point "^3.0.0" 2248 | strip-ansi "^6.0.1" 2249 | 2250 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2251 | version "6.0.1" 2252 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2253 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2254 | dependencies: 2255 | ansi-regex "^5.0.1" 2256 | 2257 | strip-bom@^4.0.0: 2258 | version "4.0.0" 2259 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2260 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2261 | 2262 | strip-final-newline@^2.0.0: 2263 | version "2.0.0" 2264 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2265 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2266 | 2267 | strip-json-comments@^3.1.1: 2268 | version "3.1.1" 2269 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2270 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2271 | 2272 | supports-color@^5.3.0: 2273 | version "5.5.0" 2274 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2275 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2276 | dependencies: 2277 | has-flag "^3.0.0" 2278 | 2279 | supports-color@^7.0.0, supports-color@^7.1.0: 2280 | version "7.2.0" 2281 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2282 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2283 | dependencies: 2284 | has-flag "^4.0.0" 2285 | 2286 | supports-color@^8.0.0: 2287 | version "8.1.1" 2288 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2289 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2290 | dependencies: 2291 | has-flag "^4.0.0" 2292 | 2293 | supports-hyperlinks@^2.0.0: 2294 | version "2.2.0" 2295 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" 2296 | integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== 2297 | dependencies: 2298 | has-flag "^4.0.0" 2299 | supports-color "^7.0.0" 2300 | 2301 | supports-preserve-symlinks-flag@^1.0.0: 2302 | version "1.0.0" 2303 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2304 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2305 | 2306 | symbol-tree@^3.2.4: 2307 | version "3.2.4" 2308 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 2309 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 2310 | 2311 | terminal-link@^2.0.0: 2312 | version "2.1.1" 2313 | resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" 2314 | integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== 2315 | dependencies: 2316 | ansi-escapes "^4.2.1" 2317 | supports-hyperlinks "^2.0.0" 2318 | 2319 | test-exclude@^6.0.0: 2320 | version "6.0.0" 2321 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2322 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2323 | dependencies: 2324 | "@istanbuljs/schema" "^0.1.2" 2325 | glob "^7.1.4" 2326 | minimatch "^3.0.4" 2327 | 2328 | throat@^6.0.1: 2329 | version "6.0.1" 2330 | resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" 2331 | integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== 2332 | 2333 | tmpl@1.0.5: 2334 | version "1.0.5" 2335 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2336 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2337 | 2338 | to-fast-properties@^2.0.0: 2339 | version "2.0.0" 2340 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2341 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2342 | 2343 | to-regex-range@^5.0.1: 2344 | version "5.0.1" 2345 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2346 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2347 | dependencies: 2348 | is-number "^7.0.0" 2349 | 2350 | tough-cookie@^4.0.0: 2351 | version "4.0.0" 2352 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" 2353 | integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== 2354 | dependencies: 2355 | psl "^1.1.33" 2356 | punycode "^2.1.1" 2357 | universalify "^0.1.2" 2358 | 2359 | tr46@^2.1.0: 2360 | version "2.1.0" 2361 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" 2362 | integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== 2363 | dependencies: 2364 | punycode "^2.1.1" 2365 | 2366 | type-check@~0.3.2: 2367 | version "0.3.2" 2368 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 2369 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 2370 | dependencies: 2371 | prelude-ls "~1.1.2" 2372 | 2373 | type-detect@4.0.8: 2374 | version "4.0.8" 2375 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2376 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2377 | 2378 | type-fest@^0.21.3: 2379 | version "0.21.3" 2380 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 2381 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2382 | 2383 | typedarray-to-buffer@^3.1.5: 2384 | version "3.1.5" 2385 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 2386 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 2387 | dependencies: 2388 | is-typedarray "^1.0.0" 2389 | 2390 | typescript@^4.6.2: 2391 | version "4.6.2" 2392 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4" 2393 | integrity sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg== 2394 | 2395 | universalify@^0.1.2: 2396 | version "0.1.2" 2397 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 2398 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 2399 | 2400 | v8-to-istanbul@^8.1.0: 2401 | version "8.1.1" 2402 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" 2403 | integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== 2404 | dependencies: 2405 | "@types/istanbul-lib-coverage" "^2.0.1" 2406 | convert-source-map "^1.6.0" 2407 | source-map "^0.7.3" 2408 | 2409 | w3c-hr-time@^1.0.2: 2410 | version "1.0.2" 2411 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" 2412 | integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== 2413 | dependencies: 2414 | browser-process-hrtime "^1.0.0" 2415 | 2416 | w3c-xmlserializer@^2.0.0: 2417 | version "2.0.0" 2418 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" 2419 | integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== 2420 | dependencies: 2421 | xml-name-validator "^3.0.0" 2422 | 2423 | walker@^1.0.7: 2424 | version "1.0.8" 2425 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 2426 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 2427 | dependencies: 2428 | makeerror "1.0.12" 2429 | 2430 | webidl-conversions@^5.0.0: 2431 | version "5.0.0" 2432 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 2433 | integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 2434 | 2435 | webidl-conversions@^6.1.0: 2436 | version "6.1.0" 2437 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" 2438 | integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== 2439 | 2440 | whatwg-encoding@^1.0.5: 2441 | version "1.0.5" 2442 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" 2443 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== 2444 | dependencies: 2445 | iconv-lite "0.4.24" 2446 | 2447 | whatwg-mimetype@^2.3.0: 2448 | version "2.3.0" 2449 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" 2450 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== 2451 | 2452 | whatwg-url@^8.0.0, whatwg-url@^8.5.0: 2453 | version "8.7.0" 2454 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" 2455 | integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== 2456 | dependencies: 2457 | lodash "^4.7.0" 2458 | tr46 "^2.1.0" 2459 | webidl-conversions "^6.1.0" 2460 | 2461 | which@^2.0.1: 2462 | version "2.0.2" 2463 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2464 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2465 | dependencies: 2466 | isexe "^2.0.0" 2467 | 2468 | word-wrap@~1.2.3: 2469 | version "1.2.3" 2470 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2471 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2472 | 2473 | wrap-ansi@^7.0.0: 2474 | version "7.0.0" 2475 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2476 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2477 | dependencies: 2478 | ansi-styles "^4.0.0" 2479 | string-width "^4.1.0" 2480 | strip-ansi "^6.0.0" 2481 | 2482 | wrappy@1: 2483 | version "1.0.2" 2484 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2485 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2486 | 2487 | write-file-atomic@^3.0.0: 2488 | version "3.0.3" 2489 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 2490 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 2491 | dependencies: 2492 | imurmurhash "^0.1.4" 2493 | is-typedarray "^1.0.0" 2494 | signal-exit "^3.0.2" 2495 | typedarray-to-buffer "^3.1.5" 2496 | 2497 | ws@^7.4.6: 2498 | version "7.5.7" 2499 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67" 2500 | integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A== 2501 | 2502 | xml-name-validator@^3.0.0: 2503 | version "3.0.0" 2504 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" 2505 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== 2506 | 2507 | xmlchars@^2.2.0: 2508 | version "2.2.0" 2509 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 2510 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 2511 | 2512 | y18n@^5.0.5: 2513 | version "5.0.8" 2514 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2515 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2516 | 2517 | yallist@^4.0.0: 2518 | version "4.0.0" 2519 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2520 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2521 | 2522 | yargs-parser@^20.2.2: 2523 | version "20.2.9" 2524 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2525 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2526 | 2527 | yargs@^16.2.0: 2528 | version "16.2.0" 2529 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2530 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2531 | dependencies: 2532 | cliui "^7.0.2" 2533 | escalade "^3.1.1" 2534 | get-caller-file "^2.0.5" 2535 | require-directory "^2.1.1" 2536 | string-width "^4.2.0" 2537 | y18n "^5.0.5" 2538 | yargs-parser "^20.2.2" 2539 | -------------------------------------------------------------------------------- /games/Jeopardy-1.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mike-north/making-typescript-stick/67ccc68e94214b40297ad625925586df7685dde9/games/Jeopardy-1.pptx -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "making-typescript-stick", 3 | "version": "0.0.0", 4 | "description": "Mike North's \"making typescript stick\" course", 5 | "main": "index.js", 6 | "repository": "https://github.com/mike-north/making-typescript-stick", 7 | "author": "Mike North ", 8 | "license": "BSD-2-Clause", 9 | "private": true, 10 | "workspaces": [ 11 | "challenges/*" 12 | ], 13 | "devDependencies": { 14 | "prettier": "^2.6.0", 15 | "scripty": "^2.0.0", 16 | "typescript": "^4.6.2" 17 | }, 18 | "scripts": { 19 | "build": "scripty", 20 | "test": "scripty" 21 | }, 22 | "volta": { 23 | "node": "16.14.0", 24 | "yarn": "1.22.17" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Building jquery-clone..." 3 | (cd challenges/jquery-clone && yarn build) 4 | echo "Building async-communicator..." 5 | (cd challenges/async-communicator && yarn build) 6 | echo "Building data-layer..." 7 | (cd challenges/data-layer && yarn build) 8 | -------------------------------------------------------------------------------- /scripts/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Building jquery-clone..." 3 | (cd challenges/jquery-clone && yarn test) 4 | echo "Testing async-communicator..." 5 | (cd challenges/async-communicator && yarn test) 6 | echo "Testing data-layer..." 7 | (cd challenges/data-layer && yarn test) 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2021", 4 | "lib": ["ES2021"], 5 | "module": "CommonJS", 6 | "moduleResolution": "Node", 7 | "strict": true, 8 | "noEmit": true 9 | } 10 | } 11 | --------------------------------------------------------------------------------