├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── babel.config.js ├── package.json ├── pnpm-lock.yaml ├── src ├── reactivity │ ├── baseHandlers.ts │ ├── effect.ts │ ├── reactive.ts │ └── tests │ │ ├── effect.spec.ts │ │ ├── reactive.spec.ts │ │ ├── readonly.spec.ts │ │ └── shallowReadonly.spec.ts └── shared │ └── index.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | node_modules -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "configurations": [ 3 | { 4 | "type": "node", 5 | "name": "vscode-jest-tests", 6 | "request": "launch", 7 | "console": "integratedTerminal", 8 | "internalConsoleOptions": "neverOpen", 9 | "disableOptimisticBPs": true, 10 | "cwd": "${workspaceFolder}", 11 | "runtimeExecutable": "yarn", 12 | "args": [ 13 | "test", 14 | "--runInBand", 15 | "--watchAll=false" 16 | ] 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "jest.jestCommandLine": "pnpm run test --" 3 | } 4 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [['@babel/preset-env', { targets: { node: 'current' } }], '@babel/preset-typescript'], 3 | } 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "learn-mini-vue", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "scripts": { 7 | "test": "jest" 8 | }, 9 | "devDependencies": { 10 | "@babel/core": "^7.17.9", 11 | "@babel/preset-env": "^7.16.11", 12 | "@babel/preset-typescript": "^7.16.7", 13 | "@types/jest": "^27.4.1", 14 | "babel-jest": "^27.5.1", 15 | "jest": "^27.5.1", 16 | "typescript": "^4.6.3" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | '@babel/core': ^7.17.9 5 | '@babel/preset-env': ^7.16.11 6 | '@babel/preset-typescript': ^7.16.7 7 | '@types/jest': ^27.4.1 8 | babel-jest: ^27.5.1 9 | jest: ^27.5.1 10 | typescript: ^4.6.3 11 | 12 | devDependencies: 13 | '@babel/core': 7.17.9 14 | '@babel/preset-env': 7.16.11_@babel+core@7.17.9 15 | '@babel/preset-typescript': 7.16.7_@babel+core@7.17.9 16 | '@types/jest': 27.4.1 17 | babel-jest: 27.5.1_@babel+core@7.17.9 18 | jest: 27.5.1 19 | typescript: 4.6.3 20 | 21 | packages: 22 | 23 | /@ampproject/remapping/2.1.2: 24 | resolution: {integrity: sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==} 25 | engines: {node: '>=6.0.0'} 26 | dependencies: 27 | '@jridgewell/trace-mapping': 0.3.4 28 | dev: true 29 | 30 | /@babel/code-frame/7.16.7: 31 | resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} 32 | engines: {node: '>=6.9.0'} 33 | dependencies: 34 | '@babel/highlight': 7.17.9 35 | dev: true 36 | 37 | /@babel/compat-data/7.17.7: 38 | resolution: {integrity: sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==} 39 | engines: {node: '>=6.9.0'} 40 | dev: true 41 | 42 | /@babel/core/7.17.9: 43 | resolution: {integrity: sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==} 44 | engines: {node: '>=6.9.0'} 45 | dependencies: 46 | '@ampproject/remapping': 2.1.2 47 | '@babel/code-frame': 7.16.7 48 | '@babel/generator': 7.17.9 49 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 50 | '@babel/helper-module-transforms': 7.17.7 51 | '@babel/helpers': 7.17.9 52 | '@babel/parser': 7.17.9 53 | '@babel/template': 7.16.7 54 | '@babel/traverse': 7.17.9 55 | '@babel/types': 7.17.0 56 | convert-source-map: 1.8.0 57 | debug: 4.3.4 58 | gensync: 1.0.0-beta.2 59 | json5: 2.2.1 60 | semver: 6.3.0 61 | transitivePeerDependencies: 62 | - supports-color 63 | dev: true 64 | 65 | /@babel/generator/7.17.9: 66 | resolution: {integrity: sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==} 67 | engines: {node: '>=6.9.0'} 68 | dependencies: 69 | '@babel/types': 7.17.0 70 | jsesc: 2.5.2 71 | source-map: 0.5.7 72 | dev: true 73 | 74 | /@babel/helper-annotate-as-pure/7.16.7: 75 | resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} 76 | engines: {node: '>=6.9.0'} 77 | dependencies: 78 | '@babel/types': 7.17.0 79 | dev: true 80 | 81 | /@babel/helper-builder-binary-assignment-operator-visitor/7.16.7: 82 | resolution: {integrity: sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@babel/helper-explode-assignable-expression': 7.16.7 86 | '@babel/types': 7.17.0 87 | dev: true 88 | 89 | /@babel/helper-compilation-targets/7.17.7_@babel+core@7.17.9: 90 | resolution: {integrity: sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==} 91 | engines: {node: '>=6.9.0'} 92 | peerDependencies: 93 | '@babel/core': ^7.0.0 94 | dependencies: 95 | '@babel/compat-data': 7.17.7 96 | '@babel/core': 7.17.9 97 | '@babel/helper-validator-option': 7.16.7 98 | browserslist: 4.20.2 99 | semver: 6.3.0 100 | dev: true 101 | 102 | /@babel/helper-create-class-features-plugin/7.17.9_@babel+core@7.17.9: 103 | resolution: {integrity: sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==} 104 | engines: {node: '>=6.9.0'} 105 | peerDependencies: 106 | '@babel/core': ^7.0.0 107 | dependencies: 108 | '@babel/core': 7.17.9 109 | '@babel/helper-annotate-as-pure': 7.16.7 110 | '@babel/helper-environment-visitor': 7.16.7 111 | '@babel/helper-function-name': 7.17.9 112 | '@babel/helper-member-expression-to-functions': 7.17.7 113 | '@babel/helper-optimise-call-expression': 7.16.7 114 | '@babel/helper-replace-supers': 7.16.7 115 | '@babel/helper-split-export-declaration': 7.16.7 116 | transitivePeerDependencies: 117 | - supports-color 118 | dev: true 119 | 120 | /@babel/helper-create-regexp-features-plugin/7.17.0_@babel+core@7.17.9: 121 | resolution: {integrity: sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==} 122 | engines: {node: '>=6.9.0'} 123 | peerDependencies: 124 | '@babel/core': ^7.0.0 125 | dependencies: 126 | '@babel/core': 7.17.9 127 | '@babel/helper-annotate-as-pure': 7.16.7 128 | regexpu-core: 5.0.1 129 | dev: true 130 | 131 | /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.9: 132 | resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} 133 | peerDependencies: 134 | '@babel/core': ^7.4.0-0 135 | dependencies: 136 | '@babel/core': 7.17.9 137 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 138 | '@babel/helper-module-imports': 7.16.7 139 | '@babel/helper-plugin-utils': 7.16.7 140 | '@babel/traverse': 7.17.9 141 | debug: 4.3.4 142 | lodash.debounce: 4.0.8 143 | resolve: 1.22.0 144 | semver: 6.3.0 145 | transitivePeerDependencies: 146 | - supports-color 147 | dev: true 148 | 149 | /@babel/helper-environment-visitor/7.16.7: 150 | resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} 151 | engines: {node: '>=6.9.0'} 152 | dependencies: 153 | '@babel/types': 7.17.0 154 | dev: true 155 | 156 | /@babel/helper-explode-assignable-expression/7.16.7: 157 | resolution: {integrity: sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==} 158 | engines: {node: '>=6.9.0'} 159 | dependencies: 160 | '@babel/types': 7.17.0 161 | dev: true 162 | 163 | /@babel/helper-function-name/7.17.9: 164 | resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} 165 | engines: {node: '>=6.9.0'} 166 | dependencies: 167 | '@babel/template': 7.16.7 168 | '@babel/types': 7.17.0 169 | dev: true 170 | 171 | /@babel/helper-hoist-variables/7.16.7: 172 | resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} 173 | engines: {node: '>=6.9.0'} 174 | dependencies: 175 | '@babel/types': 7.17.0 176 | dev: true 177 | 178 | /@babel/helper-member-expression-to-functions/7.17.7: 179 | resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==} 180 | engines: {node: '>=6.9.0'} 181 | dependencies: 182 | '@babel/types': 7.17.0 183 | dev: true 184 | 185 | /@babel/helper-module-imports/7.16.7: 186 | resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} 187 | engines: {node: '>=6.9.0'} 188 | dependencies: 189 | '@babel/types': 7.17.0 190 | dev: true 191 | 192 | /@babel/helper-module-transforms/7.17.7: 193 | resolution: {integrity: sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==} 194 | engines: {node: '>=6.9.0'} 195 | dependencies: 196 | '@babel/helper-environment-visitor': 7.16.7 197 | '@babel/helper-module-imports': 7.16.7 198 | '@babel/helper-simple-access': 7.17.7 199 | '@babel/helper-split-export-declaration': 7.16.7 200 | '@babel/helper-validator-identifier': 7.16.7 201 | '@babel/template': 7.16.7 202 | '@babel/traverse': 7.17.9 203 | '@babel/types': 7.17.0 204 | transitivePeerDependencies: 205 | - supports-color 206 | dev: true 207 | 208 | /@babel/helper-optimise-call-expression/7.16.7: 209 | resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} 210 | engines: {node: '>=6.9.0'} 211 | dependencies: 212 | '@babel/types': 7.17.0 213 | dev: true 214 | 215 | /@babel/helper-plugin-utils/7.16.7: 216 | resolution: {integrity: sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==} 217 | engines: {node: '>=6.9.0'} 218 | dev: true 219 | 220 | /@babel/helper-remap-async-to-generator/7.16.8: 221 | resolution: {integrity: sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==} 222 | engines: {node: '>=6.9.0'} 223 | dependencies: 224 | '@babel/helper-annotate-as-pure': 7.16.7 225 | '@babel/helper-wrap-function': 7.16.8 226 | '@babel/types': 7.17.0 227 | transitivePeerDependencies: 228 | - supports-color 229 | dev: true 230 | 231 | /@babel/helper-replace-supers/7.16.7: 232 | resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==} 233 | engines: {node: '>=6.9.0'} 234 | dependencies: 235 | '@babel/helper-environment-visitor': 7.16.7 236 | '@babel/helper-member-expression-to-functions': 7.17.7 237 | '@babel/helper-optimise-call-expression': 7.16.7 238 | '@babel/traverse': 7.17.9 239 | '@babel/types': 7.17.0 240 | transitivePeerDependencies: 241 | - supports-color 242 | dev: true 243 | 244 | /@babel/helper-simple-access/7.17.7: 245 | resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} 246 | engines: {node: '>=6.9.0'} 247 | dependencies: 248 | '@babel/types': 7.17.0 249 | dev: true 250 | 251 | /@babel/helper-skip-transparent-expression-wrappers/7.16.0: 252 | resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==} 253 | engines: {node: '>=6.9.0'} 254 | dependencies: 255 | '@babel/types': 7.17.0 256 | dev: true 257 | 258 | /@babel/helper-split-export-declaration/7.16.7: 259 | resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} 260 | engines: {node: '>=6.9.0'} 261 | dependencies: 262 | '@babel/types': 7.17.0 263 | dev: true 264 | 265 | /@babel/helper-validator-identifier/7.16.7: 266 | resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} 267 | engines: {node: '>=6.9.0'} 268 | dev: true 269 | 270 | /@babel/helper-validator-option/7.16.7: 271 | resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} 272 | engines: {node: '>=6.9.0'} 273 | dev: true 274 | 275 | /@babel/helper-wrap-function/7.16.8: 276 | resolution: {integrity: sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==} 277 | engines: {node: '>=6.9.0'} 278 | dependencies: 279 | '@babel/helper-function-name': 7.17.9 280 | '@babel/template': 7.16.7 281 | '@babel/traverse': 7.17.9 282 | '@babel/types': 7.17.0 283 | transitivePeerDependencies: 284 | - supports-color 285 | dev: true 286 | 287 | /@babel/helpers/7.17.9: 288 | resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==} 289 | engines: {node: '>=6.9.0'} 290 | dependencies: 291 | '@babel/template': 7.16.7 292 | '@babel/traverse': 7.17.9 293 | '@babel/types': 7.17.0 294 | transitivePeerDependencies: 295 | - supports-color 296 | dev: true 297 | 298 | /@babel/highlight/7.17.9: 299 | resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} 300 | engines: {node: '>=6.9.0'} 301 | dependencies: 302 | '@babel/helper-validator-identifier': 7.16.7 303 | chalk: 2.4.2 304 | js-tokens: 4.0.0 305 | dev: true 306 | 307 | /@babel/parser/7.17.9: 308 | resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} 309 | engines: {node: '>=6.0.0'} 310 | hasBin: true 311 | dev: true 312 | 313 | /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.16.7_@babel+core@7.17.9: 314 | resolution: {integrity: sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==} 315 | engines: {node: '>=6.9.0'} 316 | peerDependencies: 317 | '@babel/core': ^7.0.0 318 | dependencies: 319 | '@babel/core': 7.17.9 320 | '@babel/helper-plugin-utils': 7.16.7 321 | dev: true 322 | 323 | /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.16.7_@babel+core@7.17.9: 324 | resolution: {integrity: sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==} 325 | engines: {node: '>=6.9.0'} 326 | peerDependencies: 327 | '@babel/core': ^7.13.0 328 | dependencies: 329 | '@babel/core': 7.17.9 330 | '@babel/helper-plugin-utils': 7.16.7 331 | '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 332 | '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.9 333 | dev: true 334 | 335 | /@babel/plugin-proposal-async-generator-functions/7.16.8_@babel+core@7.17.9: 336 | resolution: {integrity: sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==} 337 | engines: {node: '>=6.9.0'} 338 | peerDependencies: 339 | '@babel/core': ^7.0.0-0 340 | dependencies: 341 | '@babel/core': 7.17.9 342 | '@babel/helper-plugin-utils': 7.16.7 343 | '@babel/helper-remap-async-to-generator': 7.16.8 344 | '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9 345 | transitivePeerDependencies: 346 | - supports-color 347 | dev: true 348 | 349 | /@babel/plugin-proposal-class-properties/7.16.7_@babel+core@7.17.9: 350 | resolution: {integrity: sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==} 351 | engines: {node: '>=6.9.0'} 352 | peerDependencies: 353 | '@babel/core': ^7.0.0-0 354 | dependencies: 355 | '@babel/core': 7.17.9 356 | '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9 357 | '@babel/helper-plugin-utils': 7.16.7 358 | transitivePeerDependencies: 359 | - supports-color 360 | dev: true 361 | 362 | /@babel/plugin-proposal-class-static-block/7.17.6_@babel+core@7.17.9: 363 | resolution: {integrity: sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==} 364 | engines: {node: '>=6.9.0'} 365 | peerDependencies: 366 | '@babel/core': ^7.12.0 367 | dependencies: 368 | '@babel/core': 7.17.9 369 | '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9 370 | '@babel/helper-plugin-utils': 7.16.7 371 | '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.9 372 | transitivePeerDependencies: 373 | - supports-color 374 | dev: true 375 | 376 | /@babel/plugin-proposal-dynamic-import/7.16.7_@babel+core@7.17.9: 377 | resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==} 378 | engines: {node: '>=6.9.0'} 379 | peerDependencies: 380 | '@babel/core': ^7.0.0-0 381 | dependencies: 382 | '@babel/core': 7.17.9 383 | '@babel/helper-plugin-utils': 7.16.7 384 | '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.9 385 | dev: true 386 | 387 | /@babel/plugin-proposal-export-namespace-from/7.16.7_@babel+core@7.17.9: 388 | resolution: {integrity: sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==} 389 | engines: {node: '>=6.9.0'} 390 | peerDependencies: 391 | '@babel/core': ^7.0.0-0 392 | dependencies: 393 | '@babel/core': 7.17.9 394 | '@babel/helper-plugin-utils': 7.16.7 395 | '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.9 396 | dev: true 397 | 398 | /@babel/plugin-proposal-json-strings/7.16.7_@babel+core@7.17.9: 399 | resolution: {integrity: sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==} 400 | engines: {node: '>=6.9.0'} 401 | peerDependencies: 402 | '@babel/core': ^7.0.0-0 403 | dependencies: 404 | '@babel/core': 7.17.9 405 | '@babel/helper-plugin-utils': 7.16.7 406 | '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9 407 | dev: true 408 | 409 | /@babel/plugin-proposal-logical-assignment-operators/7.16.7_@babel+core@7.17.9: 410 | resolution: {integrity: sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==} 411 | engines: {node: '>=6.9.0'} 412 | peerDependencies: 413 | '@babel/core': ^7.0.0-0 414 | dependencies: 415 | '@babel/core': 7.17.9 416 | '@babel/helper-plugin-utils': 7.16.7 417 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9 418 | dev: true 419 | 420 | /@babel/plugin-proposal-nullish-coalescing-operator/7.16.7_@babel+core@7.17.9: 421 | resolution: {integrity: sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==} 422 | engines: {node: '>=6.9.0'} 423 | peerDependencies: 424 | '@babel/core': ^7.0.0-0 425 | dependencies: 426 | '@babel/core': 7.17.9 427 | '@babel/helper-plugin-utils': 7.16.7 428 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9 429 | dev: true 430 | 431 | /@babel/plugin-proposal-numeric-separator/7.16.7_@babel+core@7.17.9: 432 | resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==} 433 | engines: {node: '>=6.9.0'} 434 | peerDependencies: 435 | '@babel/core': ^7.0.0-0 436 | dependencies: 437 | '@babel/core': 7.17.9 438 | '@babel/helper-plugin-utils': 7.16.7 439 | '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9 440 | dev: true 441 | 442 | /@babel/plugin-proposal-object-rest-spread/7.17.3_@babel+core@7.17.9: 443 | resolution: {integrity: sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==} 444 | engines: {node: '>=6.9.0'} 445 | peerDependencies: 446 | '@babel/core': ^7.0.0-0 447 | dependencies: 448 | '@babel/compat-data': 7.17.7 449 | '@babel/core': 7.17.9 450 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 451 | '@babel/helper-plugin-utils': 7.16.7 452 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9 453 | '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.9 454 | dev: true 455 | 456 | /@babel/plugin-proposal-optional-catch-binding/7.16.7_@babel+core@7.17.9: 457 | resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==} 458 | engines: {node: '>=6.9.0'} 459 | peerDependencies: 460 | '@babel/core': ^7.0.0-0 461 | dependencies: 462 | '@babel/core': 7.17.9 463 | '@babel/helper-plugin-utils': 7.16.7 464 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9 465 | dev: true 466 | 467 | /@babel/plugin-proposal-optional-chaining/7.16.7_@babel+core@7.17.9: 468 | resolution: {integrity: sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==} 469 | engines: {node: '>=6.9.0'} 470 | peerDependencies: 471 | '@babel/core': ^7.0.0-0 472 | dependencies: 473 | '@babel/core': 7.17.9 474 | '@babel/helper-plugin-utils': 7.16.7 475 | '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 476 | '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9 477 | dev: true 478 | 479 | /@babel/plugin-proposal-private-methods/7.16.11_@babel+core@7.17.9: 480 | resolution: {integrity: sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==} 481 | engines: {node: '>=6.9.0'} 482 | peerDependencies: 483 | '@babel/core': ^7.0.0-0 484 | dependencies: 485 | '@babel/core': 7.17.9 486 | '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9 487 | '@babel/helper-plugin-utils': 7.16.7 488 | transitivePeerDependencies: 489 | - supports-color 490 | dev: true 491 | 492 | /@babel/plugin-proposal-private-property-in-object/7.16.7_@babel+core@7.17.9: 493 | resolution: {integrity: sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==} 494 | engines: {node: '>=6.9.0'} 495 | peerDependencies: 496 | '@babel/core': ^7.0.0-0 497 | dependencies: 498 | '@babel/core': 7.17.9 499 | '@babel/helper-annotate-as-pure': 7.16.7 500 | '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9 501 | '@babel/helper-plugin-utils': 7.16.7 502 | '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.9 503 | transitivePeerDependencies: 504 | - supports-color 505 | dev: true 506 | 507 | /@babel/plugin-proposal-unicode-property-regex/7.16.7_@babel+core@7.17.9: 508 | resolution: {integrity: sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==} 509 | engines: {node: '>=4'} 510 | peerDependencies: 511 | '@babel/core': ^7.0.0-0 512 | dependencies: 513 | '@babel/core': 7.17.9 514 | '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9 515 | '@babel/helper-plugin-utils': 7.16.7 516 | dev: true 517 | 518 | /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.9: 519 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} 520 | peerDependencies: 521 | '@babel/core': ^7.0.0-0 522 | dependencies: 523 | '@babel/core': 7.17.9 524 | '@babel/helper-plugin-utils': 7.16.7 525 | dev: true 526 | 527 | /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.17.9: 528 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} 529 | peerDependencies: 530 | '@babel/core': ^7.0.0-0 531 | dependencies: 532 | '@babel/core': 7.17.9 533 | '@babel/helper-plugin-utils': 7.16.7 534 | dev: true 535 | 536 | /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.9: 537 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 538 | peerDependencies: 539 | '@babel/core': ^7.0.0-0 540 | dependencies: 541 | '@babel/core': 7.17.9 542 | '@babel/helper-plugin-utils': 7.16.7 543 | dev: true 544 | 545 | /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.9: 546 | resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} 547 | engines: {node: '>=6.9.0'} 548 | peerDependencies: 549 | '@babel/core': ^7.0.0-0 550 | dependencies: 551 | '@babel/core': 7.17.9 552 | '@babel/helper-plugin-utils': 7.16.7 553 | dev: true 554 | 555 | /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.9: 556 | resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} 557 | peerDependencies: 558 | '@babel/core': ^7.0.0-0 559 | dependencies: 560 | '@babel/core': 7.17.9 561 | '@babel/helper-plugin-utils': 7.16.7 562 | dev: true 563 | 564 | /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.9: 565 | resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} 566 | peerDependencies: 567 | '@babel/core': ^7.0.0-0 568 | dependencies: 569 | '@babel/core': 7.17.9 570 | '@babel/helper-plugin-utils': 7.16.7 571 | dev: true 572 | 573 | /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.17.9: 574 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 575 | peerDependencies: 576 | '@babel/core': ^7.0.0-0 577 | dependencies: 578 | '@babel/core': 7.17.9 579 | '@babel/helper-plugin-utils': 7.16.7 580 | dev: true 581 | 582 | /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.9: 583 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} 584 | peerDependencies: 585 | '@babel/core': ^7.0.0-0 586 | dependencies: 587 | '@babel/core': 7.17.9 588 | '@babel/helper-plugin-utils': 7.16.7 589 | dev: true 590 | 591 | /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.9: 592 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} 593 | peerDependencies: 594 | '@babel/core': ^7.0.0-0 595 | dependencies: 596 | '@babel/core': 7.17.9 597 | '@babel/helper-plugin-utils': 7.16.7 598 | dev: true 599 | 600 | /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.9: 601 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} 602 | peerDependencies: 603 | '@babel/core': ^7.0.0-0 604 | dependencies: 605 | '@babel/core': 7.17.9 606 | '@babel/helper-plugin-utils': 7.16.7 607 | dev: true 608 | 609 | /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.9: 610 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} 611 | peerDependencies: 612 | '@babel/core': ^7.0.0-0 613 | dependencies: 614 | '@babel/core': 7.17.9 615 | '@babel/helper-plugin-utils': 7.16.7 616 | dev: true 617 | 618 | /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.9: 619 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 620 | peerDependencies: 621 | '@babel/core': ^7.0.0-0 622 | dependencies: 623 | '@babel/core': 7.17.9 624 | '@babel/helper-plugin-utils': 7.16.7 625 | dev: true 626 | 627 | /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.9: 628 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} 629 | peerDependencies: 630 | '@babel/core': ^7.0.0-0 631 | dependencies: 632 | '@babel/core': 7.17.9 633 | '@babel/helper-plugin-utils': 7.16.7 634 | dev: true 635 | 636 | /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.9: 637 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} 638 | peerDependencies: 639 | '@babel/core': ^7.0.0-0 640 | dependencies: 641 | '@babel/core': 7.17.9 642 | '@babel/helper-plugin-utils': 7.16.7 643 | dev: true 644 | 645 | /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.9: 646 | resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} 647 | engines: {node: '>=6.9.0'} 648 | peerDependencies: 649 | '@babel/core': ^7.0.0-0 650 | dependencies: 651 | '@babel/core': 7.17.9 652 | '@babel/helper-plugin-utils': 7.16.7 653 | dev: true 654 | 655 | /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.9: 656 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} 657 | engines: {node: '>=6.9.0'} 658 | peerDependencies: 659 | '@babel/core': ^7.0.0-0 660 | dependencies: 661 | '@babel/core': 7.17.9 662 | '@babel/helper-plugin-utils': 7.16.7 663 | dev: true 664 | 665 | /@babel/plugin-syntax-typescript/7.16.7_@babel+core@7.17.9: 666 | resolution: {integrity: sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==} 667 | engines: {node: '>=6.9.0'} 668 | peerDependencies: 669 | '@babel/core': ^7.0.0-0 670 | dependencies: 671 | '@babel/core': 7.17.9 672 | '@babel/helper-plugin-utils': 7.16.7 673 | dev: true 674 | 675 | /@babel/plugin-transform-arrow-functions/7.16.7_@babel+core@7.17.9: 676 | resolution: {integrity: sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==} 677 | engines: {node: '>=6.9.0'} 678 | peerDependencies: 679 | '@babel/core': ^7.0.0-0 680 | dependencies: 681 | '@babel/core': 7.17.9 682 | '@babel/helper-plugin-utils': 7.16.7 683 | dev: true 684 | 685 | /@babel/plugin-transform-async-to-generator/7.16.8_@babel+core@7.17.9: 686 | resolution: {integrity: sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==} 687 | engines: {node: '>=6.9.0'} 688 | peerDependencies: 689 | '@babel/core': ^7.0.0-0 690 | dependencies: 691 | '@babel/core': 7.17.9 692 | '@babel/helper-module-imports': 7.16.7 693 | '@babel/helper-plugin-utils': 7.16.7 694 | '@babel/helper-remap-async-to-generator': 7.16.8 695 | transitivePeerDependencies: 696 | - supports-color 697 | dev: true 698 | 699 | /@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.17.9: 700 | resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==} 701 | engines: {node: '>=6.9.0'} 702 | peerDependencies: 703 | '@babel/core': ^7.0.0-0 704 | dependencies: 705 | '@babel/core': 7.17.9 706 | '@babel/helper-plugin-utils': 7.16.7 707 | dev: true 708 | 709 | /@babel/plugin-transform-block-scoping/7.16.7_@babel+core@7.17.9: 710 | resolution: {integrity: sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==} 711 | engines: {node: '>=6.9.0'} 712 | peerDependencies: 713 | '@babel/core': ^7.0.0-0 714 | dependencies: 715 | '@babel/core': 7.17.9 716 | '@babel/helper-plugin-utils': 7.16.7 717 | dev: true 718 | 719 | /@babel/plugin-transform-classes/7.16.7_@babel+core@7.17.9: 720 | resolution: {integrity: sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==} 721 | engines: {node: '>=6.9.0'} 722 | peerDependencies: 723 | '@babel/core': ^7.0.0-0 724 | dependencies: 725 | '@babel/core': 7.17.9 726 | '@babel/helper-annotate-as-pure': 7.16.7 727 | '@babel/helper-environment-visitor': 7.16.7 728 | '@babel/helper-function-name': 7.17.9 729 | '@babel/helper-optimise-call-expression': 7.16.7 730 | '@babel/helper-plugin-utils': 7.16.7 731 | '@babel/helper-replace-supers': 7.16.7 732 | '@babel/helper-split-export-declaration': 7.16.7 733 | globals: 11.12.0 734 | transitivePeerDependencies: 735 | - supports-color 736 | dev: true 737 | 738 | /@babel/plugin-transform-computed-properties/7.16.7_@babel+core@7.17.9: 739 | resolution: {integrity: sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==} 740 | engines: {node: '>=6.9.0'} 741 | peerDependencies: 742 | '@babel/core': ^7.0.0-0 743 | dependencies: 744 | '@babel/core': 7.17.9 745 | '@babel/helper-plugin-utils': 7.16.7 746 | dev: true 747 | 748 | /@babel/plugin-transform-destructuring/7.17.7_@babel+core@7.17.9: 749 | resolution: {integrity: sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==} 750 | engines: {node: '>=6.9.0'} 751 | peerDependencies: 752 | '@babel/core': ^7.0.0-0 753 | dependencies: 754 | '@babel/core': 7.17.9 755 | '@babel/helper-plugin-utils': 7.16.7 756 | dev: true 757 | 758 | /@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.9: 759 | resolution: {integrity: sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==} 760 | engines: {node: '>=6.9.0'} 761 | peerDependencies: 762 | '@babel/core': ^7.0.0-0 763 | dependencies: 764 | '@babel/core': 7.17.9 765 | '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9 766 | '@babel/helper-plugin-utils': 7.16.7 767 | dev: true 768 | 769 | /@babel/plugin-transform-duplicate-keys/7.16.7_@babel+core@7.17.9: 770 | resolution: {integrity: sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==} 771 | engines: {node: '>=6.9.0'} 772 | peerDependencies: 773 | '@babel/core': ^7.0.0-0 774 | dependencies: 775 | '@babel/core': 7.17.9 776 | '@babel/helper-plugin-utils': 7.16.7 777 | dev: true 778 | 779 | /@babel/plugin-transform-exponentiation-operator/7.16.7_@babel+core@7.17.9: 780 | resolution: {integrity: sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==} 781 | engines: {node: '>=6.9.0'} 782 | peerDependencies: 783 | '@babel/core': ^7.0.0-0 784 | dependencies: 785 | '@babel/core': 7.17.9 786 | '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.7 787 | '@babel/helper-plugin-utils': 7.16.7 788 | dev: true 789 | 790 | /@babel/plugin-transform-for-of/7.16.7_@babel+core@7.17.9: 791 | resolution: {integrity: sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==} 792 | engines: {node: '>=6.9.0'} 793 | peerDependencies: 794 | '@babel/core': ^7.0.0-0 795 | dependencies: 796 | '@babel/core': 7.17.9 797 | '@babel/helper-plugin-utils': 7.16.7 798 | dev: true 799 | 800 | /@babel/plugin-transform-function-name/7.16.7_@babel+core@7.17.9: 801 | resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==} 802 | engines: {node: '>=6.9.0'} 803 | peerDependencies: 804 | '@babel/core': ^7.0.0-0 805 | dependencies: 806 | '@babel/core': 7.17.9 807 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 808 | '@babel/helper-function-name': 7.17.9 809 | '@babel/helper-plugin-utils': 7.16.7 810 | dev: true 811 | 812 | /@babel/plugin-transform-literals/7.16.7_@babel+core@7.17.9: 813 | resolution: {integrity: sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==} 814 | engines: {node: '>=6.9.0'} 815 | peerDependencies: 816 | '@babel/core': ^7.0.0-0 817 | dependencies: 818 | '@babel/core': 7.17.9 819 | '@babel/helper-plugin-utils': 7.16.7 820 | dev: true 821 | 822 | /@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.17.9: 823 | resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==} 824 | engines: {node: '>=6.9.0'} 825 | peerDependencies: 826 | '@babel/core': ^7.0.0-0 827 | dependencies: 828 | '@babel/core': 7.17.9 829 | '@babel/helper-plugin-utils': 7.16.7 830 | dev: true 831 | 832 | /@babel/plugin-transform-modules-amd/7.16.7_@babel+core@7.17.9: 833 | resolution: {integrity: sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==} 834 | engines: {node: '>=6.9.0'} 835 | peerDependencies: 836 | '@babel/core': ^7.0.0-0 837 | dependencies: 838 | '@babel/core': 7.17.9 839 | '@babel/helper-module-transforms': 7.17.7 840 | '@babel/helper-plugin-utils': 7.16.7 841 | babel-plugin-dynamic-import-node: 2.3.3 842 | transitivePeerDependencies: 843 | - supports-color 844 | dev: true 845 | 846 | /@babel/plugin-transform-modules-commonjs/7.17.9_@babel+core@7.17.9: 847 | resolution: {integrity: sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==} 848 | engines: {node: '>=6.9.0'} 849 | peerDependencies: 850 | '@babel/core': ^7.0.0-0 851 | dependencies: 852 | '@babel/core': 7.17.9 853 | '@babel/helper-module-transforms': 7.17.7 854 | '@babel/helper-plugin-utils': 7.16.7 855 | '@babel/helper-simple-access': 7.17.7 856 | babel-plugin-dynamic-import-node: 2.3.3 857 | transitivePeerDependencies: 858 | - supports-color 859 | dev: true 860 | 861 | /@babel/plugin-transform-modules-systemjs/7.17.8_@babel+core@7.17.9: 862 | resolution: {integrity: sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==} 863 | engines: {node: '>=6.9.0'} 864 | peerDependencies: 865 | '@babel/core': ^7.0.0-0 866 | dependencies: 867 | '@babel/core': 7.17.9 868 | '@babel/helper-hoist-variables': 7.16.7 869 | '@babel/helper-module-transforms': 7.17.7 870 | '@babel/helper-plugin-utils': 7.16.7 871 | '@babel/helper-validator-identifier': 7.16.7 872 | babel-plugin-dynamic-import-node: 2.3.3 873 | transitivePeerDependencies: 874 | - supports-color 875 | dev: true 876 | 877 | /@babel/plugin-transform-modules-umd/7.16.7_@babel+core@7.17.9: 878 | resolution: {integrity: sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==} 879 | engines: {node: '>=6.9.0'} 880 | peerDependencies: 881 | '@babel/core': ^7.0.0-0 882 | dependencies: 883 | '@babel/core': 7.17.9 884 | '@babel/helper-module-transforms': 7.17.7 885 | '@babel/helper-plugin-utils': 7.16.7 886 | transitivePeerDependencies: 887 | - supports-color 888 | dev: true 889 | 890 | /@babel/plugin-transform-named-capturing-groups-regex/7.16.8_@babel+core@7.17.9: 891 | resolution: {integrity: sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==} 892 | engines: {node: '>=6.9.0'} 893 | peerDependencies: 894 | '@babel/core': ^7.0.0 895 | dependencies: 896 | '@babel/core': 7.17.9 897 | '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9 898 | dev: true 899 | 900 | /@babel/plugin-transform-new-target/7.16.7_@babel+core@7.17.9: 901 | resolution: {integrity: sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==} 902 | engines: {node: '>=6.9.0'} 903 | peerDependencies: 904 | '@babel/core': ^7.0.0-0 905 | dependencies: 906 | '@babel/core': 7.17.9 907 | '@babel/helper-plugin-utils': 7.16.7 908 | dev: true 909 | 910 | /@babel/plugin-transform-object-super/7.16.7_@babel+core@7.17.9: 911 | resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==} 912 | engines: {node: '>=6.9.0'} 913 | peerDependencies: 914 | '@babel/core': ^7.0.0-0 915 | dependencies: 916 | '@babel/core': 7.17.9 917 | '@babel/helper-plugin-utils': 7.16.7 918 | '@babel/helper-replace-supers': 7.16.7 919 | transitivePeerDependencies: 920 | - supports-color 921 | dev: true 922 | 923 | /@babel/plugin-transform-parameters/7.16.7_@babel+core@7.17.9: 924 | resolution: {integrity: sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==} 925 | engines: {node: '>=6.9.0'} 926 | peerDependencies: 927 | '@babel/core': ^7.0.0-0 928 | dependencies: 929 | '@babel/core': 7.17.9 930 | '@babel/helper-plugin-utils': 7.16.7 931 | dev: true 932 | 933 | /@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.17.9: 934 | resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==} 935 | engines: {node: '>=6.9.0'} 936 | peerDependencies: 937 | '@babel/core': ^7.0.0-0 938 | dependencies: 939 | '@babel/core': 7.17.9 940 | '@babel/helper-plugin-utils': 7.16.7 941 | dev: true 942 | 943 | /@babel/plugin-transform-regenerator/7.17.9_@babel+core@7.17.9: 944 | resolution: {integrity: sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==} 945 | engines: {node: '>=6.9.0'} 946 | peerDependencies: 947 | '@babel/core': ^7.0.0-0 948 | dependencies: 949 | '@babel/core': 7.17.9 950 | regenerator-transform: 0.15.0 951 | dev: true 952 | 953 | /@babel/plugin-transform-reserved-words/7.16.7_@babel+core@7.17.9: 954 | resolution: {integrity: sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==} 955 | engines: {node: '>=6.9.0'} 956 | peerDependencies: 957 | '@babel/core': ^7.0.0-0 958 | dependencies: 959 | '@babel/core': 7.17.9 960 | '@babel/helper-plugin-utils': 7.16.7 961 | dev: true 962 | 963 | /@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.17.9: 964 | resolution: {integrity: sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==} 965 | engines: {node: '>=6.9.0'} 966 | peerDependencies: 967 | '@babel/core': ^7.0.0-0 968 | dependencies: 969 | '@babel/core': 7.17.9 970 | '@babel/helper-plugin-utils': 7.16.7 971 | dev: true 972 | 973 | /@babel/plugin-transform-spread/7.16.7_@babel+core@7.17.9: 974 | resolution: {integrity: sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==} 975 | engines: {node: '>=6.9.0'} 976 | peerDependencies: 977 | '@babel/core': ^7.0.0-0 978 | dependencies: 979 | '@babel/core': 7.17.9 980 | '@babel/helper-plugin-utils': 7.16.7 981 | '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 982 | dev: true 983 | 984 | /@babel/plugin-transform-sticky-regex/7.16.7_@babel+core@7.17.9: 985 | resolution: {integrity: sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==} 986 | engines: {node: '>=6.9.0'} 987 | peerDependencies: 988 | '@babel/core': ^7.0.0-0 989 | dependencies: 990 | '@babel/core': 7.17.9 991 | '@babel/helper-plugin-utils': 7.16.7 992 | dev: true 993 | 994 | /@babel/plugin-transform-template-literals/7.16.7_@babel+core@7.17.9: 995 | resolution: {integrity: sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==} 996 | engines: {node: '>=6.9.0'} 997 | peerDependencies: 998 | '@babel/core': ^7.0.0-0 999 | dependencies: 1000 | '@babel/core': 7.17.9 1001 | '@babel/helper-plugin-utils': 7.16.7 1002 | dev: true 1003 | 1004 | /@babel/plugin-transform-typeof-symbol/7.16.7_@babel+core@7.17.9: 1005 | resolution: {integrity: sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==} 1006 | engines: {node: '>=6.9.0'} 1007 | peerDependencies: 1008 | '@babel/core': ^7.0.0-0 1009 | dependencies: 1010 | '@babel/core': 7.17.9 1011 | '@babel/helper-plugin-utils': 7.16.7 1012 | dev: true 1013 | 1014 | /@babel/plugin-transform-typescript/7.16.8_@babel+core@7.17.9: 1015 | resolution: {integrity: sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==} 1016 | engines: {node: '>=6.9.0'} 1017 | peerDependencies: 1018 | '@babel/core': ^7.0.0-0 1019 | dependencies: 1020 | '@babel/core': 7.17.9 1021 | '@babel/helper-create-class-features-plugin': 7.17.9_@babel+core@7.17.9 1022 | '@babel/helper-plugin-utils': 7.16.7 1023 | '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.9 1024 | transitivePeerDependencies: 1025 | - supports-color 1026 | dev: true 1027 | 1028 | /@babel/plugin-transform-unicode-escapes/7.16.7_@babel+core@7.17.9: 1029 | resolution: {integrity: sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==} 1030 | engines: {node: '>=6.9.0'} 1031 | peerDependencies: 1032 | '@babel/core': ^7.0.0-0 1033 | dependencies: 1034 | '@babel/core': 7.17.9 1035 | '@babel/helper-plugin-utils': 7.16.7 1036 | dev: true 1037 | 1038 | /@babel/plugin-transform-unicode-regex/7.16.7_@babel+core@7.17.9: 1039 | resolution: {integrity: sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==} 1040 | engines: {node: '>=6.9.0'} 1041 | peerDependencies: 1042 | '@babel/core': ^7.0.0-0 1043 | dependencies: 1044 | '@babel/core': 7.17.9 1045 | '@babel/helper-create-regexp-features-plugin': 7.17.0_@babel+core@7.17.9 1046 | '@babel/helper-plugin-utils': 7.16.7 1047 | dev: true 1048 | 1049 | /@babel/preset-env/7.16.11_@babel+core@7.17.9: 1050 | resolution: {integrity: sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==} 1051 | engines: {node: '>=6.9.0'} 1052 | peerDependencies: 1053 | '@babel/core': ^7.0.0-0 1054 | dependencies: 1055 | '@babel/compat-data': 7.17.7 1056 | '@babel/core': 7.17.9 1057 | '@babel/helper-compilation-targets': 7.17.7_@babel+core@7.17.9 1058 | '@babel/helper-plugin-utils': 7.16.7 1059 | '@babel/helper-validator-option': 7.16.7 1060 | '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.16.7_@babel+core@7.17.9 1061 | '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.16.7_@babel+core@7.17.9 1062 | '@babel/plugin-proposal-async-generator-functions': 7.16.8_@babel+core@7.17.9 1063 | '@babel/plugin-proposal-class-properties': 7.16.7_@babel+core@7.17.9 1064 | '@babel/plugin-proposal-class-static-block': 7.17.6_@babel+core@7.17.9 1065 | '@babel/plugin-proposal-dynamic-import': 7.16.7_@babel+core@7.17.9 1066 | '@babel/plugin-proposal-export-namespace-from': 7.16.7_@babel+core@7.17.9 1067 | '@babel/plugin-proposal-json-strings': 7.16.7_@babel+core@7.17.9 1068 | '@babel/plugin-proposal-logical-assignment-operators': 7.16.7_@babel+core@7.17.9 1069 | '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.7_@babel+core@7.17.9 1070 | '@babel/plugin-proposal-numeric-separator': 7.16.7_@babel+core@7.17.9 1071 | '@babel/plugin-proposal-object-rest-spread': 7.17.3_@babel+core@7.17.9 1072 | '@babel/plugin-proposal-optional-catch-binding': 7.16.7_@babel+core@7.17.9 1073 | '@babel/plugin-proposal-optional-chaining': 7.16.7_@babel+core@7.17.9 1074 | '@babel/plugin-proposal-private-methods': 7.16.11_@babel+core@7.17.9 1075 | '@babel/plugin-proposal-private-property-in-object': 7.16.7_@babel+core@7.17.9 1076 | '@babel/plugin-proposal-unicode-property-regex': 7.16.7_@babel+core@7.17.9 1077 | '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9 1078 | '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.9 1079 | '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.9 1080 | '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.9 1081 | '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.9 1082 | '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9 1083 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9 1084 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9 1085 | '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9 1086 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9 1087 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9 1088 | '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9 1089 | '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.9 1090 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.9 1091 | '@babel/plugin-transform-arrow-functions': 7.16.7_@babel+core@7.17.9 1092 | '@babel/plugin-transform-async-to-generator': 7.16.8_@babel+core@7.17.9 1093 | '@babel/plugin-transform-block-scoped-functions': 7.16.7_@babel+core@7.17.9 1094 | '@babel/plugin-transform-block-scoping': 7.16.7_@babel+core@7.17.9 1095 | '@babel/plugin-transform-classes': 7.16.7_@babel+core@7.17.9 1096 | '@babel/plugin-transform-computed-properties': 7.16.7_@babel+core@7.17.9 1097 | '@babel/plugin-transform-destructuring': 7.17.7_@babel+core@7.17.9 1098 | '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.9 1099 | '@babel/plugin-transform-duplicate-keys': 7.16.7_@babel+core@7.17.9 1100 | '@babel/plugin-transform-exponentiation-operator': 7.16.7_@babel+core@7.17.9 1101 | '@babel/plugin-transform-for-of': 7.16.7_@babel+core@7.17.9 1102 | '@babel/plugin-transform-function-name': 7.16.7_@babel+core@7.17.9 1103 | '@babel/plugin-transform-literals': 7.16.7_@babel+core@7.17.9 1104 | '@babel/plugin-transform-member-expression-literals': 7.16.7_@babel+core@7.17.9 1105 | '@babel/plugin-transform-modules-amd': 7.16.7_@babel+core@7.17.9 1106 | '@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9 1107 | '@babel/plugin-transform-modules-systemjs': 7.17.8_@babel+core@7.17.9 1108 | '@babel/plugin-transform-modules-umd': 7.16.7_@babel+core@7.17.9 1109 | '@babel/plugin-transform-named-capturing-groups-regex': 7.16.8_@babel+core@7.17.9 1110 | '@babel/plugin-transform-new-target': 7.16.7_@babel+core@7.17.9 1111 | '@babel/plugin-transform-object-super': 7.16.7_@babel+core@7.17.9 1112 | '@babel/plugin-transform-parameters': 7.16.7_@babel+core@7.17.9 1113 | '@babel/plugin-transform-property-literals': 7.16.7_@babel+core@7.17.9 1114 | '@babel/plugin-transform-regenerator': 7.17.9_@babel+core@7.17.9 1115 | '@babel/plugin-transform-reserved-words': 7.16.7_@babel+core@7.17.9 1116 | '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.17.9 1117 | '@babel/plugin-transform-spread': 7.16.7_@babel+core@7.17.9 1118 | '@babel/plugin-transform-sticky-regex': 7.16.7_@babel+core@7.17.9 1119 | '@babel/plugin-transform-template-literals': 7.16.7_@babel+core@7.17.9 1120 | '@babel/plugin-transform-typeof-symbol': 7.16.7_@babel+core@7.17.9 1121 | '@babel/plugin-transform-unicode-escapes': 7.16.7_@babel+core@7.17.9 1122 | '@babel/plugin-transform-unicode-regex': 7.16.7_@babel+core@7.17.9 1123 | '@babel/preset-modules': 0.1.5_@babel+core@7.17.9 1124 | '@babel/types': 7.17.0 1125 | babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.17.9 1126 | babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.17.9 1127 | babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.17.9 1128 | core-js-compat: 3.22.0 1129 | semver: 6.3.0 1130 | transitivePeerDependencies: 1131 | - supports-color 1132 | dev: true 1133 | 1134 | /@babel/preset-modules/0.1.5_@babel+core@7.17.9: 1135 | resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} 1136 | peerDependencies: 1137 | '@babel/core': ^7.0.0-0 1138 | dependencies: 1139 | '@babel/core': 7.17.9 1140 | '@babel/helper-plugin-utils': 7.16.7 1141 | '@babel/plugin-proposal-unicode-property-regex': 7.16.7_@babel+core@7.17.9 1142 | '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.9 1143 | '@babel/types': 7.17.0 1144 | esutils: 2.0.3 1145 | dev: true 1146 | 1147 | /@babel/preset-typescript/7.16.7_@babel+core@7.17.9: 1148 | resolution: {integrity: sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==} 1149 | engines: {node: '>=6.9.0'} 1150 | peerDependencies: 1151 | '@babel/core': ^7.0.0-0 1152 | dependencies: 1153 | '@babel/core': 7.17.9 1154 | '@babel/helper-plugin-utils': 7.16.7 1155 | '@babel/helper-validator-option': 7.16.7 1156 | '@babel/plugin-transform-typescript': 7.16.8_@babel+core@7.17.9 1157 | transitivePeerDependencies: 1158 | - supports-color 1159 | dev: true 1160 | 1161 | /@babel/runtime/7.17.9: 1162 | resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} 1163 | engines: {node: '>=6.9.0'} 1164 | dependencies: 1165 | regenerator-runtime: 0.13.9 1166 | dev: true 1167 | 1168 | /@babel/template/7.16.7: 1169 | resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} 1170 | engines: {node: '>=6.9.0'} 1171 | dependencies: 1172 | '@babel/code-frame': 7.16.7 1173 | '@babel/parser': 7.17.9 1174 | '@babel/types': 7.17.0 1175 | dev: true 1176 | 1177 | /@babel/traverse/7.17.9: 1178 | resolution: {integrity: sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==} 1179 | engines: {node: '>=6.9.0'} 1180 | dependencies: 1181 | '@babel/code-frame': 7.16.7 1182 | '@babel/generator': 7.17.9 1183 | '@babel/helper-environment-visitor': 7.16.7 1184 | '@babel/helper-function-name': 7.17.9 1185 | '@babel/helper-hoist-variables': 7.16.7 1186 | '@babel/helper-split-export-declaration': 7.16.7 1187 | '@babel/parser': 7.17.9 1188 | '@babel/types': 7.17.0 1189 | debug: 4.3.4 1190 | globals: 11.12.0 1191 | transitivePeerDependencies: 1192 | - supports-color 1193 | dev: true 1194 | 1195 | /@babel/types/7.17.0: 1196 | resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} 1197 | engines: {node: '>=6.9.0'} 1198 | dependencies: 1199 | '@babel/helper-validator-identifier': 7.16.7 1200 | to-fast-properties: 2.0.0 1201 | dev: true 1202 | 1203 | /@bcoe/v8-coverage/0.2.3: 1204 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 1205 | dev: true 1206 | 1207 | /@istanbuljs/load-nyc-config/1.1.0: 1208 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 1209 | engines: {node: '>=8'} 1210 | dependencies: 1211 | camelcase: 5.3.1 1212 | find-up: 4.1.0 1213 | get-package-type: 0.1.0 1214 | js-yaml: 3.14.1 1215 | resolve-from: 5.0.0 1216 | dev: true 1217 | 1218 | /@istanbuljs/schema/0.1.3: 1219 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 1220 | engines: {node: '>=8'} 1221 | dev: true 1222 | 1223 | /@jest/console/27.5.1: 1224 | resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} 1225 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1226 | dependencies: 1227 | '@jest/types': 27.5.1 1228 | '@types/node': 17.0.24 1229 | chalk: 4.1.2 1230 | jest-message-util: 27.5.1 1231 | jest-util: 27.5.1 1232 | slash: 3.0.0 1233 | dev: true 1234 | 1235 | /@jest/core/27.5.1: 1236 | resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} 1237 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1238 | peerDependencies: 1239 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1240 | peerDependenciesMeta: 1241 | node-notifier: 1242 | optional: true 1243 | dependencies: 1244 | '@jest/console': 27.5.1 1245 | '@jest/reporters': 27.5.1 1246 | '@jest/test-result': 27.5.1 1247 | '@jest/transform': 27.5.1 1248 | '@jest/types': 27.5.1 1249 | '@types/node': 17.0.24 1250 | ansi-escapes: 4.3.2 1251 | chalk: 4.1.2 1252 | emittery: 0.8.1 1253 | exit: 0.1.2 1254 | graceful-fs: 4.2.10 1255 | jest-changed-files: 27.5.1 1256 | jest-config: 27.5.1 1257 | jest-haste-map: 27.5.1 1258 | jest-message-util: 27.5.1 1259 | jest-regex-util: 27.5.1 1260 | jest-resolve: 27.5.1 1261 | jest-resolve-dependencies: 27.5.1 1262 | jest-runner: 27.5.1 1263 | jest-runtime: 27.5.1 1264 | jest-snapshot: 27.5.1 1265 | jest-util: 27.5.1 1266 | jest-validate: 27.5.1 1267 | jest-watcher: 27.5.1 1268 | micromatch: 4.0.5 1269 | rimraf: 3.0.2 1270 | slash: 3.0.0 1271 | strip-ansi: 6.0.1 1272 | transitivePeerDependencies: 1273 | - bufferutil 1274 | - canvas 1275 | - supports-color 1276 | - ts-node 1277 | - utf-8-validate 1278 | dev: true 1279 | 1280 | /@jest/environment/27.5.1: 1281 | resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} 1282 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1283 | dependencies: 1284 | '@jest/fake-timers': 27.5.1 1285 | '@jest/types': 27.5.1 1286 | '@types/node': 17.0.24 1287 | jest-mock: 27.5.1 1288 | dev: true 1289 | 1290 | /@jest/fake-timers/27.5.1: 1291 | resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} 1292 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1293 | dependencies: 1294 | '@jest/types': 27.5.1 1295 | '@sinonjs/fake-timers': 8.1.0 1296 | '@types/node': 17.0.24 1297 | jest-message-util: 27.5.1 1298 | jest-mock: 27.5.1 1299 | jest-util: 27.5.1 1300 | dev: true 1301 | 1302 | /@jest/globals/27.5.1: 1303 | resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} 1304 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1305 | dependencies: 1306 | '@jest/environment': 27.5.1 1307 | '@jest/types': 27.5.1 1308 | expect: 27.5.1 1309 | dev: true 1310 | 1311 | /@jest/reporters/27.5.1: 1312 | resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} 1313 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1314 | peerDependencies: 1315 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 1316 | peerDependenciesMeta: 1317 | node-notifier: 1318 | optional: true 1319 | dependencies: 1320 | '@bcoe/v8-coverage': 0.2.3 1321 | '@jest/console': 27.5.1 1322 | '@jest/test-result': 27.5.1 1323 | '@jest/transform': 27.5.1 1324 | '@jest/types': 27.5.1 1325 | '@types/node': 17.0.24 1326 | chalk: 4.1.2 1327 | collect-v8-coverage: 1.0.1 1328 | exit: 0.1.2 1329 | glob: 7.2.0 1330 | graceful-fs: 4.2.10 1331 | istanbul-lib-coverage: 3.2.0 1332 | istanbul-lib-instrument: 5.1.0 1333 | istanbul-lib-report: 3.0.0 1334 | istanbul-lib-source-maps: 4.0.1 1335 | istanbul-reports: 3.1.4 1336 | jest-haste-map: 27.5.1 1337 | jest-resolve: 27.5.1 1338 | jest-util: 27.5.1 1339 | jest-worker: 27.5.1 1340 | slash: 3.0.0 1341 | source-map: 0.6.1 1342 | string-length: 4.0.2 1343 | terminal-link: 2.1.1 1344 | v8-to-istanbul: 8.1.1 1345 | transitivePeerDependencies: 1346 | - supports-color 1347 | dev: true 1348 | 1349 | /@jest/source-map/27.5.1: 1350 | resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} 1351 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1352 | dependencies: 1353 | callsites: 3.1.0 1354 | graceful-fs: 4.2.10 1355 | source-map: 0.6.1 1356 | dev: true 1357 | 1358 | /@jest/test-result/27.5.1: 1359 | resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} 1360 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1361 | dependencies: 1362 | '@jest/console': 27.5.1 1363 | '@jest/types': 27.5.1 1364 | '@types/istanbul-lib-coverage': 2.0.4 1365 | collect-v8-coverage: 1.0.1 1366 | dev: true 1367 | 1368 | /@jest/test-sequencer/27.5.1: 1369 | resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} 1370 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1371 | dependencies: 1372 | '@jest/test-result': 27.5.1 1373 | graceful-fs: 4.2.10 1374 | jest-haste-map: 27.5.1 1375 | jest-runtime: 27.5.1 1376 | transitivePeerDependencies: 1377 | - supports-color 1378 | dev: true 1379 | 1380 | /@jest/transform/27.5.1: 1381 | resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} 1382 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1383 | dependencies: 1384 | '@babel/core': 7.17.9 1385 | '@jest/types': 27.5.1 1386 | babel-plugin-istanbul: 6.1.1 1387 | chalk: 4.1.2 1388 | convert-source-map: 1.8.0 1389 | fast-json-stable-stringify: 2.1.0 1390 | graceful-fs: 4.2.10 1391 | jest-haste-map: 27.5.1 1392 | jest-regex-util: 27.5.1 1393 | jest-util: 27.5.1 1394 | micromatch: 4.0.5 1395 | pirates: 4.0.5 1396 | slash: 3.0.0 1397 | source-map: 0.6.1 1398 | write-file-atomic: 3.0.3 1399 | transitivePeerDependencies: 1400 | - supports-color 1401 | dev: true 1402 | 1403 | /@jest/types/27.5.1: 1404 | resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} 1405 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1406 | dependencies: 1407 | '@types/istanbul-lib-coverage': 2.0.4 1408 | '@types/istanbul-reports': 3.0.1 1409 | '@types/node': 17.0.24 1410 | '@types/yargs': 16.0.4 1411 | chalk: 4.1.2 1412 | dev: true 1413 | 1414 | /@jridgewell/resolve-uri/3.0.5: 1415 | resolution: {integrity: sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==} 1416 | engines: {node: '>=6.0.0'} 1417 | dev: true 1418 | 1419 | /@jridgewell/sourcemap-codec/1.4.11: 1420 | resolution: {integrity: sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==} 1421 | dev: true 1422 | 1423 | /@jridgewell/trace-mapping/0.3.4: 1424 | resolution: {integrity: sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==} 1425 | dependencies: 1426 | '@jridgewell/resolve-uri': 3.0.5 1427 | '@jridgewell/sourcemap-codec': 1.4.11 1428 | dev: true 1429 | 1430 | /@sinonjs/commons/1.8.3: 1431 | resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} 1432 | dependencies: 1433 | type-detect: 4.0.8 1434 | dev: true 1435 | 1436 | /@sinonjs/fake-timers/8.1.0: 1437 | resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} 1438 | dependencies: 1439 | '@sinonjs/commons': 1.8.3 1440 | dev: true 1441 | 1442 | /@tootallnate/once/1.1.2: 1443 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} 1444 | engines: {node: '>= 6'} 1445 | dev: true 1446 | 1447 | /@types/babel__core/7.1.19: 1448 | resolution: {integrity: sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==} 1449 | dependencies: 1450 | '@babel/parser': 7.17.9 1451 | '@babel/types': 7.17.0 1452 | '@types/babel__generator': 7.6.4 1453 | '@types/babel__template': 7.4.1 1454 | '@types/babel__traverse': 7.17.0 1455 | dev: true 1456 | 1457 | /@types/babel__generator/7.6.4: 1458 | resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} 1459 | dependencies: 1460 | '@babel/types': 7.17.0 1461 | dev: true 1462 | 1463 | /@types/babel__template/7.4.1: 1464 | resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} 1465 | dependencies: 1466 | '@babel/parser': 7.17.9 1467 | '@babel/types': 7.17.0 1468 | dev: true 1469 | 1470 | /@types/babel__traverse/7.17.0: 1471 | resolution: {integrity: sha512-r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==} 1472 | dependencies: 1473 | '@babel/types': 7.17.0 1474 | dev: true 1475 | 1476 | /@types/graceful-fs/4.1.5: 1477 | resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} 1478 | dependencies: 1479 | '@types/node': 17.0.24 1480 | dev: true 1481 | 1482 | /@types/istanbul-lib-coverage/2.0.4: 1483 | resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} 1484 | dev: true 1485 | 1486 | /@types/istanbul-lib-report/3.0.0: 1487 | resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} 1488 | dependencies: 1489 | '@types/istanbul-lib-coverage': 2.0.4 1490 | dev: true 1491 | 1492 | /@types/istanbul-reports/3.0.1: 1493 | resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} 1494 | dependencies: 1495 | '@types/istanbul-lib-report': 3.0.0 1496 | dev: true 1497 | 1498 | /@types/jest/27.4.1: 1499 | resolution: {integrity: sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==} 1500 | dependencies: 1501 | jest-matcher-utils: 27.5.1 1502 | pretty-format: 27.5.1 1503 | dev: true 1504 | 1505 | /@types/node/17.0.24: 1506 | resolution: {integrity: sha512-aveCYRQbgTH9Pssp1voEP7HiuWlD2jW2BO56w+bVrJn04i61yh6mRfoKO6hEYQD9vF+W8Chkwc6j1M36uPkx4g==} 1507 | dev: true 1508 | 1509 | /@types/prettier/2.6.0: 1510 | resolution: {integrity: sha512-G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==} 1511 | dev: true 1512 | 1513 | /@types/stack-utils/2.0.1: 1514 | resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} 1515 | dev: true 1516 | 1517 | /@types/yargs-parser/21.0.0: 1518 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 1519 | dev: true 1520 | 1521 | /@types/yargs/16.0.4: 1522 | resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} 1523 | dependencies: 1524 | '@types/yargs-parser': 21.0.0 1525 | dev: true 1526 | 1527 | /abab/2.0.6: 1528 | resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} 1529 | dev: true 1530 | 1531 | /acorn-globals/6.0.0: 1532 | resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} 1533 | dependencies: 1534 | acorn: 7.4.1 1535 | acorn-walk: 7.2.0 1536 | dev: true 1537 | 1538 | /acorn-walk/7.2.0: 1539 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 1540 | engines: {node: '>=0.4.0'} 1541 | dev: true 1542 | 1543 | /acorn/7.4.1: 1544 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 1545 | engines: {node: '>=0.4.0'} 1546 | hasBin: true 1547 | dev: true 1548 | 1549 | /acorn/8.7.0: 1550 | resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} 1551 | engines: {node: '>=0.4.0'} 1552 | hasBin: true 1553 | dev: true 1554 | 1555 | /agent-base/6.0.2: 1556 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 1557 | engines: {node: '>= 6.0.0'} 1558 | dependencies: 1559 | debug: 4.3.4 1560 | transitivePeerDependencies: 1561 | - supports-color 1562 | dev: true 1563 | 1564 | /ansi-escapes/4.3.2: 1565 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 1566 | engines: {node: '>=8'} 1567 | dependencies: 1568 | type-fest: 0.21.3 1569 | dev: true 1570 | 1571 | /ansi-regex/5.0.1: 1572 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1573 | engines: {node: '>=8'} 1574 | dev: true 1575 | 1576 | /ansi-styles/3.2.1: 1577 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1578 | engines: {node: '>=4'} 1579 | dependencies: 1580 | color-convert: 1.9.3 1581 | dev: true 1582 | 1583 | /ansi-styles/4.3.0: 1584 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1585 | engines: {node: '>=8'} 1586 | dependencies: 1587 | color-convert: 2.0.1 1588 | dev: true 1589 | 1590 | /ansi-styles/5.2.0: 1591 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 1592 | engines: {node: '>=10'} 1593 | dev: true 1594 | 1595 | /anymatch/3.1.2: 1596 | resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} 1597 | engines: {node: '>= 8'} 1598 | dependencies: 1599 | normalize-path: 3.0.0 1600 | picomatch: 2.3.1 1601 | dev: true 1602 | 1603 | /argparse/1.0.10: 1604 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1605 | dependencies: 1606 | sprintf-js: 1.0.3 1607 | dev: true 1608 | 1609 | /asynckit/0.4.0: 1610 | resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} 1611 | dev: true 1612 | 1613 | /babel-jest/27.5.1_@babel+core@7.17.9: 1614 | resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} 1615 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1616 | peerDependencies: 1617 | '@babel/core': ^7.8.0 1618 | dependencies: 1619 | '@babel/core': 7.17.9 1620 | '@jest/transform': 27.5.1 1621 | '@jest/types': 27.5.1 1622 | '@types/babel__core': 7.1.19 1623 | babel-plugin-istanbul: 6.1.1 1624 | babel-preset-jest: 27.5.1_@babel+core@7.17.9 1625 | chalk: 4.1.2 1626 | graceful-fs: 4.2.10 1627 | slash: 3.0.0 1628 | transitivePeerDependencies: 1629 | - supports-color 1630 | dev: true 1631 | 1632 | /babel-plugin-dynamic-import-node/2.3.3: 1633 | resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} 1634 | dependencies: 1635 | object.assign: 4.1.2 1636 | dev: true 1637 | 1638 | /babel-plugin-istanbul/6.1.1: 1639 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} 1640 | engines: {node: '>=8'} 1641 | dependencies: 1642 | '@babel/helper-plugin-utils': 7.16.7 1643 | '@istanbuljs/load-nyc-config': 1.1.0 1644 | '@istanbuljs/schema': 0.1.3 1645 | istanbul-lib-instrument: 5.1.0 1646 | test-exclude: 6.0.0 1647 | transitivePeerDependencies: 1648 | - supports-color 1649 | dev: true 1650 | 1651 | /babel-plugin-jest-hoist/27.5.1: 1652 | resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} 1653 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1654 | dependencies: 1655 | '@babel/template': 7.16.7 1656 | '@babel/types': 7.17.0 1657 | '@types/babel__core': 7.1.19 1658 | '@types/babel__traverse': 7.17.0 1659 | dev: true 1660 | 1661 | /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.17.9: 1662 | resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==} 1663 | peerDependencies: 1664 | '@babel/core': ^7.0.0-0 1665 | dependencies: 1666 | '@babel/compat-data': 7.17.7 1667 | '@babel/core': 7.17.9 1668 | '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9 1669 | semver: 6.3.0 1670 | transitivePeerDependencies: 1671 | - supports-color 1672 | dev: true 1673 | 1674 | /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.17.9: 1675 | resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} 1676 | peerDependencies: 1677 | '@babel/core': ^7.0.0-0 1678 | dependencies: 1679 | '@babel/core': 7.17.9 1680 | '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9 1681 | core-js-compat: 3.22.0 1682 | transitivePeerDependencies: 1683 | - supports-color 1684 | dev: true 1685 | 1686 | /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.17.9: 1687 | resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} 1688 | peerDependencies: 1689 | '@babel/core': ^7.0.0-0 1690 | dependencies: 1691 | '@babel/core': 7.17.9 1692 | '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.9 1693 | transitivePeerDependencies: 1694 | - supports-color 1695 | dev: true 1696 | 1697 | /babel-preset-current-node-syntax/1.0.1_@babel+core@7.17.9: 1698 | resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} 1699 | peerDependencies: 1700 | '@babel/core': ^7.0.0 1701 | dependencies: 1702 | '@babel/core': 7.17.9 1703 | '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.9 1704 | '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.17.9 1705 | '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.9 1706 | '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.17.9 1707 | '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.9 1708 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.9 1709 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.9 1710 | '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.9 1711 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.9 1712 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.9 1713 | '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.9 1714 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.9 1715 | dev: true 1716 | 1717 | /babel-preset-jest/27.5.1_@babel+core@7.17.9: 1718 | resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} 1719 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1720 | peerDependencies: 1721 | '@babel/core': ^7.0.0 1722 | dependencies: 1723 | '@babel/core': 7.17.9 1724 | babel-plugin-jest-hoist: 27.5.1 1725 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.9 1726 | dev: true 1727 | 1728 | /balanced-match/1.0.2: 1729 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1730 | dev: true 1731 | 1732 | /brace-expansion/1.1.11: 1733 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1734 | dependencies: 1735 | balanced-match: 1.0.2 1736 | concat-map: 0.0.1 1737 | dev: true 1738 | 1739 | /braces/3.0.2: 1740 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1741 | engines: {node: '>=8'} 1742 | dependencies: 1743 | fill-range: 7.0.1 1744 | dev: true 1745 | 1746 | /browser-process-hrtime/1.0.0: 1747 | resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} 1748 | dev: true 1749 | 1750 | /browserslist/4.20.2: 1751 | resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} 1752 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1753 | hasBin: true 1754 | dependencies: 1755 | caniuse-lite: 1.0.30001332 1756 | electron-to-chromium: 1.4.111 1757 | escalade: 3.1.1 1758 | node-releases: 2.0.3 1759 | picocolors: 1.0.0 1760 | dev: true 1761 | 1762 | /bser/2.1.1: 1763 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 1764 | dependencies: 1765 | node-int64: 0.4.0 1766 | dev: true 1767 | 1768 | /buffer-from/1.1.2: 1769 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1770 | dev: true 1771 | 1772 | /call-bind/1.0.2: 1773 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 1774 | dependencies: 1775 | function-bind: 1.1.1 1776 | get-intrinsic: 1.1.1 1777 | dev: true 1778 | 1779 | /callsites/3.1.0: 1780 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1781 | engines: {node: '>=6'} 1782 | dev: true 1783 | 1784 | /camelcase/5.3.1: 1785 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1786 | engines: {node: '>=6'} 1787 | dev: true 1788 | 1789 | /camelcase/6.3.0: 1790 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 1791 | engines: {node: '>=10'} 1792 | dev: true 1793 | 1794 | /caniuse-lite/1.0.30001332: 1795 | resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==} 1796 | dev: true 1797 | 1798 | /chalk/2.4.2: 1799 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1800 | engines: {node: '>=4'} 1801 | dependencies: 1802 | ansi-styles: 3.2.1 1803 | escape-string-regexp: 1.0.5 1804 | supports-color: 5.5.0 1805 | dev: true 1806 | 1807 | /chalk/4.1.2: 1808 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1809 | engines: {node: '>=10'} 1810 | dependencies: 1811 | ansi-styles: 4.3.0 1812 | supports-color: 7.2.0 1813 | dev: true 1814 | 1815 | /char-regex/1.0.2: 1816 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 1817 | engines: {node: '>=10'} 1818 | dev: true 1819 | 1820 | /ci-info/3.3.0: 1821 | resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} 1822 | dev: true 1823 | 1824 | /cjs-module-lexer/1.2.2: 1825 | resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} 1826 | dev: true 1827 | 1828 | /cliui/7.0.4: 1829 | resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} 1830 | dependencies: 1831 | string-width: 4.2.3 1832 | strip-ansi: 6.0.1 1833 | wrap-ansi: 7.0.0 1834 | dev: true 1835 | 1836 | /co/4.6.0: 1837 | resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} 1838 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 1839 | dev: true 1840 | 1841 | /collect-v8-coverage/1.0.1: 1842 | resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} 1843 | dev: true 1844 | 1845 | /color-convert/1.9.3: 1846 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1847 | dependencies: 1848 | color-name: 1.1.3 1849 | dev: true 1850 | 1851 | /color-convert/2.0.1: 1852 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1853 | engines: {node: '>=7.0.0'} 1854 | dependencies: 1855 | color-name: 1.1.4 1856 | dev: true 1857 | 1858 | /color-name/1.1.3: 1859 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} 1860 | dev: true 1861 | 1862 | /color-name/1.1.4: 1863 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1864 | dev: true 1865 | 1866 | /combined-stream/1.0.8: 1867 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 1868 | engines: {node: '>= 0.8'} 1869 | dependencies: 1870 | delayed-stream: 1.0.0 1871 | dev: true 1872 | 1873 | /concat-map/0.0.1: 1874 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 1875 | dev: true 1876 | 1877 | /convert-source-map/1.8.0: 1878 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} 1879 | dependencies: 1880 | safe-buffer: 5.1.2 1881 | dev: true 1882 | 1883 | /core-js-compat/3.22.0: 1884 | resolution: {integrity: sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ==} 1885 | dependencies: 1886 | browserslist: 4.20.2 1887 | semver: 7.0.0 1888 | dev: true 1889 | 1890 | /cross-spawn/7.0.3: 1891 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1892 | engines: {node: '>= 8'} 1893 | dependencies: 1894 | path-key: 3.1.1 1895 | shebang-command: 2.0.0 1896 | which: 2.0.2 1897 | dev: true 1898 | 1899 | /cssom/0.3.8: 1900 | resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} 1901 | dev: true 1902 | 1903 | /cssom/0.4.4: 1904 | resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} 1905 | dev: true 1906 | 1907 | /cssstyle/2.3.0: 1908 | resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} 1909 | engines: {node: '>=8'} 1910 | dependencies: 1911 | cssom: 0.3.8 1912 | dev: true 1913 | 1914 | /data-urls/2.0.0: 1915 | resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} 1916 | engines: {node: '>=10'} 1917 | dependencies: 1918 | abab: 2.0.6 1919 | whatwg-mimetype: 2.3.0 1920 | whatwg-url: 8.7.0 1921 | dev: true 1922 | 1923 | /debug/4.3.4: 1924 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1925 | engines: {node: '>=6.0'} 1926 | peerDependencies: 1927 | supports-color: '*' 1928 | peerDependenciesMeta: 1929 | supports-color: 1930 | optional: true 1931 | dependencies: 1932 | ms: 2.1.2 1933 | dev: true 1934 | 1935 | /decimal.js/10.3.1: 1936 | resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} 1937 | dev: true 1938 | 1939 | /dedent/0.7.0: 1940 | resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} 1941 | dev: true 1942 | 1943 | /deep-is/0.1.4: 1944 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1945 | dev: true 1946 | 1947 | /deepmerge/4.2.2: 1948 | resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} 1949 | engines: {node: '>=0.10.0'} 1950 | dev: true 1951 | 1952 | /define-properties/1.1.4: 1953 | resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} 1954 | engines: {node: '>= 0.4'} 1955 | dependencies: 1956 | has-property-descriptors: 1.0.0 1957 | object-keys: 1.1.1 1958 | dev: true 1959 | 1960 | /delayed-stream/1.0.0: 1961 | resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=} 1962 | engines: {node: '>=0.4.0'} 1963 | dev: true 1964 | 1965 | /detect-newline/3.1.0: 1966 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 1967 | engines: {node: '>=8'} 1968 | dev: true 1969 | 1970 | /diff-sequences/27.5.1: 1971 | resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} 1972 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1973 | dev: true 1974 | 1975 | /domexception/2.0.1: 1976 | resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} 1977 | engines: {node: '>=8'} 1978 | dependencies: 1979 | webidl-conversions: 5.0.0 1980 | dev: true 1981 | 1982 | /electron-to-chromium/1.4.111: 1983 | resolution: {integrity: sha512-/s3+fwhKf1YK4k7btOImOzCQLpUjS6MaPf0ODTNuT4eTM1Bg4itBpLkydhOzJmpmH6Z9eXFyuuK5czsmzRzwtw==} 1984 | dev: true 1985 | 1986 | /emittery/0.8.1: 1987 | resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} 1988 | engines: {node: '>=10'} 1989 | dev: true 1990 | 1991 | /emoji-regex/8.0.0: 1992 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1993 | dev: true 1994 | 1995 | /error-ex/1.3.2: 1996 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1997 | dependencies: 1998 | is-arrayish: 0.2.1 1999 | dev: true 2000 | 2001 | /escalade/3.1.1: 2002 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 2003 | engines: {node: '>=6'} 2004 | dev: true 2005 | 2006 | /escape-string-regexp/1.0.5: 2007 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} 2008 | engines: {node: '>=0.8.0'} 2009 | dev: true 2010 | 2011 | /escape-string-regexp/2.0.0: 2012 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 2013 | engines: {node: '>=8'} 2014 | dev: true 2015 | 2016 | /escodegen/2.0.0: 2017 | resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} 2018 | engines: {node: '>=6.0'} 2019 | hasBin: true 2020 | dependencies: 2021 | esprima: 4.0.1 2022 | estraverse: 5.3.0 2023 | esutils: 2.0.3 2024 | optionator: 0.8.3 2025 | optionalDependencies: 2026 | source-map: 0.6.1 2027 | dev: true 2028 | 2029 | /esprima/4.0.1: 2030 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 2031 | engines: {node: '>=4'} 2032 | hasBin: true 2033 | dev: true 2034 | 2035 | /estraverse/5.3.0: 2036 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 2037 | engines: {node: '>=4.0'} 2038 | dev: true 2039 | 2040 | /esutils/2.0.3: 2041 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 2042 | engines: {node: '>=0.10.0'} 2043 | dev: true 2044 | 2045 | /execa/5.1.1: 2046 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 2047 | engines: {node: '>=10'} 2048 | dependencies: 2049 | cross-spawn: 7.0.3 2050 | get-stream: 6.0.1 2051 | human-signals: 2.1.0 2052 | is-stream: 2.0.1 2053 | merge-stream: 2.0.0 2054 | npm-run-path: 4.0.1 2055 | onetime: 5.1.2 2056 | signal-exit: 3.0.7 2057 | strip-final-newline: 2.0.0 2058 | dev: true 2059 | 2060 | /exit/0.1.2: 2061 | resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} 2062 | engines: {node: '>= 0.8.0'} 2063 | dev: true 2064 | 2065 | /expect/27.5.1: 2066 | resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} 2067 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2068 | dependencies: 2069 | '@jest/types': 27.5.1 2070 | jest-get-type: 27.5.1 2071 | jest-matcher-utils: 27.5.1 2072 | jest-message-util: 27.5.1 2073 | dev: true 2074 | 2075 | /fast-json-stable-stringify/2.1.0: 2076 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 2077 | dev: true 2078 | 2079 | /fast-levenshtein/2.0.6: 2080 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} 2081 | dev: true 2082 | 2083 | /fb-watchman/2.0.1: 2084 | resolution: {integrity: sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==} 2085 | dependencies: 2086 | bser: 2.1.1 2087 | dev: true 2088 | 2089 | /fill-range/7.0.1: 2090 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 2091 | engines: {node: '>=8'} 2092 | dependencies: 2093 | to-regex-range: 5.0.1 2094 | dev: true 2095 | 2096 | /find-up/4.1.0: 2097 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 2098 | engines: {node: '>=8'} 2099 | dependencies: 2100 | locate-path: 5.0.0 2101 | path-exists: 4.0.0 2102 | dev: true 2103 | 2104 | /form-data/3.0.1: 2105 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} 2106 | engines: {node: '>= 6'} 2107 | dependencies: 2108 | asynckit: 0.4.0 2109 | combined-stream: 1.0.8 2110 | mime-types: 2.1.35 2111 | dev: true 2112 | 2113 | /fs.realpath/1.0.0: 2114 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} 2115 | dev: true 2116 | 2117 | /fsevents/2.3.2: 2118 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 2119 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 2120 | os: [darwin] 2121 | requiresBuild: true 2122 | dev: true 2123 | optional: true 2124 | 2125 | /function-bind/1.1.1: 2126 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 2127 | dev: true 2128 | 2129 | /gensync/1.0.0-beta.2: 2130 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 2131 | engines: {node: '>=6.9.0'} 2132 | dev: true 2133 | 2134 | /get-caller-file/2.0.5: 2135 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 2136 | engines: {node: 6.* || 8.* || >= 10.*} 2137 | dev: true 2138 | 2139 | /get-intrinsic/1.1.1: 2140 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} 2141 | dependencies: 2142 | function-bind: 1.1.1 2143 | has: 1.0.3 2144 | has-symbols: 1.0.3 2145 | dev: true 2146 | 2147 | /get-package-type/0.1.0: 2148 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 2149 | engines: {node: '>=8.0.0'} 2150 | dev: true 2151 | 2152 | /get-stream/6.0.1: 2153 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 2154 | engines: {node: '>=10'} 2155 | dev: true 2156 | 2157 | /glob/7.2.0: 2158 | resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} 2159 | dependencies: 2160 | fs.realpath: 1.0.0 2161 | inflight: 1.0.6 2162 | inherits: 2.0.4 2163 | minimatch: 3.1.2 2164 | once: 1.4.0 2165 | path-is-absolute: 1.0.1 2166 | dev: true 2167 | 2168 | /globals/11.12.0: 2169 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 2170 | engines: {node: '>=4'} 2171 | dev: true 2172 | 2173 | /graceful-fs/4.2.10: 2174 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 2175 | dev: true 2176 | 2177 | /has-flag/3.0.0: 2178 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} 2179 | engines: {node: '>=4'} 2180 | dev: true 2181 | 2182 | /has-flag/4.0.0: 2183 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 2184 | engines: {node: '>=8'} 2185 | dev: true 2186 | 2187 | /has-property-descriptors/1.0.0: 2188 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 2189 | dependencies: 2190 | get-intrinsic: 1.1.1 2191 | dev: true 2192 | 2193 | /has-symbols/1.0.3: 2194 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 2195 | engines: {node: '>= 0.4'} 2196 | dev: true 2197 | 2198 | /has/1.0.3: 2199 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 2200 | engines: {node: '>= 0.4.0'} 2201 | dependencies: 2202 | function-bind: 1.1.1 2203 | dev: true 2204 | 2205 | /html-encoding-sniffer/2.0.1: 2206 | resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} 2207 | engines: {node: '>=10'} 2208 | dependencies: 2209 | whatwg-encoding: 1.0.5 2210 | dev: true 2211 | 2212 | /html-escaper/2.0.2: 2213 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 2214 | dev: true 2215 | 2216 | /http-proxy-agent/4.0.1: 2217 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} 2218 | engines: {node: '>= 6'} 2219 | dependencies: 2220 | '@tootallnate/once': 1.1.2 2221 | agent-base: 6.0.2 2222 | debug: 4.3.4 2223 | transitivePeerDependencies: 2224 | - supports-color 2225 | dev: true 2226 | 2227 | /https-proxy-agent/5.0.1: 2228 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 2229 | engines: {node: '>= 6'} 2230 | dependencies: 2231 | agent-base: 6.0.2 2232 | debug: 4.3.4 2233 | transitivePeerDependencies: 2234 | - supports-color 2235 | dev: true 2236 | 2237 | /human-signals/2.1.0: 2238 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 2239 | engines: {node: '>=10.17.0'} 2240 | dev: true 2241 | 2242 | /iconv-lite/0.4.24: 2243 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 2244 | engines: {node: '>=0.10.0'} 2245 | dependencies: 2246 | safer-buffer: 2.1.2 2247 | dev: true 2248 | 2249 | /import-local/3.1.0: 2250 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} 2251 | engines: {node: '>=8'} 2252 | hasBin: true 2253 | dependencies: 2254 | pkg-dir: 4.2.0 2255 | resolve-cwd: 3.0.0 2256 | dev: true 2257 | 2258 | /imurmurhash/0.1.4: 2259 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} 2260 | engines: {node: '>=0.8.19'} 2261 | dev: true 2262 | 2263 | /inflight/1.0.6: 2264 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} 2265 | dependencies: 2266 | once: 1.4.0 2267 | wrappy: 1.0.2 2268 | dev: true 2269 | 2270 | /inherits/2.0.4: 2271 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2272 | dev: true 2273 | 2274 | /is-arrayish/0.2.1: 2275 | resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} 2276 | dev: true 2277 | 2278 | /is-core-module/2.8.1: 2279 | resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} 2280 | dependencies: 2281 | has: 1.0.3 2282 | dev: true 2283 | 2284 | /is-fullwidth-code-point/3.0.0: 2285 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2286 | engines: {node: '>=8'} 2287 | dev: true 2288 | 2289 | /is-generator-fn/2.1.0: 2290 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} 2291 | engines: {node: '>=6'} 2292 | dev: true 2293 | 2294 | /is-number/7.0.0: 2295 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2296 | engines: {node: '>=0.12.0'} 2297 | dev: true 2298 | 2299 | /is-potential-custom-element-name/1.0.1: 2300 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 2301 | dev: true 2302 | 2303 | /is-stream/2.0.1: 2304 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2305 | engines: {node: '>=8'} 2306 | dev: true 2307 | 2308 | /is-typedarray/1.0.0: 2309 | resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} 2310 | dev: true 2311 | 2312 | /isexe/2.0.0: 2313 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} 2314 | dev: true 2315 | 2316 | /istanbul-lib-coverage/3.2.0: 2317 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} 2318 | engines: {node: '>=8'} 2319 | dev: true 2320 | 2321 | /istanbul-lib-instrument/5.1.0: 2322 | resolution: {integrity: sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==} 2323 | engines: {node: '>=8'} 2324 | dependencies: 2325 | '@babel/core': 7.17.9 2326 | '@babel/parser': 7.17.9 2327 | '@istanbuljs/schema': 0.1.3 2328 | istanbul-lib-coverage: 3.2.0 2329 | semver: 6.3.0 2330 | transitivePeerDependencies: 2331 | - supports-color 2332 | dev: true 2333 | 2334 | /istanbul-lib-report/3.0.0: 2335 | resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} 2336 | engines: {node: '>=8'} 2337 | dependencies: 2338 | istanbul-lib-coverage: 3.2.0 2339 | make-dir: 3.1.0 2340 | supports-color: 7.2.0 2341 | dev: true 2342 | 2343 | /istanbul-lib-source-maps/4.0.1: 2344 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 2345 | engines: {node: '>=10'} 2346 | dependencies: 2347 | debug: 4.3.4 2348 | istanbul-lib-coverage: 3.2.0 2349 | source-map: 0.6.1 2350 | transitivePeerDependencies: 2351 | - supports-color 2352 | dev: true 2353 | 2354 | /istanbul-reports/3.1.4: 2355 | resolution: {integrity: sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==} 2356 | engines: {node: '>=8'} 2357 | dependencies: 2358 | html-escaper: 2.0.2 2359 | istanbul-lib-report: 3.0.0 2360 | dev: true 2361 | 2362 | /jest-changed-files/27.5.1: 2363 | resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} 2364 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2365 | dependencies: 2366 | '@jest/types': 27.5.1 2367 | execa: 5.1.1 2368 | throat: 6.0.1 2369 | dev: true 2370 | 2371 | /jest-circus/27.5.1: 2372 | resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} 2373 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2374 | dependencies: 2375 | '@jest/environment': 27.5.1 2376 | '@jest/test-result': 27.5.1 2377 | '@jest/types': 27.5.1 2378 | '@types/node': 17.0.24 2379 | chalk: 4.1.2 2380 | co: 4.6.0 2381 | dedent: 0.7.0 2382 | expect: 27.5.1 2383 | is-generator-fn: 2.1.0 2384 | jest-each: 27.5.1 2385 | jest-matcher-utils: 27.5.1 2386 | jest-message-util: 27.5.1 2387 | jest-runtime: 27.5.1 2388 | jest-snapshot: 27.5.1 2389 | jest-util: 27.5.1 2390 | pretty-format: 27.5.1 2391 | slash: 3.0.0 2392 | stack-utils: 2.0.5 2393 | throat: 6.0.1 2394 | transitivePeerDependencies: 2395 | - supports-color 2396 | dev: true 2397 | 2398 | /jest-cli/27.5.1: 2399 | resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} 2400 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2401 | hasBin: true 2402 | peerDependencies: 2403 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2404 | peerDependenciesMeta: 2405 | node-notifier: 2406 | optional: true 2407 | dependencies: 2408 | '@jest/core': 27.5.1 2409 | '@jest/test-result': 27.5.1 2410 | '@jest/types': 27.5.1 2411 | chalk: 4.1.2 2412 | exit: 0.1.2 2413 | graceful-fs: 4.2.10 2414 | import-local: 3.1.0 2415 | jest-config: 27.5.1 2416 | jest-util: 27.5.1 2417 | jest-validate: 27.5.1 2418 | prompts: 2.4.2 2419 | yargs: 16.2.0 2420 | transitivePeerDependencies: 2421 | - bufferutil 2422 | - canvas 2423 | - supports-color 2424 | - ts-node 2425 | - utf-8-validate 2426 | dev: true 2427 | 2428 | /jest-config/27.5.1: 2429 | resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} 2430 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2431 | peerDependencies: 2432 | ts-node: '>=9.0.0' 2433 | peerDependenciesMeta: 2434 | ts-node: 2435 | optional: true 2436 | dependencies: 2437 | '@babel/core': 7.17.9 2438 | '@jest/test-sequencer': 27.5.1 2439 | '@jest/types': 27.5.1 2440 | babel-jest: 27.5.1_@babel+core@7.17.9 2441 | chalk: 4.1.2 2442 | ci-info: 3.3.0 2443 | deepmerge: 4.2.2 2444 | glob: 7.2.0 2445 | graceful-fs: 4.2.10 2446 | jest-circus: 27.5.1 2447 | jest-environment-jsdom: 27.5.1 2448 | jest-environment-node: 27.5.1 2449 | jest-get-type: 27.5.1 2450 | jest-jasmine2: 27.5.1 2451 | jest-regex-util: 27.5.1 2452 | jest-resolve: 27.5.1 2453 | jest-runner: 27.5.1 2454 | jest-util: 27.5.1 2455 | jest-validate: 27.5.1 2456 | micromatch: 4.0.5 2457 | parse-json: 5.2.0 2458 | pretty-format: 27.5.1 2459 | slash: 3.0.0 2460 | strip-json-comments: 3.1.1 2461 | transitivePeerDependencies: 2462 | - bufferutil 2463 | - canvas 2464 | - supports-color 2465 | - utf-8-validate 2466 | dev: true 2467 | 2468 | /jest-diff/27.5.1: 2469 | resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} 2470 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2471 | dependencies: 2472 | chalk: 4.1.2 2473 | diff-sequences: 27.5.1 2474 | jest-get-type: 27.5.1 2475 | pretty-format: 27.5.1 2476 | dev: true 2477 | 2478 | /jest-docblock/27.5.1: 2479 | resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} 2480 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2481 | dependencies: 2482 | detect-newline: 3.1.0 2483 | dev: true 2484 | 2485 | /jest-each/27.5.1: 2486 | resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} 2487 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2488 | dependencies: 2489 | '@jest/types': 27.5.1 2490 | chalk: 4.1.2 2491 | jest-get-type: 27.5.1 2492 | jest-util: 27.5.1 2493 | pretty-format: 27.5.1 2494 | dev: true 2495 | 2496 | /jest-environment-jsdom/27.5.1: 2497 | resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} 2498 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2499 | dependencies: 2500 | '@jest/environment': 27.5.1 2501 | '@jest/fake-timers': 27.5.1 2502 | '@jest/types': 27.5.1 2503 | '@types/node': 17.0.24 2504 | jest-mock: 27.5.1 2505 | jest-util: 27.5.1 2506 | jsdom: 16.7.0 2507 | transitivePeerDependencies: 2508 | - bufferutil 2509 | - canvas 2510 | - supports-color 2511 | - utf-8-validate 2512 | dev: true 2513 | 2514 | /jest-environment-node/27.5.1: 2515 | resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} 2516 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2517 | dependencies: 2518 | '@jest/environment': 27.5.1 2519 | '@jest/fake-timers': 27.5.1 2520 | '@jest/types': 27.5.1 2521 | '@types/node': 17.0.24 2522 | jest-mock: 27.5.1 2523 | jest-util: 27.5.1 2524 | dev: true 2525 | 2526 | /jest-get-type/27.5.1: 2527 | resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} 2528 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2529 | dev: true 2530 | 2531 | /jest-haste-map/27.5.1: 2532 | resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} 2533 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2534 | dependencies: 2535 | '@jest/types': 27.5.1 2536 | '@types/graceful-fs': 4.1.5 2537 | '@types/node': 17.0.24 2538 | anymatch: 3.1.2 2539 | fb-watchman: 2.0.1 2540 | graceful-fs: 4.2.10 2541 | jest-regex-util: 27.5.1 2542 | jest-serializer: 27.5.1 2543 | jest-util: 27.5.1 2544 | jest-worker: 27.5.1 2545 | micromatch: 4.0.5 2546 | walker: 1.0.8 2547 | optionalDependencies: 2548 | fsevents: 2.3.2 2549 | dev: true 2550 | 2551 | /jest-jasmine2/27.5.1: 2552 | resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} 2553 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2554 | dependencies: 2555 | '@jest/environment': 27.5.1 2556 | '@jest/source-map': 27.5.1 2557 | '@jest/test-result': 27.5.1 2558 | '@jest/types': 27.5.1 2559 | '@types/node': 17.0.24 2560 | chalk: 4.1.2 2561 | co: 4.6.0 2562 | expect: 27.5.1 2563 | is-generator-fn: 2.1.0 2564 | jest-each: 27.5.1 2565 | jest-matcher-utils: 27.5.1 2566 | jest-message-util: 27.5.1 2567 | jest-runtime: 27.5.1 2568 | jest-snapshot: 27.5.1 2569 | jest-util: 27.5.1 2570 | pretty-format: 27.5.1 2571 | throat: 6.0.1 2572 | transitivePeerDependencies: 2573 | - supports-color 2574 | dev: true 2575 | 2576 | /jest-leak-detector/27.5.1: 2577 | resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} 2578 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2579 | dependencies: 2580 | jest-get-type: 27.5.1 2581 | pretty-format: 27.5.1 2582 | dev: true 2583 | 2584 | /jest-matcher-utils/27.5.1: 2585 | resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} 2586 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2587 | dependencies: 2588 | chalk: 4.1.2 2589 | jest-diff: 27.5.1 2590 | jest-get-type: 27.5.1 2591 | pretty-format: 27.5.1 2592 | dev: true 2593 | 2594 | /jest-message-util/27.5.1: 2595 | resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} 2596 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2597 | dependencies: 2598 | '@babel/code-frame': 7.16.7 2599 | '@jest/types': 27.5.1 2600 | '@types/stack-utils': 2.0.1 2601 | chalk: 4.1.2 2602 | graceful-fs: 4.2.10 2603 | micromatch: 4.0.5 2604 | pretty-format: 27.5.1 2605 | slash: 3.0.0 2606 | stack-utils: 2.0.5 2607 | dev: true 2608 | 2609 | /jest-mock/27.5.1: 2610 | resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} 2611 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2612 | dependencies: 2613 | '@jest/types': 27.5.1 2614 | '@types/node': 17.0.24 2615 | dev: true 2616 | 2617 | /jest-pnp-resolver/1.2.2_jest-resolve@27.5.1: 2618 | resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} 2619 | engines: {node: '>=6'} 2620 | peerDependencies: 2621 | jest-resolve: '*' 2622 | peerDependenciesMeta: 2623 | jest-resolve: 2624 | optional: true 2625 | dependencies: 2626 | jest-resolve: 27.5.1 2627 | dev: true 2628 | 2629 | /jest-regex-util/27.5.1: 2630 | resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} 2631 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2632 | dev: true 2633 | 2634 | /jest-resolve-dependencies/27.5.1: 2635 | resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} 2636 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2637 | dependencies: 2638 | '@jest/types': 27.5.1 2639 | jest-regex-util: 27.5.1 2640 | jest-snapshot: 27.5.1 2641 | transitivePeerDependencies: 2642 | - supports-color 2643 | dev: true 2644 | 2645 | /jest-resolve/27.5.1: 2646 | resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} 2647 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2648 | dependencies: 2649 | '@jest/types': 27.5.1 2650 | chalk: 4.1.2 2651 | graceful-fs: 4.2.10 2652 | jest-haste-map: 27.5.1 2653 | jest-pnp-resolver: 1.2.2_jest-resolve@27.5.1 2654 | jest-util: 27.5.1 2655 | jest-validate: 27.5.1 2656 | resolve: 1.22.0 2657 | resolve.exports: 1.1.0 2658 | slash: 3.0.0 2659 | dev: true 2660 | 2661 | /jest-runner/27.5.1: 2662 | resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} 2663 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2664 | dependencies: 2665 | '@jest/console': 27.5.1 2666 | '@jest/environment': 27.5.1 2667 | '@jest/test-result': 27.5.1 2668 | '@jest/transform': 27.5.1 2669 | '@jest/types': 27.5.1 2670 | '@types/node': 17.0.24 2671 | chalk: 4.1.2 2672 | emittery: 0.8.1 2673 | graceful-fs: 4.2.10 2674 | jest-docblock: 27.5.1 2675 | jest-environment-jsdom: 27.5.1 2676 | jest-environment-node: 27.5.1 2677 | jest-haste-map: 27.5.1 2678 | jest-leak-detector: 27.5.1 2679 | jest-message-util: 27.5.1 2680 | jest-resolve: 27.5.1 2681 | jest-runtime: 27.5.1 2682 | jest-util: 27.5.1 2683 | jest-worker: 27.5.1 2684 | source-map-support: 0.5.21 2685 | throat: 6.0.1 2686 | transitivePeerDependencies: 2687 | - bufferutil 2688 | - canvas 2689 | - supports-color 2690 | - utf-8-validate 2691 | dev: true 2692 | 2693 | /jest-runtime/27.5.1: 2694 | resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} 2695 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2696 | dependencies: 2697 | '@jest/environment': 27.5.1 2698 | '@jest/fake-timers': 27.5.1 2699 | '@jest/globals': 27.5.1 2700 | '@jest/source-map': 27.5.1 2701 | '@jest/test-result': 27.5.1 2702 | '@jest/transform': 27.5.1 2703 | '@jest/types': 27.5.1 2704 | chalk: 4.1.2 2705 | cjs-module-lexer: 1.2.2 2706 | collect-v8-coverage: 1.0.1 2707 | execa: 5.1.1 2708 | glob: 7.2.0 2709 | graceful-fs: 4.2.10 2710 | jest-haste-map: 27.5.1 2711 | jest-message-util: 27.5.1 2712 | jest-mock: 27.5.1 2713 | jest-regex-util: 27.5.1 2714 | jest-resolve: 27.5.1 2715 | jest-snapshot: 27.5.1 2716 | jest-util: 27.5.1 2717 | slash: 3.0.0 2718 | strip-bom: 4.0.0 2719 | transitivePeerDependencies: 2720 | - supports-color 2721 | dev: true 2722 | 2723 | /jest-serializer/27.5.1: 2724 | resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} 2725 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2726 | dependencies: 2727 | '@types/node': 17.0.24 2728 | graceful-fs: 4.2.10 2729 | dev: true 2730 | 2731 | /jest-snapshot/27.5.1: 2732 | resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} 2733 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2734 | dependencies: 2735 | '@babel/core': 7.17.9 2736 | '@babel/generator': 7.17.9 2737 | '@babel/plugin-syntax-typescript': 7.16.7_@babel+core@7.17.9 2738 | '@babel/traverse': 7.17.9 2739 | '@babel/types': 7.17.0 2740 | '@jest/transform': 27.5.1 2741 | '@jest/types': 27.5.1 2742 | '@types/babel__traverse': 7.17.0 2743 | '@types/prettier': 2.6.0 2744 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.17.9 2745 | chalk: 4.1.2 2746 | expect: 27.5.1 2747 | graceful-fs: 4.2.10 2748 | jest-diff: 27.5.1 2749 | jest-get-type: 27.5.1 2750 | jest-haste-map: 27.5.1 2751 | jest-matcher-utils: 27.5.1 2752 | jest-message-util: 27.5.1 2753 | jest-util: 27.5.1 2754 | natural-compare: 1.4.0 2755 | pretty-format: 27.5.1 2756 | semver: 7.3.7 2757 | transitivePeerDependencies: 2758 | - supports-color 2759 | dev: true 2760 | 2761 | /jest-util/27.5.1: 2762 | resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} 2763 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2764 | dependencies: 2765 | '@jest/types': 27.5.1 2766 | '@types/node': 17.0.24 2767 | chalk: 4.1.2 2768 | ci-info: 3.3.0 2769 | graceful-fs: 4.2.10 2770 | picomatch: 2.3.1 2771 | dev: true 2772 | 2773 | /jest-validate/27.5.1: 2774 | resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} 2775 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2776 | dependencies: 2777 | '@jest/types': 27.5.1 2778 | camelcase: 6.3.0 2779 | chalk: 4.1.2 2780 | jest-get-type: 27.5.1 2781 | leven: 3.1.0 2782 | pretty-format: 27.5.1 2783 | dev: true 2784 | 2785 | /jest-watcher/27.5.1: 2786 | resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} 2787 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2788 | dependencies: 2789 | '@jest/test-result': 27.5.1 2790 | '@jest/types': 27.5.1 2791 | '@types/node': 17.0.24 2792 | ansi-escapes: 4.3.2 2793 | chalk: 4.1.2 2794 | jest-util: 27.5.1 2795 | string-length: 4.0.2 2796 | dev: true 2797 | 2798 | /jest-worker/27.5.1: 2799 | resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} 2800 | engines: {node: '>= 10.13.0'} 2801 | dependencies: 2802 | '@types/node': 17.0.24 2803 | merge-stream: 2.0.0 2804 | supports-color: 8.1.1 2805 | dev: true 2806 | 2807 | /jest/27.5.1: 2808 | resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} 2809 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 2810 | hasBin: true 2811 | peerDependencies: 2812 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2813 | peerDependenciesMeta: 2814 | node-notifier: 2815 | optional: true 2816 | dependencies: 2817 | '@jest/core': 27.5.1 2818 | import-local: 3.1.0 2819 | jest-cli: 27.5.1 2820 | transitivePeerDependencies: 2821 | - bufferutil 2822 | - canvas 2823 | - supports-color 2824 | - ts-node 2825 | - utf-8-validate 2826 | dev: true 2827 | 2828 | /js-tokens/4.0.0: 2829 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2830 | dev: true 2831 | 2832 | /js-yaml/3.14.1: 2833 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2834 | hasBin: true 2835 | dependencies: 2836 | argparse: 1.0.10 2837 | esprima: 4.0.1 2838 | dev: true 2839 | 2840 | /jsdom/16.7.0: 2841 | resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} 2842 | engines: {node: '>=10'} 2843 | peerDependencies: 2844 | canvas: ^2.5.0 2845 | peerDependenciesMeta: 2846 | canvas: 2847 | optional: true 2848 | dependencies: 2849 | abab: 2.0.6 2850 | acorn: 8.7.0 2851 | acorn-globals: 6.0.0 2852 | cssom: 0.4.4 2853 | cssstyle: 2.3.0 2854 | data-urls: 2.0.0 2855 | decimal.js: 10.3.1 2856 | domexception: 2.0.1 2857 | escodegen: 2.0.0 2858 | form-data: 3.0.1 2859 | html-encoding-sniffer: 2.0.1 2860 | http-proxy-agent: 4.0.1 2861 | https-proxy-agent: 5.0.1 2862 | is-potential-custom-element-name: 1.0.1 2863 | nwsapi: 2.2.0 2864 | parse5: 6.0.1 2865 | saxes: 5.0.1 2866 | symbol-tree: 3.2.4 2867 | tough-cookie: 4.0.0 2868 | w3c-hr-time: 1.0.2 2869 | w3c-xmlserializer: 2.0.0 2870 | webidl-conversions: 6.1.0 2871 | whatwg-encoding: 1.0.5 2872 | whatwg-mimetype: 2.3.0 2873 | whatwg-url: 8.7.0 2874 | ws: 7.5.7 2875 | xml-name-validator: 3.0.0 2876 | transitivePeerDependencies: 2877 | - bufferutil 2878 | - supports-color 2879 | - utf-8-validate 2880 | dev: true 2881 | 2882 | /jsesc/0.5.0: 2883 | resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} 2884 | hasBin: true 2885 | dev: true 2886 | 2887 | /jsesc/2.5.2: 2888 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2889 | engines: {node: '>=4'} 2890 | hasBin: true 2891 | dev: true 2892 | 2893 | /json-parse-even-better-errors/2.3.1: 2894 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2895 | dev: true 2896 | 2897 | /json5/2.2.1: 2898 | resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} 2899 | engines: {node: '>=6'} 2900 | hasBin: true 2901 | dev: true 2902 | 2903 | /kleur/3.0.3: 2904 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 2905 | engines: {node: '>=6'} 2906 | dev: true 2907 | 2908 | /leven/3.1.0: 2909 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 2910 | engines: {node: '>=6'} 2911 | dev: true 2912 | 2913 | /levn/0.3.0: 2914 | resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=} 2915 | engines: {node: '>= 0.8.0'} 2916 | dependencies: 2917 | prelude-ls: 1.1.2 2918 | type-check: 0.3.2 2919 | dev: true 2920 | 2921 | /lines-and-columns/1.2.4: 2922 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2923 | dev: true 2924 | 2925 | /locate-path/5.0.0: 2926 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2927 | engines: {node: '>=8'} 2928 | dependencies: 2929 | p-locate: 4.1.0 2930 | dev: true 2931 | 2932 | /lodash.debounce/4.0.8: 2933 | resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} 2934 | dev: true 2935 | 2936 | /lodash/4.17.21: 2937 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 2938 | dev: true 2939 | 2940 | /lru-cache/6.0.0: 2941 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2942 | engines: {node: '>=10'} 2943 | dependencies: 2944 | yallist: 4.0.0 2945 | dev: true 2946 | 2947 | /make-dir/3.1.0: 2948 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 2949 | engines: {node: '>=8'} 2950 | dependencies: 2951 | semver: 6.3.0 2952 | dev: true 2953 | 2954 | /makeerror/1.0.12: 2955 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 2956 | dependencies: 2957 | tmpl: 1.0.5 2958 | dev: true 2959 | 2960 | /merge-stream/2.0.0: 2961 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2962 | dev: true 2963 | 2964 | /micromatch/4.0.5: 2965 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2966 | engines: {node: '>=8.6'} 2967 | dependencies: 2968 | braces: 3.0.2 2969 | picomatch: 2.3.1 2970 | dev: true 2971 | 2972 | /mime-db/1.52.0: 2973 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 2974 | engines: {node: '>= 0.6'} 2975 | dev: true 2976 | 2977 | /mime-types/2.1.35: 2978 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 2979 | engines: {node: '>= 0.6'} 2980 | dependencies: 2981 | mime-db: 1.52.0 2982 | dev: true 2983 | 2984 | /mimic-fn/2.1.0: 2985 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2986 | engines: {node: '>=6'} 2987 | dev: true 2988 | 2989 | /minimatch/3.1.2: 2990 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2991 | dependencies: 2992 | brace-expansion: 1.1.11 2993 | dev: true 2994 | 2995 | /ms/2.1.2: 2996 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2997 | dev: true 2998 | 2999 | /natural-compare/1.4.0: 3000 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} 3001 | dev: true 3002 | 3003 | /node-int64/0.4.0: 3004 | resolution: {integrity: sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=} 3005 | dev: true 3006 | 3007 | /node-releases/2.0.3: 3008 | resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==} 3009 | dev: true 3010 | 3011 | /normalize-path/3.0.0: 3012 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 3013 | engines: {node: '>=0.10.0'} 3014 | dev: true 3015 | 3016 | /npm-run-path/4.0.1: 3017 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 3018 | engines: {node: '>=8'} 3019 | dependencies: 3020 | path-key: 3.1.1 3021 | dev: true 3022 | 3023 | /nwsapi/2.2.0: 3024 | resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} 3025 | dev: true 3026 | 3027 | /object-keys/1.1.1: 3028 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 3029 | engines: {node: '>= 0.4'} 3030 | dev: true 3031 | 3032 | /object.assign/4.1.2: 3033 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==} 3034 | engines: {node: '>= 0.4'} 3035 | dependencies: 3036 | call-bind: 1.0.2 3037 | define-properties: 1.1.4 3038 | has-symbols: 1.0.3 3039 | object-keys: 1.1.1 3040 | dev: true 3041 | 3042 | /once/1.4.0: 3043 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} 3044 | dependencies: 3045 | wrappy: 1.0.2 3046 | dev: true 3047 | 3048 | /onetime/5.1.2: 3049 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 3050 | engines: {node: '>=6'} 3051 | dependencies: 3052 | mimic-fn: 2.1.0 3053 | dev: true 3054 | 3055 | /optionator/0.8.3: 3056 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} 3057 | engines: {node: '>= 0.8.0'} 3058 | dependencies: 3059 | deep-is: 0.1.4 3060 | fast-levenshtein: 2.0.6 3061 | levn: 0.3.0 3062 | prelude-ls: 1.1.2 3063 | type-check: 0.3.2 3064 | word-wrap: 1.2.3 3065 | dev: true 3066 | 3067 | /p-limit/2.3.0: 3068 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 3069 | engines: {node: '>=6'} 3070 | dependencies: 3071 | p-try: 2.2.0 3072 | dev: true 3073 | 3074 | /p-locate/4.1.0: 3075 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 3076 | engines: {node: '>=8'} 3077 | dependencies: 3078 | p-limit: 2.3.0 3079 | dev: true 3080 | 3081 | /p-try/2.2.0: 3082 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 3083 | engines: {node: '>=6'} 3084 | dev: true 3085 | 3086 | /parse-json/5.2.0: 3087 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 3088 | engines: {node: '>=8'} 3089 | dependencies: 3090 | '@babel/code-frame': 7.16.7 3091 | error-ex: 1.3.2 3092 | json-parse-even-better-errors: 2.3.1 3093 | lines-and-columns: 1.2.4 3094 | dev: true 3095 | 3096 | /parse5/6.0.1: 3097 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 3098 | dev: true 3099 | 3100 | /path-exists/4.0.0: 3101 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 3102 | engines: {node: '>=8'} 3103 | dev: true 3104 | 3105 | /path-is-absolute/1.0.1: 3106 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} 3107 | engines: {node: '>=0.10.0'} 3108 | dev: true 3109 | 3110 | /path-key/3.1.1: 3111 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 3112 | engines: {node: '>=8'} 3113 | dev: true 3114 | 3115 | /path-parse/1.0.7: 3116 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 3117 | dev: true 3118 | 3119 | /picocolors/1.0.0: 3120 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 3121 | dev: true 3122 | 3123 | /picomatch/2.3.1: 3124 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 3125 | engines: {node: '>=8.6'} 3126 | dev: true 3127 | 3128 | /pirates/4.0.5: 3129 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 3130 | engines: {node: '>= 6'} 3131 | dev: true 3132 | 3133 | /pkg-dir/4.2.0: 3134 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 3135 | engines: {node: '>=8'} 3136 | dependencies: 3137 | find-up: 4.1.0 3138 | dev: true 3139 | 3140 | /prelude-ls/1.1.2: 3141 | resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=} 3142 | engines: {node: '>= 0.8.0'} 3143 | dev: true 3144 | 3145 | /pretty-format/27.5.1: 3146 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 3147 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 3148 | dependencies: 3149 | ansi-regex: 5.0.1 3150 | ansi-styles: 5.2.0 3151 | react-is: 17.0.2 3152 | dev: true 3153 | 3154 | /prompts/2.4.2: 3155 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 3156 | engines: {node: '>= 6'} 3157 | dependencies: 3158 | kleur: 3.0.3 3159 | sisteransi: 1.0.5 3160 | dev: true 3161 | 3162 | /psl/1.8.0: 3163 | resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==} 3164 | dev: true 3165 | 3166 | /punycode/2.1.1: 3167 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 3168 | engines: {node: '>=6'} 3169 | dev: true 3170 | 3171 | /react-is/17.0.2: 3172 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 3173 | dev: true 3174 | 3175 | /regenerate-unicode-properties/10.0.1: 3176 | resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} 3177 | engines: {node: '>=4'} 3178 | dependencies: 3179 | regenerate: 1.4.2 3180 | dev: true 3181 | 3182 | /regenerate/1.4.2: 3183 | resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} 3184 | dev: true 3185 | 3186 | /regenerator-runtime/0.13.9: 3187 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} 3188 | dev: true 3189 | 3190 | /regenerator-transform/0.15.0: 3191 | resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} 3192 | dependencies: 3193 | '@babel/runtime': 7.17.9 3194 | dev: true 3195 | 3196 | /regexpu-core/5.0.1: 3197 | resolution: {integrity: sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==} 3198 | engines: {node: '>=4'} 3199 | dependencies: 3200 | regenerate: 1.4.2 3201 | regenerate-unicode-properties: 10.0.1 3202 | regjsgen: 0.6.0 3203 | regjsparser: 0.8.4 3204 | unicode-match-property-ecmascript: 2.0.0 3205 | unicode-match-property-value-ecmascript: 2.0.0 3206 | dev: true 3207 | 3208 | /regjsgen/0.6.0: 3209 | resolution: {integrity: sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==} 3210 | dev: true 3211 | 3212 | /regjsparser/0.8.4: 3213 | resolution: {integrity: sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==} 3214 | hasBin: true 3215 | dependencies: 3216 | jsesc: 0.5.0 3217 | dev: true 3218 | 3219 | /require-directory/2.1.1: 3220 | resolution: {integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I=} 3221 | engines: {node: '>=0.10.0'} 3222 | dev: true 3223 | 3224 | /resolve-cwd/3.0.0: 3225 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 3226 | engines: {node: '>=8'} 3227 | dependencies: 3228 | resolve-from: 5.0.0 3229 | dev: true 3230 | 3231 | /resolve-from/5.0.0: 3232 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 3233 | engines: {node: '>=8'} 3234 | dev: true 3235 | 3236 | /resolve.exports/1.1.0: 3237 | resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} 3238 | engines: {node: '>=10'} 3239 | dev: true 3240 | 3241 | /resolve/1.22.0: 3242 | resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} 3243 | hasBin: true 3244 | dependencies: 3245 | is-core-module: 2.8.1 3246 | path-parse: 1.0.7 3247 | supports-preserve-symlinks-flag: 1.0.0 3248 | dev: true 3249 | 3250 | /rimraf/3.0.2: 3251 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3252 | hasBin: true 3253 | dependencies: 3254 | glob: 7.2.0 3255 | dev: true 3256 | 3257 | /safe-buffer/5.1.2: 3258 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 3259 | dev: true 3260 | 3261 | /safer-buffer/2.1.2: 3262 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 3263 | dev: true 3264 | 3265 | /saxes/5.0.1: 3266 | resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} 3267 | engines: {node: '>=10'} 3268 | dependencies: 3269 | xmlchars: 2.2.0 3270 | dev: true 3271 | 3272 | /semver/6.3.0: 3273 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3274 | hasBin: true 3275 | dev: true 3276 | 3277 | /semver/7.0.0: 3278 | resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} 3279 | hasBin: true 3280 | dev: true 3281 | 3282 | /semver/7.3.7: 3283 | resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} 3284 | engines: {node: '>=10'} 3285 | hasBin: true 3286 | dependencies: 3287 | lru-cache: 6.0.0 3288 | dev: true 3289 | 3290 | /shebang-command/2.0.0: 3291 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3292 | engines: {node: '>=8'} 3293 | dependencies: 3294 | shebang-regex: 3.0.0 3295 | dev: true 3296 | 3297 | /shebang-regex/3.0.0: 3298 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3299 | engines: {node: '>=8'} 3300 | dev: true 3301 | 3302 | /signal-exit/3.0.7: 3303 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3304 | dev: true 3305 | 3306 | /sisteransi/1.0.5: 3307 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3308 | dev: true 3309 | 3310 | /slash/3.0.0: 3311 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3312 | engines: {node: '>=8'} 3313 | dev: true 3314 | 3315 | /source-map-support/0.5.21: 3316 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 3317 | dependencies: 3318 | buffer-from: 1.1.2 3319 | source-map: 0.6.1 3320 | dev: true 3321 | 3322 | /source-map/0.5.7: 3323 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=} 3324 | engines: {node: '>=0.10.0'} 3325 | dev: true 3326 | 3327 | /source-map/0.6.1: 3328 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3329 | engines: {node: '>=0.10.0'} 3330 | dev: true 3331 | 3332 | /source-map/0.7.3: 3333 | resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} 3334 | engines: {node: '>= 8'} 3335 | dev: true 3336 | 3337 | /sprintf-js/1.0.3: 3338 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} 3339 | dev: true 3340 | 3341 | /stack-utils/2.0.5: 3342 | resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} 3343 | engines: {node: '>=10'} 3344 | dependencies: 3345 | escape-string-regexp: 2.0.0 3346 | dev: true 3347 | 3348 | /string-length/4.0.2: 3349 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 3350 | engines: {node: '>=10'} 3351 | dependencies: 3352 | char-regex: 1.0.2 3353 | strip-ansi: 6.0.1 3354 | dev: true 3355 | 3356 | /string-width/4.2.3: 3357 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3358 | engines: {node: '>=8'} 3359 | dependencies: 3360 | emoji-regex: 8.0.0 3361 | is-fullwidth-code-point: 3.0.0 3362 | strip-ansi: 6.0.1 3363 | dev: true 3364 | 3365 | /strip-ansi/6.0.1: 3366 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3367 | engines: {node: '>=8'} 3368 | dependencies: 3369 | ansi-regex: 5.0.1 3370 | dev: true 3371 | 3372 | /strip-bom/4.0.0: 3373 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 3374 | engines: {node: '>=8'} 3375 | dev: true 3376 | 3377 | /strip-final-newline/2.0.0: 3378 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3379 | engines: {node: '>=6'} 3380 | dev: true 3381 | 3382 | /strip-json-comments/3.1.1: 3383 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3384 | engines: {node: '>=8'} 3385 | dev: true 3386 | 3387 | /supports-color/5.5.0: 3388 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3389 | engines: {node: '>=4'} 3390 | dependencies: 3391 | has-flag: 3.0.0 3392 | dev: true 3393 | 3394 | /supports-color/7.2.0: 3395 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3396 | engines: {node: '>=8'} 3397 | dependencies: 3398 | has-flag: 4.0.0 3399 | dev: true 3400 | 3401 | /supports-color/8.1.1: 3402 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3403 | engines: {node: '>=10'} 3404 | dependencies: 3405 | has-flag: 4.0.0 3406 | dev: true 3407 | 3408 | /supports-hyperlinks/2.2.0: 3409 | resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} 3410 | engines: {node: '>=8'} 3411 | dependencies: 3412 | has-flag: 4.0.0 3413 | supports-color: 7.2.0 3414 | dev: true 3415 | 3416 | /supports-preserve-symlinks-flag/1.0.0: 3417 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3418 | engines: {node: '>= 0.4'} 3419 | dev: true 3420 | 3421 | /symbol-tree/3.2.4: 3422 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 3423 | dev: true 3424 | 3425 | /terminal-link/2.1.1: 3426 | resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} 3427 | engines: {node: '>=8'} 3428 | dependencies: 3429 | ansi-escapes: 4.3.2 3430 | supports-hyperlinks: 2.2.0 3431 | dev: true 3432 | 3433 | /test-exclude/6.0.0: 3434 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 3435 | engines: {node: '>=8'} 3436 | dependencies: 3437 | '@istanbuljs/schema': 0.1.3 3438 | glob: 7.2.0 3439 | minimatch: 3.1.2 3440 | dev: true 3441 | 3442 | /throat/6.0.1: 3443 | resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} 3444 | dev: true 3445 | 3446 | /tmpl/1.0.5: 3447 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 3448 | dev: true 3449 | 3450 | /to-fast-properties/2.0.0: 3451 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} 3452 | engines: {node: '>=4'} 3453 | dev: true 3454 | 3455 | /to-regex-range/5.0.1: 3456 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3457 | engines: {node: '>=8.0'} 3458 | dependencies: 3459 | is-number: 7.0.0 3460 | dev: true 3461 | 3462 | /tough-cookie/4.0.0: 3463 | resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} 3464 | engines: {node: '>=6'} 3465 | dependencies: 3466 | psl: 1.8.0 3467 | punycode: 2.1.1 3468 | universalify: 0.1.2 3469 | dev: true 3470 | 3471 | /tr46/2.1.0: 3472 | resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} 3473 | engines: {node: '>=8'} 3474 | dependencies: 3475 | punycode: 2.1.1 3476 | dev: true 3477 | 3478 | /type-check/0.3.2: 3479 | resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=} 3480 | engines: {node: '>= 0.8.0'} 3481 | dependencies: 3482 | prelude-ls: 1.1.2 3483 | dev: true 3484 | 3485 | /type-detect/4.0.8: 3486 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 3487 | engines: {node: '>=4'} 3488 | dev: true 3489 | 3490 | /type-fest/0.21.3: 3491 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3492 | engines: {node: '>=10'} 3493 | dev: true 3494 | 3495 | /typedarray-to-buffer/3.1.5: 3496 | resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} 3497 | dependencies: 3498 | is-typedarray: 1.0.0 3499 | dev: true 3500 | 3501 | /typescript/4.6.3: 3502 | resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} 3503 | engines: {node: '>=4.2.0'} 3504 | hasBin: true 3505 | dev: true 3506 | 3507 | /unicode-canonical-property-names-ecmascript/2.0.0: 3508 | resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} 3509 | engines: {node: '>=4'} 3510 | dev: true 3511 | 3512 | /unicode-match-property-ecmascript/2.0.0: 3513 | resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} 3514 | engines: {node: '>=4'} 3515 | dependencies: 3516 | unicode-canonical-property-names-ecmascript: 2.0.0 3517 | unicode-property-aliases-ecmascript: 2.0.0 3518 | dev: true 3519 | 3520 | /unicode-match-property-value-ecmascript/2.0.0: 3521 | resolution: {integrity: sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==} 3522 | engines: {node: '>=4'} 3523 | dev: true 3524 | 3525 | /unicode-property-aliases-ecmascript/2.0.0: 3526 | resolution: {integrity: sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==} 3527 | engines: {node: '>=4'} 3528 | dev: true 3529 | 3530 | /universalify/0.1.2: 3531 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 3532 | engines: {node: '>= 4.0.0'} 3533 | dev: true 3534 | 3535 | /v8-to-istanbul/8.1.1: 3536 | resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} 3537 | engines: {node: '>=10.12.0'} 3538 | dependencies: 3539 | '@types/istanbul-lib-coverage': 2.0.4 3540 | convert-source-map: 1.8.0 3541 | source-map: 0.7.3 3542 | dev: true 3543 | 3544 | /w3c-hr-time/1.0.2: 3545 | resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} 3546 | dependencies: 3547 | browser-process-hrtime: 1.0.0 3548 | dev: true 3549 | 3550 | /w3c-xmlserializer/2.0.0: 3551 | resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} 3552 | engines: {node: '>=10'} 3553 | dependencies: 3554 | xml-name-validator: 3.0.0 3555 | dev: true 3556 | 3557 | /walker/1.0.8: 3558 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 3559 | dependencies: 3560 | makeerror: 1.0.12 3561 | dev: true 3562 | 3563 | /webidl-conversions/5.0.0: 3564 | resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} 3565 | engines: {node: '>=8'} 3566 | dev: true 3567 | 3568 | /webidl-conversions/6.1.0: 3569 | resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} 3570 | engines: {node: '>=10.4'} 3571 | dev: true 3572 | 3573 | /whatwg-encoding/1.0.5: 3574 | resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} 3575 | dependencies: 3576 | iconv-lite: 0.4.24 3577 | dev: true 3578 | 3579 | /whatwg-mimetype/2.3.0: 3580 | resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} 3581 | dev: true 3582 | 3583 | /whatwg-url/8.7.0: 3584 | resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} 3585 | engines: {node: '>=10'} 3586 | dependencies: 3587 | lodash: 4.17.21 3588 | tr46: 2.1.0 3589 | webidl-conversions: 6.1.0 3590 | dev: true 3591 | 3592 | /which/2.0.2: 3593 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3594 | engines: {node: '>= 8'} 3595 | hasBin: true 3596 | dependencies: 3597 | isexe: 2.0.0 3598 | dev: true 3599 | 3600 | /word-wrap/1.2.3: 3601 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3602 | engines: {node: '>=0.10.0'} 3603 | dev: true 3604 | 3605 | /wrap-ansi/7.0.0: 3606 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3607 | engines: {node: '>=10'} 3608 | dependencies: 3609 | ansi-styles: 4.3.0 3610 | string-width: 4.2.3 3611 | strip-ansi: 6.0.1 3612 | dev: true 3613 | 3614 | /wrappy/1.0.2: 3615 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} 3616 | dev: true 3617 | 3618 | /write-file-atomic/3.0.3: 3619 | resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} 3620 | dependencies: 3621 | imurmurhash: 0.1.4 3622 | is-typedarray: 1.0.0 3623 | signal-exit: 3.0.7 3624 | typedarray-to-buffer: 3.1.5 3625 | dev: true 3626 | 3627 | /ws/7.5.7: 3628 | resolution: {integrity: sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==} 3629 | engines: {node: '>=8.3.0'} 3630 | peerDependencies: 3631 | bufferutil: ^4.0.1 3632 | utf-8-validate: ^5.0.2 3633 | peerDependenciesMeta: 3634 | bufferutil: 3635 | optional: true 3636 | utf-8-validate: 3637 | optional: true 3638 | dev: true 3639 | 3640 | /xml-name-validator/3.0.0: 3641 | resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} 3642 | dev: true 3643 | 3644 | /xmlchars/2.2.0: 3645 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 3646 | dev: true 3647 | 3648 | /y18n/5.0.8: 3649 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3650 | engines: {node: '>=10'} 3651 | dev: true 3652 | 3653 | /yallist/4.0.0: 3654 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3655 | dev: true 3656 | 3657 | /yargs-parser/20.2.9: 3658 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} 3659 | engines: {node: '>=10'} 3660 | dev: true 3661 | 3662 | /yargs/16.2.0: 3663 | resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} 3664 | engines: {node: '>=10'} 3665 | dependencies: 3666 | cliui: 7.0.4 3667 | escalade: 3.1.1 3668 | get-caller-file: 2.0.5 3669 | require-directory: 2.1.1 3670 | string-width: 4.2.3 3671 | y18n: 5.0.8 3672 | yargs-parser: 20.2.9 3673 | dev: true 3674 | -------------------------------------------------------------------------------- /src/reactivity/baseHandlers.ts: -------------------------------------------------------------------------------- 1 | import { isObject } from '../shared' 2 | import { track, trigger } from './effect' 3 | import { reactive, ReactiveFlag, readonly } from './reactive' 4 | 5 | const get = createGetter() 6 | const set = createSetter() 7 | const readonlyGet = createGetter(true) 8 | const shallowReadonlyGet = createGetter(true, true) 9 | function createGetter(isReadonly = false, isShallow = false) { 10 | return function get(target, key) { 11 | if (key === ReactiveFlag.IS_REACTIVE) { 12 | return true 13 | } else if (key === ReactiveFlag.IS_READONLY) { 14 | return isReadonly 15 | } 16 | const res = Reflect.get(target, key) 17 | if (isShallow) return res 18 | // 判断 res 是否是 object 19 | if (isObject(res)) { 20 | return isReadonly ? readonly(res) : reactive(res) 21 | } 22 | // 收集依赖 23 | !isReadonly && track(target, key) 24 | return res 25 | } 26 | } 27 | function createSetter(_isReadonly = false) { 28 | return function set(target, key, value) { 29 | const res = Reflect.set(target, key, value) 30 | // 触发依赖 31 | trigger(target, key) 32 | return res 33 | } 34 | } 35 | export const mutabelHandler = { 36 | get, 37 | set, 38 | } 39 | export const readonlyHandler = { 40 | get: readonlyGet, 41 | set: (target, key) => { 42 | console.warn(`key: ${key} 赋值失败,因为目标${target}是只读的`) 43 | return true 44 | }, 45 | } 46 | export const shallowReadonlyHandler = { 47 | get: shallowReadonlyGet, 48 | set: (target, key) => { 49 | console.warn(`key: ${key} 赋值失败,因为目标${target}是只读的`) 50 | return true 51 | }, 52 | } 53 | -------------------------------------------------------------------------------- /src/reactivity/effect.ts: -------------------------------------------------------------------------------- 1 | import { extend } from "../shared" 2 | 3 | const targetMap = new WeakMap() 4 | let activeEffect: any 5 | let shouldTrack 6 | 7 | class ReactiveEffect { 8 | private _fn: any 9 | deps: any[] = [] 10 | active = true 11 | onStop?: () => void 12 | public scheduler: Function | undefined 13 | constructor(fn, scheduler?: Function) { 14 | this._fn = fn 15 | this.scheduler = scheduler 16 | } 17 | 18 | run() { 19 | // 当运行stop之后,就不会关心依赖了 20 | // 所以直接返回响应函数即可 21 | if (!this.active) { 22 | return this._fn() 23 | } 24 | // 否则的话收集依赖 25 | shouldTrack = true 26 | activeEffect = this 27 | const result = this._fn() 28 | // 之后再将依赖收集关闭 29 | // 后续多次调用stop也不会产生影响,在stop内操作也可以 30 | shouldTrack = false 31 | return result 32 | } 33 | 34 | stop() { 35 | // 此处需要对deps进行解绑 36 | // 在收集依赖时,将deps绑定在其自身即可 37 | // 新增一个deps属性进行存储 38 | this.active && cleanupEffect(this) 39 | this.onStop?.() 40 | this.active = false 41 | } 42 | } 43 | 44 | function cleanupEffect(effect: ReactiveEffect) { 45 | effect.deps.forEach(dep => { 46 | if (dep) { 47 | dep.delete(effect) 48 | } 49 | }) 50 | effect.deps.length = 0 51 | } 52 | 53 | export function effect(fn, options: any = {}) { 54 | // 获取一个方法,并且需要立即调用 55 | // 抽离出来,放到一个单独的类中 56 | const _effect = new ReactiveEffect(fn, options.scheduler) 57 | extend(_effect, options) 58 | _effect.run() 59 | 60 | // 获取到的返回值为当前的run方法, 但是需要指定其this的指向 61 | // 直接返回fn会导致无法收集到对应的依赖 62 | const runner: any = _effect.run.bind(_effect) 63 | 64 | // 给runner自身添加一个属性,用来记录当前的effect 65 | runner.effect = _effect 66 | return runner 67 | } 68 | 69 | export function track(target, key) { 70 | if (!isTracking()) return 71 | 72 | let depsMap = targetMap.get(target) 73 | if (!depsMap) { 74 | depsMap = new Map() 75 | targetMap.set(target, depsMap) 76 | } 77 | let dep = depsMap.get(key) 78 | if (!dep) { 79 | dep = new Set() 80 | depsMap.set(key, dep) 81 | } 82 | 83 | if (dep.has(activeEffect)) return 84 | 85 | dep.add(activeEffect) 86 | activeEffect.deps.push(dep) 87 | } 88 | 89 | function isTracking() { 90 | return shouldTrack && activeEffect !== undefined 91 | } 92 | 93 | export function trigger(target, key) { 94 | const depsMap = targetMap.get(target) 95 | const dep = depsMap.get(key) 96 | for (const effect of dep) { 97 | // 当执行赋值操作时,会判断是否存在schedule进行执行 98 | if (effect.scheduler) { 99 | effect.scheduler() 100 | } else { 101 | effect.run() 102 | } 103 | } 104 | } 105 | 106 | export function stop(runner) { 107 | runner.effect.stop() 108 | } 109 | -------------------------------------------------------------------------------- /src/reactivity/reactive.ts: -------------------------------------------------------------------------------- 1 | import { mutabelHandler, readonlyHandler, shallowReadonlyHandler } from './baseHandlers' 2 | 3 | // 枚举reactive上的一些标签 4 | export const enum ReactiveFlag { 5 | IS_REACTIVE = 'is_reactive', 6 | IS_READONLY = 'is_readonly', 7 | } 8 | 9 | export function reactive(raw) { 10 | return createActiveObject(raw, mutabelHandler) 11 | } 12 | 13 | // 拦截set的赋值操作,直接返回成功 14 | export function readonly(raw) { 15 | return createActiveObject(raw, readonlyHandler) 16 | } 17 | 18 | export function shallowReadonly(raw) { 19 | return createActiveObject(raw, shallowReadonlyHandler) 20 | } 21 | 22 | export function isReactive(value) { 23 | return !!value[ReactiveFlag.IS_REACTIVE] 24 | } 25 | export function isReadonly(value) { 26 | return !!value[ReactiveFlag.IS_READONLY] 27 | } 28 | 29 | export function isProxy(value) { 30 | return isReactive(value) || isReadonly(value) 31 | } 32 | 33 | function createActiveObject(raw, baseHandlers) { 34 | return new Proxy(raw, baseHandlers) 35 | } 36 | -------------------------------------------------------------------------------- /src/reactivity/tests/effect.spec.ts: -------------------------------------------------------------------------------- 1 | import { effect, stop } from '../effect' 2 | import { reactive } from '../reactive' 3 | 4 | describe('effect', () => { 5 | it('happy path', () => { 6 | const user = reactive({ 7 | age: 10, 8 | }) 9 | 10 | let nextAge 11 | effect(() => { 12 | nextAge = user.age + 1 13 | }) 14 | 15 | expect(nextAge).toBe(11) 16 | 17 | // update 18 | user.age++ 19 | expect(nextAge).toBe(12) 20 | }) 21 | 22 | it('should return runner when call effect', () => { 23 | // effect 函数返回一个回调方法,执行effect时会调用回调方法,回调方法执行后会有一个返回值出来 24 | 25 | let foo = 10 26 | const runner = effect(() => { 27 | foo++ 28 | return 'foo' 29 | }) 30 | 31 | expect(foo).toBe(11) 32 | const r = runner() 33 | expect(foo).toBe(12) 34 | expect(r).toBe('foo') 35 | }) 36 | 37 | it('scheduler', () => { 38 | // 通过给定effect 第一个参数 fn,第二个参数 名为scheduler的方法 39 | // 此时当effect在第一次执行时会执行一次 fn 40 | // 在响应式对象 执行setter时,不会执行fn,而是执行scheduler 41 | // 当执行runner时,才会去执行fn,以为此时返回的是 fn 42 | let dummy 43 | let run 44 | const scheduler = jest.fn(() => { 45 | run = runner 46 | }) 47 | const obj = reactive({ foo: 1 }) 48 | const runner = effect( 49 | () => { 50 | dummy = obj.foo 51 | }, 52 | { scheduler } 53 | ) 54 | expect(scheduler).not.toHaveBeenCalled() 55 | expect(dummy).toBe(1) 56 | obj.foo++ 57 | expect(scheduler).toHaveBeenCalledTimes(1) 58 | expect(dummy).toBe(1) 59 | run() 60 | expect(dummy).toBe(2) 61 | }) 62 | 63 | it('stop', () => { 64 | let dummy 65 | const obj = reactive({ prop: 1 }) 66 | const runner = effect(() => { 67 | dummy = obj.prop 68 | }) 69 | obj.prop = 2 70 | expect(dummy).toBe(2) 71 | // 获取到当前的响应式方法,并对其触发暂停更新的操作 72 | stop(runner) 73 | // obj.prop = 3 74 | // obj.prop = obj.prop + 1 75 | // 此时会触发get合set操作,所以当stop清理的时候,要再get时做判断 76 | // 判断当前是否需要做收集,此处的全局变量再哪做赋值呢 77 | // 由于触发响应式对象赋值的函数是runner,而runner是在run的时候触发的 78 | // 所以我们在run函数内处理该全局变量的逻辑 79 | obj.prop++ 80 | expect(dummy).toBe(2) 81 | 82 | runner() 83 | expect(dummy).toBe(3) 84 | }) 85 | 86 | it('onStop', () => { 87 | const onStop = jest.fn() 88 | const runner = effect(() => { }, { onStop }) 89 | stop(runner) 90 | expect(onStop).toBeCalledTimes(1) 91 | }) 92 | }) 93 | -------------------------------------------------------------------------------- /src/reactivity/tests/reactive.spec.ts: -------------------------------------------------------------------------------- 1 | import { isProxy, isReactive, reactive } from '../reactive' 2 | describe('reactive', () => { 3 | it('happy path', () => { 4 | const original = { foo: 1 } 5 | const observed = reactive(original) 6 | expect(observed).not.toBe(original) 7 | expect(observed.foo).toBe(1) 8 | expect(isReactive(original)).toBe(false) 9 | expect(isReactive(observed)).toBe(true) 10 | expect(isProxy(observed)).toBe(true) 11 | }) 12 | 13 | test('nested reactive', () => { 14 | const original = { 15 | nested: { 16 | foo: 1, 17 | }, 18 | array: [{ bar: 2 }], 19 | } 20 | 21 | const observed = reactive(original) 22 | expect(isReactive(observed.nested)).toBe(true) 23 | expect(isReactive(observed.array)).toBe(true) 24 | expect(isReactive(observed.array[0])).toBe(true) 25 | }) 26 | }) 27 | -------------------------------------------------------------------------------- /src/reactivity/tests/readonly.spec.ts: -------------------------------------------------------------------------------- 1 | import { isReadonly, readonly } from '../reactive' 2 | 3 | describe('readonly', () => { 4 | it('should make nested values readonly', () => { 5 | const original = { foo: 1, bar: { baz: 2 } } 6 | const wrapped = readonly(original) 7 | 8 | expect(wrapped).not.toBe(original) 9 | expect(wrapped.foo).toBe(1) 10 | expect(isReadonly(original)).toBe(false) 11 | expect(isReadonly(wrapped)).toBe(true) 12 | expect(isReadonly(wrapped.bar)).toBe(true) 13 | }) 14 | 15 | it('warn when call set', () => { 16 | console.warn = jest.fn() 17 | const user = readonly({ age: 10 }) 18 | 19 | user.age = 11 20 | expect(console.warn).toBeCalled() 21 | }) 22 | }) 23 | -------------------------------------------------------------------------------- /src/reactivity/tests/shallowReadonly.spec.ts: -------------------------------------------------------------------------------- 1 | import { isReadonly, shallowReadonly } from '../reactive' 2 | 3 | describe('shallowReadonly', () => { 4 | it('should not make non-reactive properties reactive', () => { 5 | const props = shallowReadonly({ n: { foo: 1 } }) 6 | expect(isReadonly(props)).toBe(true) 7 | expect(isReadonly(props.n)).toBe(false) 8 | }) 9 | 10 | it('should call console.warn when set', () => { 11 | console.warn = jest.fn() 12 | const user = shallowReadonly({ age: 10 }) 13 | 14 | user.age = 11 15 | expect(console.warn).toBeCalled() 16 | }) 17 | }) 18 | -------------------------------------------------------------------------------- /src/shared/index.ts: -------------------------------------------------------------------------------- 1 | export const extend = Object.assign 2 | 3 | export const isObject = val => val !== null && typeof val === 'object' 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Visit https://aka.ms/tsconfig.json to read more about this file */ 4 | 5 | /* Projects */ 6 | // "incremental": true, /* Enable incremental compilation */ 7 | // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 | // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */ 9 | // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */ 10 | // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 | // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 | 13 | /* Language and Environment */ 14 | "target": "es5" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, 15 | "lib": [ 16 | "DOM", 17 | "es6" 18 | ] /* Specify a set of bundled library declaration files that describe the target runtime environment. */, 19 | // "jsx": "preserve", /* Specify what JSX code is generated. */ 20 | // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */ 21 | // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 22 | // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */ 23 | // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 24 | // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */ 25 | // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */ 26 | // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 27 | // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 28 | 29 | /* Modules */ 30 | "module": "commonjs" /* Specify what module code is generated. */, 31 | // "rootDir": "./", /* Specify the root folder within your source files. */ 32 | // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */ 33 | // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 34 | // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 35 | // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 36 | // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */ 37 | "types": [ 38 | "jest" 39 | ] /* Specify type package names to be included without being referenced in a source file. */, 40 | // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 41 | // "resolveJsonModule": true, /* Enable importing .json files */ 42 | // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */ 43 | 44 | /* JavaScript Support */ 45 | // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */ 46 | // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 47 | // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */ 48 | 49 | /* Emit */ 50 | // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 51 | // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 52 | // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 53 | // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 54 | // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */ 55 | // "outDir": "./", /* Specify an output folder for all emitted files. */ 56 | // "removeComments": true, /* Disable emitting comments. */ 57 | // "noEmit": true, /* Disable emitting files from a compilation. */ 58 | // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 59 | // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */ 60 | // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 61 | // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 62 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 63 | // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 64 | // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 65 | // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 66 | // "newLine": "crlf", /* Set the newline character for emitting files. */ 67 | // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */ 68 | // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */ 69 | // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 70 | // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */ 71 | // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 72 | 73 | /* Interop Constraints */ 74 | // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 75 | // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 76 | "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */, 77 | // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 78 | "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, 79 | 80 | /* Type Checking */ 81 | "strict": true /* Enable all strict type-checking options. */, 82 | "noImplicitAny": false /* Enable error reporting for expressions and declarations with an implied `any` type.. */, 83 | // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */ 84 | // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 85 | // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */ 86 | // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 87 | // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */ 88 | // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */ 89 | // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 90 | // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */ 91 | // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */ 92 | // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 93 | // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 94 | // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 95 | // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ 96 | // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 97 | // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */ 98 | // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 99 | // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 100 | 101 | /* Completeness */ 102 | // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 103 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 104 | } 105 | } 106 | --------------------------------------------------------------------------------