├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── .npmignore ├── .prettierrc.js ├── .vim └── coc-settings.json ├── README.md ├── package.json ├── src ├── common │ ├── dispose.ts │ ├── download.ts │ ├── logger.ts │ ├── translator.ts │ └── util.ts ├── index.ts ├── provider │ ├── completion.ts │ ├── edict.ts │ ├── hover.ts │ └── words.ts └── sources │ └── translation.ts ├── tsconfig.json ├── webpack.config.js ├── words └── 10k.txt └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | trim_trailing_whitespace = true 8 | end_of_line = lf 9 | insert_final_newline = true 10 | 11 | [*.{md}] 12 | trim_trailing_whitespace = false 13 | 14 | [makefile] 15 | indent_style = tab 16 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | parser: '@typescript-eslint/parser', // Specifies the ESLint parser 3 | extends: [ 4 | 'plugin:@typescript-eslint/recommended', // Uses the recommended rules from the @typescript-eslint/eslint-plugin 5 | 'plugin:prettier/recommended', // Enables eslint-plugin-prettier and displays prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array. 6 | ], 7 | parserOptions: { 8 | ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features 9 | sourceType: 'module', // Allows for the use of imports 10 | }, 11 | rules: { 12 | "@typescript-eslint/explicit-function-return-type": "off", 13 | "@typescript-eslint/no-explicit-any": "off", 14 | "@typescript-eslint/no-non-null-assertion": "off", 15 | } 16 | }; 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # create by https://github.com/iamcco/coc-gitignore (Fri Oct 25 2019 11:46:17 GMT+0800 (GMT+08:00)) 2 | # Node.gitignore: 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | lerna-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | *.lcov 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (https://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # TypeScript v1 declaration files 47 | typings/ 48 | 49 | # TypeScript cache 50 | *.tsbuildinfo 51 | 52 | # Optional npm cache directory 53 | .npm 54 | 55 | # Optional eslint cache 56 | .eslintcache 57 | 58 | # Optional REPL history 59 | .node_repl_history 60 | 61 | # Output of 'npm pack' 62 | *.tgz 63 | 64 | # Yarn Integrity file 65 | .yarn-integrity 66 | 67 | # dotenv environment variables file 68 | .env 69 | .env.test 70 | 71 | # parcel-bundler cache (https://parceljs.org/) 72 | .cache 73 | 74 | # next.js build output 75 | .next 76 | 77 | # nuxt.js build output 78 | .nuxt 79 | 80 | # vuepress build output 81 | .vuepress/dist 82 | 83 | # Serverless directories 84 | .serverless/ 85 | 86 | # FuseBox cache 87 | .fusebox/ 88 | 89 | # DynamoDB Local files 90 | .dynamodb/ 91 | 92 | # Node-patch: 93 | out/ 94 | .DS_Store 95 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | src/ 2 | tsconfig.json 3 | webpack.config.js 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | semi: true, 3 | trailingComma: 'all', 4 | singleQuote: true, 5 | printWidth: 120, 6 | tabWidth: 2, 7 | }; 8 | -------------------------------------------------------------------------------- /.vim/coc-settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": [ 3 | "iamcco", 4 | "nvim" 5 | ] 6 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | coc-zi 3 |
4 | 5 |
6 |

7 | 8 | Auto suggest english words when you type for the right place 9 | 10 | > If `look` command does not exists it will only use 10k words. 11 | 12 | - auto suggest 13 | - hover document using [ECDICT](https://github.com/skywind3000/ECDICT) 14 | 15 | ![](https://user-images.githubusercontent.com/5492542/67636928-7341dd00-f910-11e9-8418-09c805fa856a.png) 16 | 17 | ## Install 18 | 19 | `:CocInstall coc-zi` 20 | 21 | ## Translators 22 | 23 | `:CocList translators` 24 | 25 | ![](https://user-images.githubusercontent.com/5492542/67636930-76d56400-f910-11e9-8303-8aa783903384.png) 26 | 27 | ## Settings 28 | 29 | - `zi.enable`: enable coc-zi 30 | - `zi.trace.server`: Trace level of log 31 | - `zi.patterns`: javascript regex patterns to enable autocomplete, empty array `[]` means enable for whole buffer. defalut: 32 | ``` jsonc 33 | "zi.patterns": { 34 | "": [], 35 | "javascript": [ 36 | "^\\s*\\/\\/", 37 | "^\\s*\\/\\*", 38 | "^\\s*\\*" 39 | ], 40 | "typescript": [ 41 | "^\\s*\\/\\/", 42 | "^\\s*\\/\\*", 43 | "^\\s*\\*" 44 | ], 45 | "markdown": [], 46 | "vim": [ 47 | "^\\s*\\\"" 48 | ], 49 | "gitcommit": [] 50 | } 51 | ``` 52 | - `zi.syntaxKinds.javascript`: syntax kind to enable autocomplete. default: 53 | ``` jsonc 54 | "zi.syntaxKinds.javascript": [ 55 | "StringLiteral", 56 | "NoSubstitutionTemplateLiteral", 57 | "TemplateHead", 58 | "TemplateTail", 59 | "TemplateMiddle" 60 | ] 61 | ``` 62 | - `zi.syntaxKinds.typescript`: syntax kind to enable autocomplete. default: 63 | ``` jsonc 64 | "zi.syntaxKinds.javascript": [ 65 | "StringLiteral", 66 | "NoSubstitutionTemplateLiteral", 67 | "TemplateHead", 68 | "TemplateTail", 69 | "TemplateMiddle" 70 | ] 71 | ``` 72 | 73 | ## Credits 74 | 75 | - translate api is from [coc-translator](https://github.com/voldikss/coc-translator) 76 | 77 | ### Buy Me A Coffee ☕️ 78 | 79 | ![btc](https://img.shields.io/keybase/btc/iamcco.svg?style=popout-square) 80 | 81 | ![image](https://user-images.githubusercontent.com/5492542/42771079-962216b0-8958-11e8-81c0-520363ce1059.png) 82 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "coc-zi", 3 | "version": "1.4.0", 4 | "description": "words for coc.nvim", 5 | "keywords": [ 6 | "coc.nvim", 7 | "words", 8 | "english", 9 | "zi" 10 | ], 11 | "main": "./out/index.js", 12 | "repository": "https://github.com/iamcco/coc-zi", 13 | "author": "iamcco ", 14 | "license": "MIT", 15 | "engines": { 16 | "coc": "^0.0.74" 17 | }, 18 | "activationEvents": [ 19 | "*" 20 | ], 21 | "contributes": { 22 | "configuration": { 23 | "title": "coc-zi configuration", 24 | "properties": { 25 | "zi.enable": { 26 | "type": "boolean", 27 | "default": true, 28 | "description": "enable coc-zi" 29 | }, 30 | "zi.hover": { 31 | "type": "boolean", 32 | "default": true, 33 | "description": "enable hover for coc-zi" 34 | }, 35 | "zi.trace.server": { 36 | "type": "string", 37 | "default": "off", 38 | "enum": [ 39 | "off", 40 | "messages", 41 | "verbose" 42 | ], 43 | "description": "Trace level of log" 44 | }, 45 | "zi.patterns": { 46 | "type": "object", 47 | "default": { 48 | "": [], 49 | "javascript": [ 50 | "^\\s*\\/\\/", 51 | "^\\s*\\/\\*", 52 | "^\\s*\\*" 53 | ], 54 | "typescript": [ 55 | "^\\s*\\/\\/", 56 | "^\\s*\\/\\*", 57 | "^\\s*\\*" 58 | ], 59 | "markdown": [], 60 | "vim": [ 61 | "^\\s*\\\"" 62 | ], 63 | "gitcommit": [] 64 | }, 65 | "description": "javascript regex patterns to enable autocomplete, empty array `[]` means enable for whole buffer" 66 | }, 67 | "zi.syntaxKinds.javascript": { 68 | "type": "array", 69 | "default": [ 70 | "StringLiteral", 71 | "NoSubstitutionTemplateLiteral", 72 | "TemplateHead", 73 | "TemplateTail", 74 | "TemplateMiddle" 75 | ], 76 | "items": { 77 | "type": "string", 78 | "enum": [ 79 | "EndOfFileToken", 80 | "SingleLineCommentTrivia", 81 | "MultiLineCommentTrivia", 82 | "NewLineTrivia", 83 | "WhitespaceTrivia", 84 | "ShebangTrivia", 85 | "ConflictMarkerTrivia", 86 | "NumericLiteral", 87 | "BigIntLiteral", 88 | "StringLiteral", 89 | "JsxText", 90 | "JsxTextAllWhiteSpaces", 91 | "RegularExpressionLiteral", 92 | "NoSubstitutionTemplateLiteral", 93 | "TemplateHead", 94 | "TemplateMiddle", 95 | "TemplateTail", 96 | "OpenBraceToken", 97 | "CloseBraceToken", 98 | "OpenParenToken", 99 | "CloseParenToken", 100 | "OpenBracketToken", 101 | "CloseBracketToken", 102 | "DotToken", 103 | "DotDotDotToken", 104 | "SemicolonToken", 105 | "CommaToken", 106 | "LessThanToken", 107 | "LessThanSlashToken", 108 | "GreaterThanToken", 109 | "LessThanEqualsToken", 110 | "GreaterThanEqualsToken", 111 | "EqualsEqualsToken", 112 | "ExclamationEqualsToken", 113 | "EqualsEqualsEqualsToken", 114 | "ExclamationEqualsEqualsToken", 115 | "EqualsGreaterThanToken", 116 | "PlusToken", 117 | "MinusToken", 118 | "AsteriskToken", 119 | "AsteriskAsteriskToken", 120 | "SlashToken", 121 | "PercentToken", 122 | "PlusPlusToken", 123 | "MinusMinusToken", 124 | "LessThanLessThanToken", 125 | "GreaterThanGreaterThanToken", 126 | "GreaterThanGreaterThanGreaterThanToken", 127 | "AmpersandToken", 128 | "BarToken", 129 | "CaretToken", 130 | "ExclamationToken", 131 | "TildeToken", 132 | "AmpersandAmpersandToken", 133 | "BarBarToken", 134 | "QuestionToken", 135 | "ColonToken", 136 | "AtToken", 137 | "/**OnlytheJSDocscannerproducesBacktickToken.ThenormalscannerproducesNoSubstitutionTemplateLiteralandrelatedkinds.*/", 138 | "BacktickToken", 139 | "EqualsToken", 140 | "PlusEqualsToken", 141 | "MinusEqualsToken", 142 | "AsteriskEqualsToken", 143 | "AsteriskAsteriskEqualsToken", 144 | "SlashEqualsToken", 145 | "PercentEqualsToken", 146 | "LessThanLessThanEqualsToken", 147 | "GreaterThanGreaterThanEqualsToken", 148 | "GreaterThanGreaterThanGreaterThanEqualsToken", 149 | "AmpersandEqualsToken", 150 | "BarEqualsToken", 151 | "CaretEqualsToken", 152 | "Identifier", 153 | "BreakKeyword", 154 | "CaseKeyword", 155 | "CatchKeyword", 156 | "ClassKeyword", 157 | "ConstKeyword", 158 | "ContinueKeyword", 159 | "DebuggerKeyword", 160 | "DefaultKeyword", 161 | "DeleteKeyword", 162 | "DoKeyword", 163 | "ElseKeyword", 164 | "EnumKeyword", 165 | "ExportKeyword", 166 | "ExtendsKeyword", 167 | "FalseKeyword", 168 | "FinallyKeyword", 169 | "ForKeyword", 170 | "FunctionKeyword", 171 | "IfKeyword", 172 | "ImportKeyword", 173 | "InKeyword", 174 | "InstanceOfKeyword", 175 | "NewKeyword", 176 | "NullKeyword", 177 | "ReturnKeyword", 178 | "SuperKeyword", 179 | "SwitchKeyword", 180 | "ThisKeyword", 181 | "ThrowKeyword", 182 | "TrueKeyword", 183 | "TryKeyword", 184 | "TypeOfKeyword", 185 | "VarKeyword", 186 | "VoidKeyword", 187 | "WhileKeyword", 188 | "WithKeyword", 189 | "ImplementsKeyword", 190 | "InterfaceKeyword", 191 | "LetKeyword", 192 | "PackageKeyword", 193 | "PrivateKeyword", 194 | "ProtectedKeyword", 195 | "PublicKeyword", 196 | "StaticKeyword", 197 | "YieldKeyword", 198 | "AbstractKeyword", 199 | "AsKeyword", 200 | "AnyKeyword", 201 | "AsyncKeyword", 202 | "AwaitKeyword", 203 | "BooleanKeyword", 204 | "ConstructorKeyword", 205 | "DeclareKeyword", 206 | "GetKeyword", 207 | "InferKeyword", 208 | "IsKeyword", 209 | "KeyOfKeyword", 210 | "ModuleKeyword", 211 | "NamespaceKeyword", 212 | "NeverKeyword", 213 | "ReadonlyKeyword", 214 | "RequireKeyword", 215 | "NumberKeyword", 216 | "ObjectKeyword", 217 | "SetKeyword", 218 | "StringKeyword", 219 | "SymbolKeyword", 220 | "TypeKeyword", 221 | "UndefinedKeyword", 222 | "UniqueKeyword", 223 | "UnknownKeyword", 224 | "FromKeyword", 225 | "GlobalKeyword", 226 | "BigIntKeyword", 227 | "OfKeyword", 228 | "QualifiedName", 229 | "ComputedPropertyName", 230 | "TypeParameter", 231 | "Parameter", 232 | "Decorator", 233 | "PropertySignature", 234 | "PropertyDeclaration", 235 | "MethodSignature", 236 | "MethodDeclaration", 237 | "Constructor", 238 | "GetAccessor", 239 | "SetAccessor", 240 | "CallSignature", 241 | "ConstructSignature", 242 | "IndexSignature", 243 | "TypePredicate", 244 | "TypeReference", 245 | "FunctionType", 246 | "ConstructorType", 247 | "TypeQuery", 248 | "TypeLiteral", 249 | "ArrayType", 250 | "TupleType", 251 | "OptionalType", 252 | "RestType", 253 | "UnionType", 254 | "IntersectionType", 255 | "ConditionalType", 256 | "InferType", 257 | "ParenthesizedType", 258 | "ThisType", 259 | "TypeOperator", 260 | "IndexedAccessType", 261 | "MappedType", 262 | "LiteralType", 263 | "ImportType", 264 | "ObjectBindingPattern", 265 | "ArrayBindingPattern", 266 | "BindingElement", 267 | "ArrayLiteralExpression", 268 | "ObjectLiteralExpression", 269 | "PropertyAccessExpression", 270 | "ElementAccessExpression", 271 | "CallExpression", 272 | "NewExpression", 273 | "TaggedTemplateExpression", 274 | "TypeAssertionExpression", 275 | "ParenthesizedExpression", 276 | "FunctionExpression", 277 | "ArrowFunction", 278 | "DeleteExpression", 279 | "TypeOfExpression", 280 | "VoidExpression", 281 | "AwaitExpression", 282 | "PrefixUnaryExpression", 283 | "PostfixUnaryExpression", 284 | "BinaryExpression", 285 | "ConditionalExpression", 286 | "TemplateExpression", 287 | "YieldExpression", 288 | "SpreadElement", 289 | "ClassExpression", 290 | "OmittedExpression", 291 | "ExpressionWithTypeArguments", 292 | "AsExpression", 293 | "NonNullExpression", 294 | "MetaProperty", 295 | "SyntheticExpression", 296 | "TemplateSpan", 297 | "SemicolonClassElement", 298 | "Block", 299 | "VariableStatement", 300 | "EmptyStatement", 301 | "ExpressionStatement", 302 | "IfStatement", 303 | "DoStatement", 304 | "WhileStatement", 305 | "ForStatement", 306 | "ForInStatement", 307 | "ForOfStatement", 308 | "ContinueStatement", 309 | "BreakStatement", 310 | "ReturnStatement", 311 | "WithStatement", 312 | "SwitchStatement", 313 | "LabeledStatement", 314 | "ThrowStatement", 315 | "TryStatement", 316 | "DebuggerStatement", 317 | "VariableDeclaration", 318 | "VariableDeclarationList", 319 | "FunctionDeclaration", 320 | "ClassDeclaration", 321 | "InterfaceDeclaration", 322 | "TypeAliasDeclaration", 323 | "EnumDeclaration", 324 | "ModuleDeclaration", 325 | "ModuleBlock", 326 | "CaseBlock", 327 | "NamespaceExportDeclaration", 328 | "ImportEqualsDeclaration", 329 | "ImportDeclaration", 330 | "ImportClause", 331 | "NamespaceImport", 332 | "NamedImports", 333 | "ImportSpecifier", 334 | "ExportAssignment", 335 | "ExportDeclaration", 336 | "NamedExports", 337 | "ExportSpecifier", 338 | "MissingDeclaration", 339 | "ExternalModuleReference", 340 | "JsxElement", 341 | "JsxSelfClosingElement", 342 | "JsxOpeningElement", 343 | "JsxClosingElement", 344 | "JsxFragment", 345 | "JsxOpeningFragment", 346 | "JsxClosingFragment", 347 | "JsxAttribute", 348 | "JsxAttributes", 349 | "JsxSpreadAttribute", 350 | "JsxExpression", 351 | "CaseClause", 352 | "DefaultClause", 353 | "HeritageClause", 354 | "CatchClause", 355 | "PropertyAssignment", 356 | "ShorthandPropertyAssignment", 357 | "SpreadAssignment", 358 | "EnumMember", 359 | "UnparsedPrologue", 360 | "UnparsedPrepend", 361 | "UnparsedText", 362 | "UnparsedInternalText", 363 | "UnparsedSyntheticReference", 364 | "SourceFile", 365 | "Bundle", 366 | "UnparsedSource", 367 | "InputFiles", 368 | "JSDocTypeExpression", 369 | "JSDocAllType", 370 | "JSDocUnknownType", 371 | "JSDocNullableType", 372 | "JSDocNonNullableType", 373 | "JSDocOptionalType", 374 | "JSDocFunctionType", 375 | "JSDocVariadicType", 376 | "JSDocNamepathType", 377 | "JSDocComment", 378 | "JSDocTypeLiteral", 379 | "JSDocSignature", 380 | "JSDocTag", 381 | "JSDocAugmentsTag", 382 | "JSDocAuthorTag", 383 | "JSDocClassTag", 384 | "JSDocCallbackTag", 385 | "JSDocEnumTag", 386 | "JSDocParameterTag", 387 | "JSDocReturnTag", 388 | "JSDocThisTag", 389 | "JSDocTypeTag", 390 | "JSDocTemplateTag", 391 | "JSDocTypedefTag", 392 | "JSDocPropertyTag", 393 | "SyntaxList", 394 | "NotEmittedStatement", 395 | "PartiallyEmittedExpression", 396 | "CommaListExpression", 397 | "MergeDeclarationMarker", 398 | "EndOfDeclarationMarker", 399 | "Count", 400 | "FirstAssignment", 401 | "LastAssignment", 402 | "FirstCompoundAssignment", 403 | "LastCompoundAssignment", 404 | "FirstReservedWord", 405 | "LastReservedWord", 406 | "FirstKeyword", 407 | "LastKeyword", 408 | "FirstFutureReservedWord", 409 | "LastFutureReservedWord", 410 | "FirstTypeNode", 411 | "LastTypeNode", 412 | "FirstPunctuation", 413 | "LastPunctuation", 414 | "FirstToken", 415 | "LastToken", 416 | "FirstTriviaToken", 417 | "LastTriviaToken", 418 | "FirstLiteralToken", 419 | "LastLiteralToken", 420 | "FirstTemplateToken", 421 | "LastTemplateToken", 422 | "FirstBinaryOperator", 423 | "LastBinaryOperator", 424 | "FirstNode", 425 | "FirstJSDocNode", 426 | "LastJSDocNode", 427 | "FirstJSDocTagNode", 428 | "LastJSDocTagNode" 429 | ] 430 | }, 431 | "description": "syntax kind to enable autocomplete" 432 | }, 433 | "zi.syntaxKinds.typescript": { 434 | "type": "array", 435 | "default": [ 436 | "StringLiteral", 437 | "NoSubstitutionTemplateLiteral", 438 | "TemplateHead", 439 | "TemplateTail", 440 | "TemplateMiddle" 441 | ], 442 | "items": { 443 | "type": "string", 444 | "enum": [ 445 | "EndOfFileToken", 446 | "SingleLineCommentTrivia", 447 | "MultiLineCommentTrivia", 448 | "NewLineTrivia", 449 | "WhitespaceTrivia", 450 | "ShebangTrivia", 451 | "ConflictMarkerTrivia", 452 | "NumericLiteral", 453 | "BigIntLiteral", 454 | "StringLiteral", 455 | "JsxText", 456 | "JsxTextAllWhiteSpaces", 457 | "RegularExpressionLiteral", 458 | "NoSubstitutionTemplateLiteral", 459 | "TemplateHead", 460 | "TemplateMiddle", 461 | "TemplateTail", 462 | "OpenBraceToken", 463 | "CloseBraceToken", 464 | "OpenParenToken", 465 | "CloseParenToken", 466 | "OpenBracketToken", 467 | "CloseBracketToken", 468 | "DotToken", 469 | "DotDotDotToken", 470 | "SemicolonToken", 471 | "CommaToken", 472 | "LessThanToken", 473 | "LessThanSlashToken", 474 | "GreaterThanToken", 475 | "LessThanEqualsToken", 476 | "GreaterThanEqualsToken", 477 | "EqualsEqualsToken", 478 | "ExclamationEqualsToken", 479 | "EqualsEqualsEqualsToken", 480 | "ExclamationEqualsEqualsToken", 481 | "EqualsGreaterThanToken", 482 | "PlusToken", 483 | "MinusToken", 484 | "AsteriskToken", 485 | "AsteriskAsteriskToken", 486 | "SlashToken", 487 | "PercentToken", 488 | "PlusPlusToken", 489 | "MinusMinusToken", 490 | "LessThanLessThanToken", 491 | "GreaterThanGreaterThanToken", 492 | "GreaterThanGreaterThanGreaterThanToken", 493 | "AmpersandToken", 494 | "BarToken", 495 | "CaretToken", 496 | "ExclamationToken", 497 | "TildeToken", 498 | "AmpersandAmpersandToken", 499 | "BarBarToken", 500 | "QuestionToken", 501 | "ColonToken", 502 | "AtToken", 503 | "/**OnlytheJSDocscannerproducesBacktickToken.ThenormalscannerproducesNoSubstitutionTemplateLiteralandrelatedkinds.*/", 504 | "BacktickToken", 505 | "EqualsToken", 506 | "PlusEqualsToken", 507 | "MinusEqualsToken", 508 | "AsteriskEqualsToken", 509 | "AsteriskAsteriskEqualsToken", 510 | "SlashEqualsToken", 511 | "PercentEqualsToken", 512 | "LessThanLessThanEqualsToken", 513 | "GreaterThanGreaterThanEqualsToken", 514 | "GreaterThanGreaterThanGreaterThanEqualsToken", 515 | "AmpersandEqualsToken", 516 | "BarEqualsToken", 517 | "CaretEqualsToken", 518 | "Identifier", 519 | "BreakKeyword", 520 | "CaseKeyword", 521 | "CatchKeyword", 522 | "ClassKeyword", 523 | "ConstKeyword", 524 | "ContinueKeyword", 525 | "DebuggerKeyword", 526 | "DefaultKeyword", 527 | "DeleteKeyword", 528 | "DoKeyword", 529 | "ElseKeyword", 530 | "EnumKeyword", 531 | "ExportKeyword", 532 | "ExtendsKeyword", 533 | "FalseKeyword", 534 | "FinallyKeyword", 535 | "ForKeyword", 536 | "FunctionKeyword", 537 | "IfKeyword", 538 | "ImportKeyword", 539 | "InKeyword", 540 | "InstanceOfKeyword", 541 | "NewKeyword", 542 | "NullKeyword", 543 | "ReturnKeyword", 544 | "SuperKeyword", 545 | "SwitchKeyword", 546 | "ThisKeyword", 547 | "ThrowKeyword", 548 | "TrueKeyword", 549 | "TryKeyword", 550 | "TypeOfKeyword", 551 | "VarKeyword", 552 | "VoidKeyword", 553 | "WhileKeyword", 554 | "WithKeyword", 555 | "ImplementsKeyword", 556 | "InterfaceKeyword", 557 | "LetKeyword", 558 | "PackageKeyword", 559 | "PrivateKeyword", 560 | "ProtectedKeyword", 561 | "PublicKeyword", 562 | "StaticKeyword", 563 | "YieldKeyword", 564 | "AbstractKeyword", 565 | "AsKeyword", 566 | "AnyKeyword", 567 | "AsyncKeyword", 568 | "AwaitKeyword", 569 | "BooleanKeyword", 570 | "ConstructorKeyword", 571 | "DeclareKeyword", 572 | "GetKeyword", 573 | "InferKeyword", 574 | "IsKeyword", 575 | "KeyOfKeyword", 576 | "ModuleKeyword", 577 | "NamespaceKeyword", 578 | "NeverKeyword", 579 | "ReadonlyKeyword", 580 | "RequireKeyword", 581 | "NumberKeyword", 582 | "ObjectKeyword", 583 | "SetKeyword", 584 | "StringKeyword", 585 | "SymbolKeyword", 586 | "TypeKeyword", 587 | "UndefinedKeyword", 588 | "UniqueKeyword", 589 | "UnknownKeyword", 590 | "FromKeyword", 591 | "GlobalKeyword", 592 | "BigIntKeyword", 593 | "OfKeyword", 594 | "QualifiedName", 595 | "ComputedPropertyName", 596 | "TypeParameter", 597 | "Parameter", 598 | "Decorator", 599 | "PropertySignature", 600 | "PropertyDeclaration", 601 | "MethodSignature", 602 | "MethodDeclaration", 603 | "Constructor", 604 | "GetAccessor", 605 | "SetAccessor", 606 | "CallSignature", 607 | "ConstructSignature", 608 | "IndexSignature", 609 | "TypePredicate", 610 | "TypeReference", 611 | "FunctionType", 612 | "ConstructorType", 613 | "TypeQuery", 614 | "TypeLiteral", 615 | "ArrayType", 616 | "TupleType", 617 | "OptionalType", 618 | "RestType", 619 | "UnionType", 620 | "IntersectionType", 621 | "ConditionalType", 622 | "InferType", 623 | "ParenthesizedType", 624 | "ThisType", 625 | "TypeOperator", 626 | "IndexedAccessType", 627 | "MappedType", 628 | "LiteralType", 629 | "ImportType", 630 | "ObjectBindingPattern", 631 | "ArrayBindingPattern", 632 | "BindingElement", 633 | "ArrayLiteralExpression", 634 | "ObjectLiteralExpression", 635 | "PropertyAccessExpression", 636 | "ElementAccessExpression", 637 | "CallExpression", 638 | "NewExpression", 639 | "TaggedTemplateExpression", 640 | "TypeAssertionExpression", 641 | "ParenthesizedExpression", 642 | "FunctionExpression", 643 | "ArrowFunction", 644 | "DeleteExpression", 645 | "TypeOfExpression", 646 | "VoidExpression", 647 | "AwaitExpression", 648 | "PrefixUnaryExpression", 649 | "PostfixUnaryExpression", 650 | "BinaryExpression", 651 | "ConditionalExpression", 652 | "TemplateExpression", 653 | "YieldExpression", 654 | "SpreadElement", 655 | "ClassExpression", 656 | "OmittedExpression", 657 | "ExpressionWithTypeArguments", 658 | "AsExpression", 659 | "NonNullExpression", 660 | "MetaProperty", 661 | "SyntheticExpression", 662 | "TemplateSpan", 663 | "SemicolonClassElement", 664 | "Block", 665 | "VariableStatement", 666 | "EmptyStatement", 667 | "ExpressionStatement", 668 | "IfStatement", 669 | "DoStatement", 670 | "WhileStatement", 671 | "ForStatement", 672 | "ForInStatement", 673 | "ForOfStatement", 674 | "ContinueStatement", 675 | "BreakStatement", 676 | "ReturnStatement", 677 | "WithStatement", 678 | "SwitchStatement", 679 | "LabeledStatement", 680 | "ThrowStatement", 681 | "TryStatement", 682 | "DebuggerStatement", 683 | "VariableDeclaration", 684 | "VariableDeclarationList", 685 | "FunctionDeclaration", 686 | "ClassDeclaration", 687 | "InterfaceDeclaration", 688 | "TypeAliasDeclaration", 689 | "EnumDeclaration", 690 | "ModuleDeclaration", 691 | "ModuleBlock", 692 | "CaseBlock", 693 | "NamespaceExportDeclaration", 694 | "ImportEqualsDeclaration", 695 | "ImportDeclaration", 696 | "ImportClause", 697 | "NamespaceImport", 698 | "NamedImports", 699 | "ImportSpecifier", 700 | "ExportAssignment", 701 | "ExportDeclaration", 702 | "NamedExports", 703 | "ExportSpecifier", 704 | "MissingDeclaration", 705 | "ExternalModuleReference", 706 | "JsxElement", 707 | "JsxSelfClosingElement", 708 | "JsxOpeningElement", 709 | "JsxClosingElement", 710 | "JsxFragment", 711 | "JsxOpeningFragment", 712 | "JsxClosingFragment", 713 | "JsxAttribute", 714 | "JsxAttributes", 715 | "JsxSpreadAttribute", 716 | "JsxExpression", 717 | "CaseClause", 718 | "DefaultClause", 719 | "HeritageClause", 720 | "CatchClause", 721 | "PropertyAssignment", 722 | "ShorthandPropertyAssignment", 723 | "SpreadAssignment", 724 | "EnumMember", 725 | "UnparsedPrologue", 726 | "UnparsedPrepend", 727 | "UnparsedText", 728 | "UnparsedInternalText", 729 | "UnparsedSyntheticReference", 730 | "SourceFile", 731 | "Bundle", 732 | "UnparsedSource", 733 | "InputFiles", 734 | "JSDocTypeExpression", 735 | "JSDocAllType", 736 | "JSDocUnknownType", 737 | "JSDocNullableType", 738 | "JSDocNonNullableType", 739 | "JSDocOptionalType", 740 | "JSDocFunctionType", 741 | "JSDocVariadicType", 742 | "JSDocNamepathType", 743 | "JSDocComment", 744 | "JSDocTypeLiteral", 745 | "JSDocSignature", 746 | "JSDocTag", 747 | "JSDocAugmentsTag", 748 | "JSDocAuthorTag", 749 | "JSDocClassTag", 750 | "JSDocCallbackTag", 751 | "JSDocEnumTag", 752 | "JSDocParameterTag", 753 | "JSDocReturnTag", 754 | "JSDocThisTag", 755 | "JSDocTypeTag", 756 | "JSDocTemplateTag", 757 | "JSDocTypedefTag", 758 | "JSDocPropertyTag", 759 | "SyntaxList", 760 | "NotEmittedStatement", 761 | "PartiallyEmittedExpression", 762 | "CommaListExpression", 763 | "MergeDeclarationMarker", 764 | "EndOfDeclarationMarker", 765 | "Count", 766 | "FirstAssignment", 767 | "LastAssignment", 768 | "FirstCompoundAssignment", 769 | "LastCompoundAssignment", 770 | "FirstReservedWord", 771 | "LastReservedWord", 772 | "FirstKeyword", 773 | "LastKeyword", 774 | "FirstFutureReservedWord", 775 | "LastFutureReservedWord", 776 | "FirstTypeNode", 777 | "LastTypeNode", 778 | "FirstPunctuation", 779 | "LastPunctuation", 780 | "FirstToken", 781 | "LastToken", 782 | "FirstTriviaToken", 783 | "LastTriviaToken", 784 | "FirstLiteralToken", 785 | "LastLiteralToken", 786 | "FirstTemplateToken", 787 | "LastTemplateToken", 788 | "FirstBinaryOperator", 789 | "LastBinaryOperator", 790 | "FirstNode", 791 | "FirstJSDocNode", 792 | "LastJSDocNode", 793 | "FirstJSDocTagNode", 794 | "LastJSDocTagNode" 795 | ] 796 | }, 797 | "description": "syntax kind to enable autocomplete" 798 | } 799 | } 800 | } 801 | }, 802 | "scripts": { 803 | "build": "rm -rf ./out && webpack", 804 | "watch": "webpack -w", 805 | "lint": "eslint ./src/**/*.ts", 806 | "lint-fix": "eslint --fix ./src/**/*.ts", 807 | "prepare": "npm run build" 808 | }, 809 | "devDependencies": { 810 | "@types/got": "^9.6.7", 811 | "@types/node": "^12.11.7", 812 | "@types/tunnel": "^0.0.3", 813 | "@types/which": "^2.0.1", 814 | "@typescript-eslint/eslint-plugin": "^5.42.1", 815 | "@typescript-eslint/parser": "^5.42.1", 816 | "coc.nvim": "^0.0.83-next.9", 817 | "colors": "^1.4.0", 818 | "eslint": "^8.27.0", 819 | "eslint-config-prettier": "^8.5.0", 820 | "eslint-plugin-prettier": "^4.2.1", 821 | "got": "^9.6.0", 822 | "prettier": "^2.7.1", 823 | "request-light": "^0.2.4", 824 | "ts-loader": "^9.4.1", 825 | "tunnel": "^0.0.6", 826 | "typescript": "^4.8.4", 827 | "vscode-languageserver-protocol": "^3.17.2", 828 | "webpack": "^5.75.0", 829 | "webpack-cli": "^4.10.0", 830 | "which": "^3.0.0" 831 | } 832 | } 833 | -------------------------------------------------------------------------------- /src/common/dispose.ts: -------------------------------------------------------------------------------- 1 | import { Disposable } from 'coc.nvim'; 2 | 3 | export class Dispose implements Disposable { 4 | private subscriptions: Disposable[] = []; 5 | 6 | push(subs: Disposable) { 7 | this.subscriptions.push(subs); 8 | } 9 | 10 | dispose() { 11 | if (this.subscriptions.length) { 12 | this.subscriptions.forEach((subs) => { 13 | subs.dispose(); 14 | }); 15 | this.subscriptions = []; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/common/download.ts: -------------------------------------------------------------------------------- 1 | import { window, workspace } from 'coc.nvim'; 2 | import fs from 'fs'; 3 | import got from 'got'; 4 | import { Agent } from 'http'; 5 | import tunnel from 'tunnel'; 6 | 7 | function getAgent(): Agent | undefined { 8 | const proxy = workspace.getConfiguration('http').get('proxy', ''); 9 | if (proxy) { 10 | const auth = proxy.includes('@') ? proxy.split('@', 2)[0] : ''; 11 | const parts = auth.length ? proxy.slice(auth.length + 1).split(':') : proxy.split(':'); 12 | if (parts.length > 1) { 13 | const agent = tunnel.httpsOverHttp({ 14 | proxy: { 15 | headers: {}, 16 | host: parts[0], 17 | port: parseInt(parts[1], 10), 18 | proxyAuth: auth, 19 | }, 20 | }); 21 | return agent; 22 | } 23 | } 24 | } 25 | 26 | export async function download(path: string, url: string, name: string): Promise { 27 | const statusItem = window.createStatusBarItem(0, { progress: true }); 28 | statusItem.text = `Downloading ${name} data...`; 29 | statusItem.show(); 30 | 31 | const agent = getAgent(); 32 | 33 | return new Promise((resolve, reject) => { 34 | try { 35 | got 36 | .stream(url, { agent }) 37 | .on('downloadProgress', (progress: any) => { 38 | const p = (progress.percent * 100).toFixed(0); 39 | statusItem.text = `${p}% Downloading ${name} data`; 40 | }) 41 | .pipe(fs.createWriteStream(path)) 42 | .on('end', () => { 43 | statusItem.hide(); 44 | resolve(); 45 | }) 46 | .on('close', () => { 47 | statusItem.hide(); 48 | resolve(); 49 | }) 50 | .on('error', (e) => { 51 | reject(e); 52 | }); 53 | } catch (e) { 54 | reject(e); 55 | } 56 | }); 57 | } 58 | -------------------------------------------------------------------------------- /src/common/logger.ts: -------------------------------------------------------------------------------- 1 | import { OutputChannel, window } from 'coc.nvim'; 2 | 3 | import { Dispose } from './dispose'; 4 | 5 | class Logger extends Dispose { 6 | private outputChannel: OutputChannel | undefined; 7 | 8 | constructor() { 9 | super(); 10 | } 11 | 12 | init(enabled: boolean): Logger { 13 | if (!enabled) { 14 | return this; 15 | } 16 | this.outputChannel = window.createOutputChannel('zi'); 17 | return this; 18 | } 19 | 20 | getLog(name: string) { 21 | return (message: string) => { 22 | if (!this.outputChannel) { 23 | return; 24 | } 25 | this.outputChannel.appendLine(`${name}: ${message}`); 26 | }; 27 | } 28 | 29 | dispose() { 30 | super.dispose(); 31 | if (this.outputChannel) { 32 | this.outputChannel.dispose(); 33 | this.outputChannel = undefined; 34 | } 35 | } 36 | } 37 | 38 | export const logger = new Logger(); 39 | -------------------------------------------------------------------------------- /src/common/translator.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * code from https://github.com/voldikss/coc-translator/blob/master/src/commands/translator.ts 3 | */ 4 | import { md5, request } from './util'; 5 | 6 | /** 7 | * Single translation from one engine 8 | * 9 | * @param engine Translation engine name 10 | * @param phonetic 11 | * @param paraphrase Used for `replaceWord` function 12 | * @param explain More detailes 13 | * @param href A link use which to get translation 14 | * @param status 1 if translation succeeds 15 | */ 16 | export interface SingleTranslation { 17 | engine: string; 18 | phonetic: string; 19 | paraphrase: string; 20 | explain: string[]; 21 | status: number; 22 | } 23 | 24 | class Translator { 25 | constructor(public name: string) {} 26 | } 27 | 28 | class SingleResult implements SingleTranslation { 29 | public paraphrase = ''; 30 | public phonetic = ''; 31 | public explain: string[] = []; 32 | public status = 0; 33 | constructor(public engine: string) {} 34 | } 35 | 36 | export class BingTranslator extends Translator { 37 | constructor(name: string) { 38 | super(name); 39 | } 40 | 41 | public async translate(text: string, toLang: string): Promise { 42 | const result = new SingleResult(this.name); 43 | 44 | if (toLang === undefined) return result; 45 | let url = 'http://bing.com/dict/SerpHoverTrans'; 46 | if (/^zh/.test(toLang)) url = 'http://cn.bing.com/dict/SerpHoverTrans'; 47 | url += '?q=' + encodeURI(text); 48 | 49 | const headers = { 50 | Host: 'cn.bing.com', 51 | Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 52 | 'Accept-Language': 'en-US,en;q=0.5', 53 | }; 54 | 55 | const resp = await request('GET', url, {}, headers, 'document'); 56 | if (!resp) return result; 57 | result.phonetic = this.getPhonetic(resp); 58 | result.explain = this.getExplain(resp); 59 | result.status = 1; 60 | return result; 61 | } 62 | 63 | private getPhonetic(html: string): string { 64 | // there is a blank here \] <\/span> 65 | const re = /\[(.*?)\] <\/span>/g; 66 | const match = re.exec(html); 67 | if (match) { 68 | return match[1]; 69 | } else { 70 | return ''; 71 | } 72 | } 73 | 74 | private getExplain(html: string): string[] { 75 | const re = /(.*?)<\/span>(.*?)<\/span>/g; 76 | const explain = []; 77 | let expl = re.exec(html); 78 | while (expl) { 79 | explain.push(`${expl[1]} ${expl[2]} `); 80 | expl = re.exec(html); 81 | } 82 | return explain; 83 | } 84 | } 85 | 86 | export class CibaTranslator extends Translator { 87 | constructor(name: string) { 88 | super(name); 89 | } 90 | 91 | public async translate(text: string, toLang: string): Promise { 92 | const result = new SingleResult(this.name); 93 | 94 | if (toLang === undefined) return result; 95 | const url = `https://fy.iciba.com/ajax.php`; 96 | const data: Record = {}; 97 | data['a'] = 'fy'; 98 | data['w'] = text; 99 | data['f'] = 'auto'; 100 | data['t'] = toLang; 101 | const obj = await request('GET', url, data); 102 | 103 | if (!obj || !('status' in obj)) { 104 | // TODO log 105 | return result; 106 | } 107 | 108 | if ('ph_en' in obj['content']) result.phonetic = `${obj['content']['ph_en']}`; 109 | if ('out' in obj['content']) result.paraphrase = `${obj['content']['out']}`; 110 | if ('word_mean' in obj['content']) result.explain = obj['content']['word_mean']; 111 | result.status = 1; 112 | return result; 113 | } 114 | } 115 | 116 | export class GoogleTranslator extends Translator { 117 | constructor(name: string) { 118 | super(name); 119 | } 120 | 121 | private getParaphrase(obj: Record): string { 122 | let paraphrase = ''; 123 | for (const x of obj[0]) { 124 | if (x[0]) { 125 | paraphrase += x[0]; 126 | } 127 | } 128 | return paraphrase; 129 | } 130 | 131 | private getExplain(obj: Record): string[] { 132 | const explains = []; 133 | if (obj[1]) { 134 | for (const expl of obj[1]) { 135 | let str = `[${expl[0][0]}] `; 136 | str += expl[2].map((i: string[]) => i[0]).join(', '); 137 | explains.push(str); 138 | } 139 | } 140 | return explains; 141 | } 142 | 143 | public async translate(text: string, toLang: string): Promise { 144 | const result = new SingleResult(this.name); 145 | 146 | if (toLang === undefined) return result; 147 | let host = 'translate.googleapis.com'; 148 | if (/^zh/.test(toLang)) { 149 | host = 'translate.google.cn'; 150 | } 151 | 152 | const url = 153 | `https://${host}/translate_a/single?client=gtx&sl=auto&tl=${toLang}` + 154 | `&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&q=${encodeURI(text)}`; 155 | 156 | const obj = await request('GET', url); 157 | if (!obj) { 158 | // TODO log 159 | return result; 160 | } 161 | result.paraphrase = this.getParaphrase(obj); 162 | result.explain = this.getExplain(obj); 163 | result.status = 1; 164 | return result; 165 | } 166 | } 167 | 168 | // TODO: use non-standard api 169 | // e.g. https://github.com/voldikss/vim-translate-me/blob/41db2e5fed033e2be9b5c7458d7ae102a129643d/autoload/script/query.py#L264 170 | // currently it doesn't work, always get "errorCode:50" 171 | export class YoudaoTranslator extends Translator { 172 | constructor(name: string) { 173 | super(name); 174 | } 175 | 176 | public async translate(text: string, toLang: string): Promise { 177 | const result = new SingleResult(this.name); 178 | 179 | if (toLang === undefined) return result; 180 | const url = 'https://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule'; 181 | const salt = `${new Date().getTime()}`; 182 | const sign = md5('fanyideskweb' + text + salt + 'ebSeFb%=XZ%T[KZ)c(sy!'); 183 | const data: Record = { 184 | i: text, 185 | from: 'auto', 186 | to: toLang, 187 | smartresult: 'dict', 188 | client: 'fanyideskweb', 189 | salt, 190 | sign, 191 | doctype: 'json', 192 | version: '2.1', 193 | keyfrom: 'fanyi.web', 194 | action: 'FY_BY_CL1CKBUTTON', 195 | typoResult: 'true', 196 | }; 197 | const headers = { 198 | Cookie: 'OUTFOX_SEARCH_USER_ID=-2022895048@10.168.8.76;', 199 | Referer: 'http://fanyi.youdao.com/', 200 | 'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; rv:51.0) Gecko/20100101 Firefox/51.0', 201 | }; 202 | const obj = await request('POST', url, data, headers); 203 | 204 | if (!obj) { 205 | // TODO log 206 | return result; 207 | } else if ('errorCode' in obj) { 208 | // TODO log 209 | return result; 210 | } 211 | 212 | result.paraphrase = this.getParaphrase(obj); 213 | result.explain = this.getExplain(obj); 214 | result.status = 1; 215 | return result; 216 | } 217 | 218 | private getParaphrase(obj: Record[][]>): string { 219 | if (!obj['translateResult']) { 220 | return ''; 221 | } 222 | let paraphrase = ''; 223 | const translateResult = obj['translateResult']; 224 | for (const n of translateResult) { 225 | const part = []; 226 | for (const m of n) { 227 | const x = m['tat']; 228 | if (x) { 229 | part.push(x); 230 | } 231 | } 232 | if (part) { 233 | paraphrase += part.join(', '); 234 | } 235 | } 236 | return paraphrase; 237 | } 238 | 239 | private getExplain(obj: Record>): string[] { 240 | if (!('smartResult' in obj)) { 241 | return []; 242 | } 243 | const smarts = obj['smartResult']['entries']; 244 | const explain = []; 245 | for (let entry of smarts) { 246 | if (entry) { 247 | entry = entry.replace('\r', ''); 248 | entry = entry.replace('\n', ''); 249 | explain.push(entry); 250 | } 251 | } 252 | return explain; 253 | } 254 | } 255 | -------------------------------------------------------------------------------- /src/common/util.ts: -------------------------------------------------------------------------------- 1 | import { exec, ExecOptions } from 'child_process'; 2 | import { workspace } from 'coc.nvim'; 3 | import crypto from 'crypto'; 4 | import { configure, xhr, XHROptions } from 'request-light'; 5 | import { forEachChild, Node, SourceFile } from 'typescript'; 6 | import { MarkupContent, MarkupKind } from 'vscode-languageserver-protocol'; 7 | 8 | export function findNode(sourceFile: SourceFile, offset: number): Node | undefined { 9 | function find(node: Node): Node | undefined { 10 | if (offset >= node.getStart() && offset <= node.getEnd()) { 11 | const res = forEachChild(node, find) || node; 12 | return res; 13 | } 14 | } 15 | return find(sourceFile); 16 | } 17 | 18 | export function marketUp(content: string | string[]): MarkupContent { 19 | return { 20 | kind: MarkupKind.Markdown, 21 | value: ['``` markdown', ...([] as string[]).concat(content), '```'].join('\n'), 22 | }; 23 | } 24 | 25 | export function getWordByIndex(word: string, idx: number) { 26 | while (/[-_]/.test(word[idx])) { 27 | idx += 1; 28 | } 29 | if (idx == word.length) { 30 | idx -= 1; 31 | while (/[-_]/.test(word[idx])) { 32 | idx -= 1; 33 | } 34 | } 35 | if (idx < 0) { 36 | return ''; 37 | } 38 | let start = idx; 39 | let end = idx + 1; 40 | while (start > 0) { 41 | if (/[A-Z]/.test(word[start])) { 42 | start = start; 43 | break; 44 | } else if (/[-_]/.test(word[start])) { 45 | start += 1; 46 | break; 47 | } 48 | start -= 1; 49 | } 50 | while (end < word.length) { 51 | if (/[A-Z_-]/.test(word[end])) { 52 | end -= 1; 53 | break; 54 | } 55 | end += 1; 56 | } 57 | return word.slice(start, end + 1); 58 | } 59 | 60 | function urlencode(data: Record): string { 61 | return Object.keys(data) 62 | .map((key) => [key, data[key]].map(encodeURIComponent).join('=')) 63 | .join('&'); 64 | } 65 | 66 | export async function request( 67 | type: string, 68 | url: string, 69 | data?: Record, 70 | headers?: Record, 71 | responseType = 'json', 72 | ): Promise { 73 | const httpConfig = workspace.getConfiguration('http'); 74 | configure(httpConfig.get('proxy', ''), httpConfig.get('proxyStrictSSL', false)); 75 | 76 | if (!headers) { 77 | headers = { 78 | 'Accept-Encoding': 'gzip, deflate', 79 | 'User-Agent': 80 | 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36', 81 | }; 82 | } 83 | 84 | let queryParams; 85 | if (type === 'POST') { 86 | queryParams = JSON.stringify(data); 87 | } else if (data) { 88 | url = url + '?' + urlencode(data); 89 | } 90 | 91 | const options: XHROptions = { 92 | type, 93 | url, 94 | data: queryParams || undefined, 95 | headers, 96 | timeout: 5000, 97 | followRedirects: 5, 98 | responseType, 99 | }; 100 | 101 | try { 102 | const response = await xhr(options); 103 | const { responseText } = response; 104 | if (responseType === 'json') { 105 | return JSON.parse(responseText); 106 | } else { 107 | return responseText; 108 | } 109 | } catch (e) { 110 | // TODO log 111 | return; 112 | } 113 | } 114 | 115 | export function md5(str: string): string { 116 | return crypto.createHash('md5').update(str).digest('hex'); 117 | } 118 | 119 | export const execCommand = ( 120 | command: string, 121 | options: ExecOptions = {}, 122 | ): Promise<{ 123 | code: number; 124 | err: Error | null; 125 | stdout: string; 126 | stderr: string; 127 | }> => { 128 | return new Promise((resolve) => { 129 | let code = 0; 130 | exec( 131 | command, 132 | { 133 | encoding: 'utf-8', 134 | ...options, 135 | }, 136 | (err: Error | null, stdout = '', stderr = '') => { 137 | resolve({ 138 | code, 139 | err, 140 | stdout, 141 | stderr, 142 | }); 143 | }, 144 | ).on('exit', (co: number) => co && (code = co)); 145 | }); 146 | }; 147 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { ExtensionContext, workspace, listManager } from 'coc.nvim'; 2 | import { WordCompleteProvider } from './provider/completion'; 3 | import { Edict } from './provider/edict'; 4 | import { logger } from './common/logger'; 5 | import { WordHoverProvider } from './provider/hover'; 6 | import { Words } from './provider/words'; 7 | import Translations from './sources/translation'; 8 | 9 | export async function activate(context: ExtensionContext) { 10 | const config = workspace.getConfiguration('zi'); 11 | const isEnabled = config.get('enable', true); 12 | const needHover = config.get('hover', true); 13 | 14 | if (!isEnabled) { 15 | return false; 16 | } 17 | 18 | const traceServer = config.get('trace.server', 'off'); 19 | context.subscriptions.push(logger.init(traceServer !== 'off')); 20 | 21 | // register edict 22 | const edict = new Edict(context); 23 | const words = new Words(context); 24 | 25 | context.subscriptions.push(edict); 26 | 27 | // register completion provider 28 | context.subscriptions.push(new WordCompleteProvider(edict, words)); 29 | 30 | // register hover provider 31 | if (needHover) { 32 | context.subscriptions.push(new WordHoverProvider(edict)); 33 | } 34 | 35 | // register translations source 36 | context.subscriptions.push(listManager.registerList(new Translations())); 37 | } 38 | -------------------------------------------------------------------------------- /src/provider/completion.ts: -------------------------------------------------------------------------------- 1 | import { CompletionItem, languages, TextDocument, Uri, workspace } from 'coc.nvim'; 2 | import { createSourceFile, ScriptTarget, SyntaxKind } from 'typescript'; 3 | import { Position, Range } from 'vscode-languageserver-protocol'; 4 | 5 | import { Dispose } from '../common/dispose'; 6 | import { logger } from '../common/logger'; 7 | import { findNode } from '../common/util'; 8 | import { Edict } from './edict'; 9 | import { Words } from './words'; 10 | 11 | const log = logger.getLog('complete-provider'); 12 | 13 | export class WordCompleteProvider extends Dispose { 14 | private patterns: Record; 15 | private syntaxKinds: Record; 16 | 17 | constructor(private edict: Edict, private words: Words) { 18 | super(); 19 | const config = workspace.getConfiguration('zi'); 20 | this.patterns = config.get('patterns', {}); 21 | this.syntaxKinds = config.get('syntaxKinds', {}); 22 | this.registerCompletionItemProvider(); 23 | log('init'); 24 | } 25 | 26 | private registerCompletionItemProvider() { 27 | this.push( 28 | languages.registerCompletionItemProvider( 29 | 'coc-zi', 30 | 'zi', 31 | null, 32 | { 33 | provideCompletionItems: async (document: TextDocument, position: Position): Promise => { 34 | const { languageId, uri } = document; 35 | const patterns = this.patterns[languageId]; 36 | const syntaxKinds = this.syntaxKinds[languageId]; 37 | // if enable for the languageId 38 | if (!patterns) { 39 | return []; 40 | } 41 | 42 | const doc = workspace.getDocument(uri); 43 | if (!doc) { 44 | return []; 45 | } 46 | const wordRange = doc.getWordRangeAtPosition(Position.create(position.line, position.character - 1)); 47 | if (!wordRange) { 48 | return []; 49 | } 50 | const word = document.getText(wordRange).trim(); 51 | log(`current word: ${word}`); 52 | 53 | if (!word) { 54 | return []; 55 | } 56 | 57 | const linePre = document.getText(Range.create(Position.create(position.line, 0), position)); 58 | if (!patterns.length || patterns.some((p) => new RegExp(p).test(linePre))) { 59 | return this.getWords(word); 60 | } else if (syntaxKinds && syntaxKinds.length) { 61 | const text = document.getText(); 62 | const offset = document.offsetAt(position); 63 | const sourceFile = createSourceFile(Uri.parse(uri).fsPath, text, ScriptTarget.ES5, true); 64 | const node = findNode(sourceFile, offset); 65 | 66 | if (!node) { 67 | return []; 68 | } 69 | 70 | if (syntaxKinds.some((sk) => node.kind === SyntaxKind[sk as keyof typeof SyntaxKind])) { 71 | return this.getWords(word); 72 | } 73 | } 74 | return []; 75 | }, 76 | 77 | resolveCompletionItem: (item: CompletionItem): CompletionItem | null => { 78 | const documentation = this.edict.getHoverByWord(item.label.toLowerCase()); 79 | if (!documentation) { 80 | return item; 81 | } 82 | return { 83 | ...item, 84 | documentation, 85 | }; 86 | }, 87 | }, 88 | [], 89 | 1, 90 | ), 91 | ); 92 | } 93 | 94 | async getWords(word: string) { 95 | const words = (await this.words.getWords(word)).filter((w) => w); 96 | if (/^[A-Z]/.test(word)) { 97 | return words.map((w) => { 98 | const label = `${w[0].toUpperCase()}${w.slice(1)}`; 99 | return { 100 | label, 101 | insertText: label, 102 | }; 103 | }); 104 | } 105 | return words.map((w) => ({ 106 | label: w, 107 | insertText: w, 108 | })); 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /src/provider/edict.ts: -------------------------------------------------------------------------------- 1 | import { ExtensionContext } from 'coc.nvim'; 2 | import { MarkupKind, MarkupContent } from 'vscode-languageserver-protocol'; 3 | import { join } from 'path'; 4 | import { existsSync, mkdirSync, createReadStream } from 'fs'; 5 | import readline from 'readline'; 6 | 7 | import { download } from '../common/download'; 8 | import { Dispose } from '../common/dispose'; 9 | 10 | export class Edict extends Dispose { 11 | private name = 'edict.csv'; 12 | private url = 'https://raw.githubusercontent.com/skywind3000/ECDICT/master/ecdict.csv'; 13 | private storagePath: string; 14 | private edictPath: string; 15 | private edictData = new Map(); 16 | 17 | constructor(context: ExtensionContext) { 18 | super(); 19 | this.storagePath = context.storagePath; 20 | this.edictPath = join(this.storagePath, this.name); 21 | this.init(); 22 | } 23 | 24 | async init() { 25 | const { storagePath, edictPath } = this; 26 | 27 | if (!existsSync(storagePath)) { 28 | mkdirSync(storagePath); 29 | } 30 | 31 | if (!existsSync(edictPath)) { 32 | await download(edictPath, this.url, this.name); 33 | this.readEdict(); 34 | } else { 35 | this.readEdict(); 36 | } 37 | } 38 | 39 | readEdict() { 40 | const { edictPath } = this; 41 | 42 | if (!existsSync(edictPath)) { 43 | return; 44 | } 45 | 46 | readline 47 | .createInterface({ 48 | input: createReadStream(edictPath), 49 | terminal: false, 50 | }) 51 | .on('line', (line: string) => { 52 | const items = line.split(','); 53 | this.edictData.set(items[0].toLowerCase(), { 54 | phonetic: items[1] || '', 55 | definition: items[2] || '', 56 | translation: items[3] || '', 57 | pos: items[4] || '', 58 | }); 59 | }); 60 | } 61 | 62 | getHoverByWord(word: string): MarkupContent | null { 63 | const words = this.edictData.get(word.toLowerCase()); 64 | 65 | if (!words) { 66 | return null; 67 | } 68 | 69 | const values = this.formatDoc(word, words); 70 | 71 | return { 72 | kind: MarkupKind.Markdown, 73 | value: values.join('\n'), 74 | }; 75 | } 76 | 77 | formatDoc(word: string, words: Record) { 78 | let values = [`*${word}*`]; 79 | if (words.phonetic) { 80 | values = values.concat(['', `*[${words.phonetic}]*`]); 81 | } 82 | if (words.definition) { 83 | values = values.concat([ 84 | '', 85 | '*English*', 86 | '', 87 | ...words.definition.split('\\n').map((line: string) => line.replace(/^"/, '')), 88 | ]); 89 | } 90 | if (words.translation) { 91 | values = values.concat([ 92 | '', 93 | '*中文*', 94 | '', 95 | ...words.translation.split('\\n').map((line: string) => line.replace(/^"/, '')), 96 | ]); 97 | } 98 | if (words.pos) { 99 | values = values.concat(['', `*词语位置* ${words.pos.replace(/\n/, ' ')}`]); 100 | } 101 | return values; 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /src/provider/hover.ts: -------------------------------------------------------------------------------- 1 | import { languages, workspace } from 'coc.nvim'; 2 | import { Hover } from 'vscode-languageserver-protocol'; 3 | 4 | import { Dispose } from '../common/dispose'; 5 | import { Edict } from './edict'; 6 | 7 | function getWordByIndex(word: string, idx: number) { 8 | while (/[-_]/.test(word[idx])) { 9 | idx += 1; 10 | } 11 | if (idx == word.length) { 12 | idx -= 1; 13 | while (/[-_]/.test(word[idx])) { 14 | idx -= 1; 15 | } 16 | } 17 | if (idx < 0) { 18 | return ''; 19 | } 20 | let start = idx; 21 | let end = idx + 1; 22 | while (start > 0) { 23 | if (/[A-Z]/.test(word[start])) { 24 | start = start; 25 | break; 26 | } else if (/[-_]/.test(word[start])) { 27 | start += 1; 28 | break; 29 | } 30 | start -= 1; 31 | } 32 | while (end < word.length) { 33 | if (/[A-Z_-]/.test(word[end])) { 34 | end -= 1; 35 | break; 36 | } 37 | end += 1; 38 | } 39 | return word.slice(start, end + 1); 40 | } 41 | 42 | export class WordHoverProvider extends Dispose { 43 | constructor(private edict: Edict) { 44 | super(); 45 | this.registerHoverProvider(); 46 | } 47 | 48 | registerHoverProvider() { 49 | languages.registerHoverProvider(['*'], { 50 | provideHover: (document, position): Hover | null => { 51 | const doc = workspace.getDocument(document.uri); 52 | if (!doc) { 53 | return null; 54 | } 55 | const wordRange = doc.getWordRangeAtPosition(position, '-_'); 56 | if (!wordRange) { 57 | return null; 58 | } 59 | const wordText = document.getText(wordRange) || ''; 60 | let word = wordText; 61 | if (!word) { 62 | return null; 63 | } 64 | let content = this.edict.getHoverByWord(word.toLowerCase()); 65 | if (!content) { 66 | word = wordText.replace(/((\B[A-Z])|-+|_+)/g, ' $2'); 67 | content = this.edict.getHoverByWord(word.toLowerCase()); 68 | } 69 | if (!content) { 70 | word = getWordByIndex(wordText, position.character - wordRange.start.character); 71 | content = this.edict.getHoverByWord(word.toLowerCase()); 72 | } 73 | if (!content) { 74 | return null; 75 | } 76 | return { 77 | contents: content, 78 | }; 79 | }, 80 | }); 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /src/provider/words.ts: -------------------------------------------------------------------------------- 1 | import { existsSync, createReadStream } from 'fs'; 2 | import { ExtensionContext } from 'coc.nvim'; 3 | import readline from 'readline'; 4 | import which from 'which'; 5 | 6 | import { logger } from '../common/logger'; 7 | import { execCommand } from '../common/util'; 8 | 9 | const log = logger.getLog('Words'); 10 | 11 | const get10kWords = async (words10kPath: string): Promise => { 12 | return new Promise((resolve) => { 13 | if (existsSync(words10kPath)) { 14 | const words10k: string[] = []; 15 | readline 16 | .createInterface({ 17 | input: createReadStream(words10kPath), 18 | terminal: false, 19 | }) 20 | .on('close', () => { 21 | resolve(words10k); 22 | }) 23 | .on('line', (line: string) => { 24 | words10k.push(line.trim()); 25 | }); 26 | } else { 27 | resolve([]); 28 | } 29 | }); 30 | }; 31 | 32 | export class Words { 33 | private words10kPath: string; 34 | private words: string[] = []; 35 | 36 | constructor(context: ExtensionContext) { 37 | this.words10kPath = context.asAbsolutePath('./words/10k.txt'); 38 | } 39 | 40 | public async getWords(word: string): Promise { 41 | if (!this.words.length) { 42 | let words: string[] = []; 43 | 44 | const lookExist = await which('look').catch(() => { 45 | log('look command does not found, use 10k only'); 46 | return false; 47 | }); 48 | 49 | if (lookExist) { 50 | const { stdout } = await execCommand("look -f ''"); 51 | const res = (stdout || '').trim().split('\n'); 52 | words = res; 53 | } 54 | 55 | const words10k = await get10kWords(this.words10kPath); 56 | 57 | const m = words.reduce>((acc, cur) => { 58 | acc[cur] = true; 59 | return acc; 60 | }, {}); 61 | 62 | for (const word of words10k) { 63 | if (!m[word]) { 64 | words.push(word); 65 | } 66 | } 67 | 68 | this.words = words; 69 | } 70 | 71 | return this.words.filter((w) => w.startsWith(word[0])); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/sources/translation.ts: -------------------------------------------------------------------------------- 1 | import { IList, ListAction, ListContext, ListTask, ListItem } from 'coc.nvim'; 2 | import colors from 'colors/safe'; 3 | import { EventEmitter } from 'events'; 4 | import { logger } from '../common/logger'; 5 | import { BingTranslator, CibaTranslator, SingleTranslation } from '../common/translator'; 6 | 7 | const log = logger.getLog('source-translations'); 8 | 9 | const targetLang = 'zh'; 10 | 11 | class Task extends EventEmitter implements ListTask { 12 | private translators = [ 13 | new BingTranslator('bing'), 14 | new CibaTranslator('ciba'), 15 | new CibaTranslator('google'), 16 | new CibaTranslator('youdao'), 17 | ]; 18 | private resCount = 0; 19 | private isCancel = false; 20 | 21 | async start(text: string) { 22 | this.translators.forEach(async (translator) => { 23 | const res = await translator.translate(text, targetLang); 24 | this.resCount += 1; 25 | this.updateItems(translator.name, text, res); 26 | }); 27 | } 28 | 29 | updateItems(name: string, text: string, res: SingleTranslation) { 30 | if (this.isCancel) { 31 | return; 32 | } 33 | if (res.status === 1 && res.explain && res.explain.length) { 34 | const item: ListItem = { 35 | label: `${name} => ${colors.gray(`${text}:`)} ${colors.yellow(res.phonetic)} ${res.explain.join(' | ')}`, 36 | }; 37 | this.emit('data', item); 38 | } 39 | this.checkIsDone(); 40 | } 41 | 42 | checkIsDone() { 43 | if (this.resCount === 4) { 44 | this.emit('end'); 45 | } 46 | } 47 | 48 | dispose() { 49 | this.isCancel = true; 50 | this.emit('end'); 51 | } 52 | } 53 | 54 | export default class Translations implements IList { 55 | public readonly name = 'translators'; 56 | public readonly interactive = true; 57 | public readonly description = 'translate input text using google, youdao, bing and ciba'; 58 | public readonly defaultAction = ''; 59 | public actions: ListAction[] = []; 60 | private timer: NodeJS.Timer | undefined; 61 | 62 | public async loadItems(context: ListContext): Promise { 63 | log(`${context.input}`); 64 | if (this.timer) { 65 | clearTimeout(this.timer); 66 | } 67 | if (!context.input || !context.input.trim()) { 68 | return []; 69 | } 70 | const task = new Task(); 71 | this.timer = setTimeout(() => { 72 | task.start(context.input); 73 | }, 150); 74 | return task; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ 5 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 6 | "lib": [ 7 | "es2015", 8 | "esnext" 9 | ], /* Specify library files to be included in the compilation. */ 10 | // "allowJs": true, /* Allow javascript files to be compiled. */ 11 | // "checkJs": true, /* Report errors in .js files. */ 12 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 13 | "declaration": false, /* Generates corresponding '.d.ts' file. */ 14 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 15 | "sourceMap": false, /* Generates corresponding '.map' file. */ 16 | // "outFile": "./", /* Concatenate and emit output to single file. */ 17 | "outDir": "./out", /* Redirect output structure to the directory. */ 18 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 19 | // "composite": true, /* Enable project compilation */ 20 | // "removeComments": true, /* Do not emit comments to output. */ 21 | // "noEmit": true, /* Do not emit outputs. */ 22 | // "importHelpers": true, /* Import emit helpers from 'tslib'. */ 23 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 24 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 25 | 26 | /* Strict Type-Checking Options */ 27 | "strict": true, /* Enable all strict type-checking options. */ 28 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 29 | // "strictNullChecks": true, /* Enable strict null checks. */ 30 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 31 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 32 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 33 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 34 | 35 | /* Additional Checks */ 36 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 37 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 38 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 39 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 40 | 41 | /* Module Resolution Options */ 42 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 43 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 44 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 45 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 46 | // "typeRoots": [], /* List of folders to include type definitions from. */ 47 | // "types": [], /* Type declaration files to be included in compilation. */ 48 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 49 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 50 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 51 | 52 | /* Source Map Options */ 53 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 54 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 55 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 56 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 57 | 58 | /* Experimental Options */ 59 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 60 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 61 | "resolveJsonModule": true, 62 | }, 63 | "include": [ 64 | "./src" 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | /** @type {import('webpack').Configuration} */ 4 | module.exports = { 5 | entry: { 6 | index: './src/index.ts', 7 | }, 8 | target: 'node', 9 | mode: 'production', 10 | resolve: { 11 | mainFields: ['module', 'main'], 12 | extensions: ['.js', '.ts'], 13 | }, 14 | externals: { 15 | 'coc.nvim': 'commonjs coc.nvim', 16 | }, 17 | module: { 18 | rules: [ 19 | { 20 | test: /\.ts$/, 21 | exclude: /node_modules/, 22 | use: [ 23 | { 24 | loader: 'ts-loader', 25 | }, 26 | ], 27 | }, 28 | ], 29 | }, 30 | output: { 31 | path: path.join(__dirname, 'out'), 32 | filename: '[name].js', 33 | libraryTarget: 'commonjs', 34 | }, 35 | plugins: [], 36 | node: { 37 | __dirname: false, 38 | __filename: false, 39 | }, 40 | }; 41 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@discoveryjs/json-ext@^0.5.0": 6 | version "0.5.7" 7 | resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" 8 | integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== 9 | 10 | "@eslint/eslintrc@^1.3.3": 11 | version "1.3.3" 12 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" 13 | integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== 14 | dependencies: 15 | ajv "^6.12.4" 16 | debug "^4.3.2" 17 | espree "^9.4.0" 18 | globals "^13.15.0" 19 | ignore "^5.2.0" 20 | import-fresh "^3.2.1" 21 | js-yaml "^4.1.0" 22 | minimatch "^3.1.2" 23 | strip-json-comments "^3.1.1" 24 | 25 | "@humanwhocodes/config-array@^0.11.6": 26 | version "0.11.7" 27 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" 28 | integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== 29 | dependencies: 30 | "@humanwhocodes/object-schema" "^1.2.1" 31 | debug "^4.1.1" 32 | minimatch "^3.0.5" 33 | 34 | "@humanwhocodes/module-importer@^1.0.1": 35 | version "1.0.1" 36 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 37 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 38 | 39 | "@humanwhocodes/object-schema@^1.2.1": 40 | version "1.2.1" 41 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 42 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 43 | 44 | "@jridgewell/gen-mapping@^0.3.0": 45 | version "0.3.2" 46 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 47 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 48 | dependencies: 49 | "@jridgewell/set-array" "^1.0.1" 50 | "@jridgewell/sourcemap-codec" "^1.4.10" 51 | "@jridgewell/trace-mapping" "^0.3.9" 52 | 53 | "@jridgewell/resolve-uri@3.1.0": 54 | version "3.1.0" 55 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 56 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 57 | 58 | "@jridgewell/set-array@^1.0.1": 59 | version "1.1.2" 60 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 61 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 62 | 63 | "@jridgewell/source-map@^0.3.2": 64 | version "0.3.2" 65 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 66 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 67 | dependencies: 68 | "@jridgewell/gen-mapping" "^0.3.0" 69 | "@jridgewell/trace-mapping" "^0.3.9" 70 | 71 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 72 | version "1.4.14" 73 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 74 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 75 | 76 | "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": 77 | version "0.3.17" 78 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 79 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 80 | dependencies: 81 | "@jridgewell/resolve-uri" "3.1.0" 82 | "@jridgewell/sourcemap-codec" "1.4.14" 83 | 84 | "@nodelib/fs.scandir@2.1.5": 85 | version "2.1.5" 86 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 87 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 88 | dependencies: 89 | "@nodelib/fs.stat" "2.0.5" 90 | run-parallel "^1.1.9" 91 | 92 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 93 | version "2.0.5" 94 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 95 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 96 | 97 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 98 | version "1.2.8" 99 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 100 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 101 | dependencies: 102 | "@nodelib/fs.scandir" "2.1.5" 103 | fastq "^1.6.0" 104 | 105 | "@sindresorhus/is@^0.14.0": 106 | version "0.14.0" 107 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" 108 | integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== 109 | 110 | "@szmarczak/http-timer@^1.1.2": 111 | version "1.1.2" 112 | resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" 113 | integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== 114 | dependencies: 115 | defer-to-connect "^1.0.1" 116 | 117 | "@types/eslint-scope@^3.7.3": 118 | version "3.7.4" 119 | resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" 120 | integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== 121 | dependencies: 122 | "@types/eslint" "*" 123 | "@types/estree" "*" 124 | 125 | "@types/eslint@*": 126 | version "8.4.10" 127 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb" 128 | integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw== 129 | dependencies: 130 | "@types/estree" "*" 131 | "@types/json-schema" "*" 132 | 133 | "@types/estree@*": 134 | version "1.0.0" 135 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 136 | integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 137 | 138 | "@types/estree@^0.0.51": 139 | version "0.0.51" 140 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" 141 | integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== 142 | 143 | "@types/got@^9.6.7": 144 | version "9.6.7" 145 | resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.7.tgz#33d84c60cba83e3c904634a1ea7ea81d1549bea6" 146 | integrity sha512-LMc2ja42bQorKpBxf38ZBPdT3FhYL0lyAqnZBo5vAPCtobYa8AiHwSLH5zDvR19r2Pr5Ojar3hT/QLLb2SoPYA== 147 | dependencies: 148 | "@types/node" "*" 149 | "@types/tough-cookie" "*" 150 | form-data "^2.5.0" 151 | 152 | "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": 153 | version "7.0.11" 154 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 155 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 156 | 157 | "@types/node@*", "@types/node@^12.11.7": 158 | version "12.11.7" 159 | resolved "https://registry.yarnpkg.com/@types/node/-/node-12.11.7.tgz#57682a9771a3f7b09c2497f28129a0462966524a" 160 | integrity sha512-JNbGaHFCLwgHn/iCckiGSOZ1XYHsKFwREtzPwSGCVld1SGhOlmZw2D4ZI94HQCrBHbADzW9m4LER/8olJTRGHA== 161 | 162 | "@types/semver@^7.3.12": 163 | version "7.3.13" 164 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91" 165 | integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw== 166 | 167 | "@types/tough-cookie@*": 168 | version "2.3.5" 169 | resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.5.tgz#9da44ed75571999b65c37b60c9b2b88db54c585d" 170 | integrity sha512-SCcK7mvGi3+ZNz833RRjFIxrn4gI1PPR3NtuIS+6vMkvmsGjosqTJwRt5bAEFLRz+wtJMWv8+uOnZf2hi2QXTg== 171 | 172 | "@types/tunnel@^0.0.3": 173 | version "0.0.3" 174 | resolved "https://registry.yarnpkg.com/@types/tunnel/-/tunnel-0.0.3.tgz#f109e730b072b3136347561fc558c9358bb8c6e9" 175 | integrity sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA== 176 | dependencies: 177 | "@types/node" "*" 178 | 179 | "@types/which@^2.0.1": 180 | version "2.0.1" 181 | resolved "https://registry.yarnpkg.com/@types/which/-/which-2.0.1.tgz#27ecd67f915b7c3d6ba552135bb1eecd66e63501" 182 | integrity sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ== 183 | 184 | "@typescript-eslint/eslint-plugin@^5.42.1": 185 | version "5.42.1" 186 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.1.tgz#696b9cc21dfd4749c1c8ad1307f76a36a00aa0e3" 187 | integrity sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg== 188 | dependencies: 189 | "@typescript-eslint/scope-manager" "5.42.1" 190 | "@typescript-eslint/type-utils" "5.42.1" 191 | "@typescript-eslint/utils" "5.42.1" 192 | debug "^4.3.4" 193 | ignore "^5.2.0" 194 | natural-compare-lite "^1.4.0" 195 | regexpp "^3.2.0" 196 | semver "^7.3.7" 197 | tsutils "^3.21.0" 198 | 199 | "@typescript-eslint/parser@^5.42.1": 200 | version "5.42.1" 201 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.1.tgz#3e66156f2f74b11690b45950d8f5f28a62751d35" 202 | integrity sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q== 203 | dependencies: 204 | "@typescript-eslint/scope-manager" "5.42.1" 205 | "@typescript-eslint/types" "5.42.1" 206 | "@typescript-eslint/typescript-estree" "5.42.1" 207 | debug "^4.3.4" 208 | 209 | "@typescript-eslint/scope-manager@5.42.1": 210 | version "5.42.1" 211 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.1.tgz#05e5e1351485637d466464237e5259b49f609b18" 212 | integrity sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ== 213 | dependencies: 214 | "@typescript-eslint/types" "5.42.1" 215 | "@typescript-eslint/visitor-keys" "5.42.1" 216 | 217 | "@typescript-eslint/type-utils@5.42.1": 218 | version "5.42.1" 219 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.1.tgz#21328feb2d4b193c5852b35aabd241ccc1449daa" 220 | integrity sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg== 221 | dependencies: 222 | "@typescript-eslint/typescript-estree" "5.42.1" 223 | "@typescript-eslint/utils" "5.42.1" 224 | debug "^4.3.4" 225 | tsutils "^3.21.0" 226 | 227 | "@typescript-eslint/types@5.42.1": 228 | version "5.42.1" 229 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2" 230 | integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA== 231 | 232 | "@typescript-eslint/typescript-estree@5.42.1": 233 | version "5.42.1" 234 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.1.tgz#f9a223ecb547a781d37e07a5ac6ba9ff681eaef0" 235 | integrity sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw== 236 | dependencies: 237 | "@typescript-eslint/types" "5.42.1" 238 | "@typescript-eslint/visitor-keys" "5.42.1" 239 | debug "^4.3.4" 240 | globby "^11.1.0" 241 | is-glob "^4.0.3" 242 | semver "^7.3.7" 243 | tsutils "^3.21.0" 244 | 245 | "@typescript-eslint/utils@5.42.1": 246 | version "5.42.1" 247 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.1.tgz#2789b1cd990f0c07aaa3e462dbe0f18d736d5071" 248 | integrity sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ== 249 | dependencies: 250 | "@types/json-schema" "^7.0.9" 251 | "@types/semver" "^7.3.12" 252 | "@typescript-eslint/scope-manager" "5.42.1" 253 | "@typescript-eslint/types" "5.42.1" 254 | "@typescript-eslint/typescript-estree" "5.42.1" 255 | eslint-scope "^5.1.1" 256 | eslint-utils "^3.0.0" 257 | semver "^7.3.7" 258 | 259 | "@typescript-eslint/visitor-keys@5.42.1": 260 | version "5.42.1" 261 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872" 262 | integrity sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A== 263 | dependencies: 264 | "@typescript-eslint/types" "5.42.1" 265 | eslint-visitor-keys "^3.3.0" 266 | 267 | "@webassemblyjs/ast@1.11.1": 268 | version "1.11.1" 269 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" 270 | integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== 271 | dependencies: 272 | "@webassemblyjs/helper-numbers" "1.11.1" 273 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 274 | 275 | "@webassemblyjs/floating-point-hex-parser@1.11.1": 276 | version "1.11.1" 277 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" 278 | integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== 279 | 280 | "@webassemblyjs/helper-api-error@1.11.1": 281 | version "1.11.1" 282 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" 283 | integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== 284 | 285 | "@webassemblyjs/helper-buffer@1.11.1": 286 | version "1.11.1" 287 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" 288 | integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== 289 | 290 | "@webassemblyjs/helper-numbers@1.11.1": 291 | version "1.11.1" 292 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" 293 | integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== 294 | dependencies: 295 | "@webassemblyjs/floating-point-hex-parser" "1.11.1" 296 | "@webassemblyjs/helper-api-error" "1.11.1" 297 | "@xtuc/long" "4.2.2" 298 | 299 | "@webassemblyjs/helper-wasm-bytecode@1.11.1": 300 | version "1.11.1" 301 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" 302 | integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== 303 | 304 | "@webassemblyjs/helper-wasm-section@1.11.1": 305 | version "1.11.1" 306 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" 307 | integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== 308 | dependencies: 309 | "@webassemblyjs/ast" "1.11.1" 310 | "@webassemblyjs/helper-buffer" "1.11.1" 311 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 312 | "@webassemblyjs/wasm-gen" "1.11.1" 313 | 314 | "@webassemblyjs/ieee754@1.11.1": 315 | version "1.11.1" 316 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" 317 | integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== 318 | dependencies: 319 | "@xtuc/ieee754" "^1.2.0" 320 | 321 | "@webassemblyjs/leb128@1.11.1": 322 | version "1.11.1" 323 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" 324 | integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== 325 | dependencies: 326 | "@xtuc/long" "4.2.2" 327 | 328 | "@webassemblyjs/utf8@1.11.1": 329 | version "1.11.1" 330 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" 331 | integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== 332 | 333 | "@webassemblyjs/wasm-edit@1.11.1": 334 | version "1.11.1" 335 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" 336 | integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== 337 | dependencies: 338 | "@webassemblyjs/ast" "1.11.1" 339 | "@webassemblyjs/helper-buffer" "1.11.1" 340 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 341 | "@webassemblyjs/helper-wasm-section" "1.11.1" 342 | "@webassemblyjs/wasm-gen" "1.11.1" 343 | "@webassemblyjs/wasm-opt" "1.11.1" 344 | "@webassemblyjs/wasm-parser" "1.11.1" 345 | "@webassemblyjs/wast-printer" "1.11.1" 346 | 347 | "@webassemblyjs/wasm-gen@1.11.1": 348 | version "1.11.1" 349 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" 350 | integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== 351 | dependencies: 352 | "@webassemblyjs/ast" "1.11.1" 353 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 354 | "@webassemblyjs/ieee754" "1.11.1" 355 | "@webassemblyjs/leb128" "1.11.1" 356 | "@webassemblyjs/utf8" "1.11.1" 357 | 358 | "@webassemblyjs/wasm-opt@1.11.1": 359 | version "1.11.1" 360 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" 361 | integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== 362 | dependencies: 363 | "@webassemblyjs/ast" "1.11.1" 364 | "@webassemblyjs/helper-buffer" "1.11.1" 365 | "@webassemblyjs/wasm-gen" "1.11.1" 366 | "@webassemblyjs/wasm-parser" "1.11.1" 367 | 368 | "@webassemblyjs/wasm-parser@1.11.1": 369 | version "1.11.1" 370 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" 371 | integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== 372 | dependencies: 373 | "@webassemblyjs/ast" "1.11.1" 374 | "@webassemblyjs/helper-api-error" "1.11.1" 375 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 376 | "@webassemblyjs/ieee754" "1.11.1" 377 | "@webassemblyjs/leb128" "1.11.1" 378 | "@webassemblyjs/utf8" "1.11.1" 379 | 380 | "@webassemblyjs/wast-printer@1.11.1": 381 | version "1.11.1" 382 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" 383 | integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== 384 | dependencies: 385 | "@webassemblyjs/ast" "1.11.1" 386 | "@xtuc/long" "4.2.2" 387 | 388 | "@webpack-cli/configtest@^1.2.0": 389 | version "1.2.0" 390 | resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" 391 | integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== 392 | 393 | "@webpack-cli/info@^1.5.0": 394 | version "1.5.0" 395 | resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" 396 | integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== 397 | dependencies: 398 | envinfo "^7.7.3" 399 | 400 | "@webpack-cli/serve@^1.7.0": 401 | version "1.7.0" 402 | resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" 403 | integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== 404 | 405 | "@xtuc/ieee754@^1.2.0": 406 | version "1.2.0" 407 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 408 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== 409 | 410 | "@xtuc/long@4.2.2": 411 | version "4.2.2" 412 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 413 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 414 | 415 | acorn-import-assertions@^1.7.6: 416 | version "1.8.0" 417 | resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" 418 | integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== 419 | 420 | acorn-jsx@^5.3.2: 421 | version "5.3.2" 422 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 423 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 424 | 425 | acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: 426 | version "8.8.1" 427 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" 428 | integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== 429 | 430 | agent-base@4, agent-base@^4.3.0: 431 | version "4.3.0" 432 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" 433 | integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== 434 | dependencies: 435 | es6-promisify "^5.0.0" 436 | 437 | ajv-keywords@^3.5.2: 438 | version "3.5.2" 439 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" 440 | integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== 441 | 442 | ajv@^6.10.0: 443 | version "6.10.2" 444 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" 445 | integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== 446 | dependencies: 447 | fast-deep-equal "^2.0.1" 448 | fast-json-stable-stringify "^2.0.0" 449 | json-schema-traverse "^0.4.1" 450 | uri-js "^4.2.2" 451 | 452 | ajv@^6.12.4, ajv@^6.12.5: 453 | version "6.12.6" 454 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 455 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 456 | dependencies: 457 | fast-deep-equal "^3.1.1" 458 | fast-json-stable-stringify "^2.0.0" 459 | json-schema-traverse "^0.4.1" 460 | uri-js "^4.2.2" 461 | 462 | ansi-regex@^5.0.1: 463 | version "5.0.1" 464 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 465 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 466 | 467 | ansi-styles@^4.1.0: 468 | version "4.3.0" 469 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 470 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 471 | dependencies: 472 | color-convert "^2.0.1" 473 | 474 | argparse@^2.0.1: 475 | version "2.0.1" 476 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 477 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 478 | 479 | array-union@^2.1.0: 480 | version "2.1.0" 481 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 482 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 483 | 484 | asynckit@^0.4.0: 485 | version "0.4.0" 486 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 487 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 488 | 489 | balanced-match@^1.0.0: 490 | version "1.0.0" 491 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 492 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 493 | 494 | brace-expansion@^1.1.7: 495 | version "1.1.11" 496 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 497 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 498 | dependencies: 499 | balanced-match "^1.0.0" 500 | concat-map "0.0.1" 501 | 502 | braces@^3.0.1, braces@^3.0.2: 503 | version "3.0.2" 504 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 505 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 506 | dependencies: 507 | fill-range "^7.0.1" 508 | 509 | browserslist@^4.14.5: 510 | version "4.21.4" 511 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" 512 | integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== 513 | dependencies: 514 | caniuse-lite "^1.0.30001400" 515 | electron-to-chromium "^1.4.251" 516 | node-releases "^2.0.6" 517 | update-browserslist-db "^1.0.9" 518 | 519 | buffer-from@^1.0.0: 520 | version "1.1.1" 521 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 522 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 523 | 524 | cacheable-request@^6.0.0: 525 | version "6.1.0" 526 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" 527 | integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== 528 | dependencies: 529 | clone-response "^1.0.2" 530 | get-stream "^5.1.0" 531 | http-cache-semantics "^4.0.0" 532 | keyv "^3.0.0" 533 | lowercase-keys "^2.0.0" 534 | normalize-url "^4.1.0" 535 | responselike "^1.0.2" 536 | 537 | callsites@^3.0.0: 538 | version "3.1.0" 539 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 540 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 541 | 542 | caniuse-lite@^1.0.30001400: 543 | version "1.0.30001431" 544 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001431.tgz#e7c59bd1bc518fae03a4656be442ce6c4887a795" 545 | integrity sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ== 546 | 547 | chalk@^4.0.0, chalk@^4.1.0: 548 | version "4.1.2" 549 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 550 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 551 | dependencies: 552 | ansi-styles "^4.1.0" 553 | supports-color "^7.1.0" 554 | 555 | chrome-trace-event@^1.0.2: 556 | version "1.0.2" 557 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" 558 | integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== 559 | dependencies: 560 | tslib "^1.9.0" 561 | 562 | clone-deep@^4.0.1: 563 | version "4.0.1" 564 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" 565 | integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== 566 | dependencies: 567 | is-plain-object "^2.0.4" 568 | kind-of "^6.0.2" 569 | shallow-clone "^3.0.0" 570 | 571 | clone-response@^1.0.2: 572 | version "1.0.3" 573 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" 574 | integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== 575 | dependencies: 576 | mimic-response "^1.0.0" 577 | 578 | coc.nvim@^0.0.83-next.9: 579 | version "0.0.83-next.9" 580 | resolved "https://registry.yarnpkg.com/coc.nvim/-/coc.nvim-0.0.83-next.9.tgz#8f7de8c98fa37019286852d3b7229fb91517ab83" 581 | integrity sha512-ek5+EgA9N92/6Wt07TAYpavmBgXZto4Dmwmm56oyBl/w4wy3Tod7LfpCp4k9M4xCxhxPtrflIcxvhdDUPIeMuw== 582 | 583 | color-convert@^2.0.1: 584 | version "2.0.1" 585 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 586 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 587 | dependencies: 588 | color-name "~1.1.4" 589 | 590 | color-name@~1.1.4: 591 | version "1.1.4" 592 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 593 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 594 | 595 | colorette@^2.0.14: 596 | version "2.0.19" 597 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 598 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 599 | 600 | colors@^1.4.0: 601 | version "1.4.0" 602 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" 603 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== 604 | 605 | combined-stream@^1.0.6: 606 | version "1.0.8" 607 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 608 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 609 | dependencies: 610 | delayed-stream "~1.0.0" 611 | 612 | commander@^2.20.0: 613 | version "2.20.3" 614 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 615 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 616 | 617 | commander@^7.0.0: 618 | version "7.2.0" 619 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" 620 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== 621 | 622 | concat-map@0.0.1: 623 | version "0.0.1" 624 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 625 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 626 | 627 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 628 | version "7.0.3" 629 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 630 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 631 | dependencies: 632 | path-key "^3.1.0" 633 | shebang-command "^2.0.0" 634 | which "^2.0.1" 635 | 636 | debug@3.1.0: 637 | version "3.1.0" 638 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 639 | integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== 640 | dependencies: 641 | ms "2.0.0" 642 | 643 | debug@^3.1.0: 644 | version "3.2.7" 645 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 646 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 647 | dependencies: 648 | ms "^2.1.1" 649 | 650 | debug@^4.1.1: 651 | version "4.1.1" 652 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 653 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 654 | dependencies: 655 | ms "^2.1.1" 656 | 657 | debug@^4.3.2, debug@^4.3.4: 658 | version "4.3.4" 659 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 660 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 661 | dependencies: 662 | ms "2.1.2" 663 | 664 | decompress-response@^3.3.0: 665 | version "3.3.0" 666 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 667 | integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== 668 | dependencies: 669 | mimic-response "^1.0.0" 670 | 671 | deep-is@^0.1.3: 672 | version "0.1.4" 673 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 674 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 675 | 676 | defer-to-connect@^1.0.1: 677 | version "1.1.3" 678 | resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" 679 | integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== 680 | 681 | delayed-stream@~1.0.0: 682 | version "1.0.0" 683 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 684 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 685 | 686 | dir-glob@^3.0.1: 687 | version "3.0.1" 688 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 689 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 690 | dependencies: 691 | path-type "^4.0.0" 692 | 693 | doctrine@^3.0.0: 694 | version "3.0.0" 695 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 696 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 697 | dependencies: 698 | esutils "^2.0.2" 699 | 700 | duplexer3@^0.1.4: 701 | version "0.1.5" 702 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" 703 | integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== 704 | 705 | electron-to-chromium@^1.4.251: 706 | version "1.4.284" 707 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592" 708 | integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA== 709 | 710 | end-of-stream@^1.1.0: 711 | version "1.4.4" 712 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 713 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 714 | dependencies: 715 | once "^1.4.0" 716 | 717 | enhanced-resolve@^5.0.0, enhanced-resolve@^5.10.0: 718 | version "5.10.0" 719 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" 720 | integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== 721 | dependencies: 722 | graceful-fs "^4.2.4" 723 | tapable "^2.2.0" 724 | 725 | envinfo@^7.7.3: 726 | version "7.8.1" 727 | resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" 728 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== 729 | 730 | es-module-lexer@^0.9.0: 731 | version "0.9.3" 732 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" 733 | integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== 734 | 735 | es6-promise@^4.0.3: 736 | version "4.2.8" 737 | resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" 738 | integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== 739 | 740 | es6-promisify@^5.0.0: 741 | version "5.0.0" 742 | resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" 743 | integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== 744 | dependencies: 745 | es6-promise "^4.0.3" 746 | 747 | escalade@^3.1.1: 748 | version "3.1.1" 749 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 750 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 751 | 752 | escape-string-regexp@^4.0.0: 753 | version "4.0.0" 754 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 755 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 756 | 757 | eslint-config-prettier@^8.5.0: 758 | version "8.5.0" 759 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" 760 | integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== 761 | 762 | eslint-plugin-prettier@^4.2.1: 763 | version "4.2.1" 764 | resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" 765 | integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== 766 | dependencies: 767 | prettier-linter-helpers "^1.0.0" 768 | 769 | eslint-scope@5.1.1, eslint-scope@^5.1.1: 770 | version "5.1.1" 771 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 772 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 773 | dependencies: 774 | esrecurse "^4.3.0" 775 | estraverse "^4.1.1" 776 | 777 | eslint-scope@^7.1.1: 778 | version "7.1.1" 779 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 780 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 781 | dependencies: 782 | esrecurse "^4.3.0" 783 | estraverse "^5.2.0" 784 | 785 | eslint-utils@^3.0.0: 786 | version "3.0.0" 787 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 788 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 789 | dependencies: 790 | eslint-visitor-keys "^2.0.0" 791 | 792 | eslint-visitor-keys@^2.0.0: 793 | version "2.1.0" 794 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 795 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 796 | 797 | eslint-visitor-keys@^3.3.0: 798 | version "3.3.0" 799 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 800 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 801 | 802 | eslint@^8.27.0: 803 | version "8.27.0" 804 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.27.0.tgz#d547e2f7239994ad1faa4bb5d84e5d809db7cf64" 805 | integrity sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ== 806 | dependencies: 807 | "@eslint/eslintrc" "^1.3.3" 808 | "@humanwhocodes/config-array" "^0.11.6" 809 | "@humanwhocodes/module-importer" "^1.0.1" 810 | "@nodelib/fs.walk" "^1.2.8" 811 | ajv "^6.10.0" 812 | chalk "^4.0.0" 813 | cross-spawn "^7.0.2" 814 | debug "^4.3.2" 815 | doctrine "^3.0.0" 816 | escape-string-regexp "^4.0.0" 817 | eslint-scope "^7.1.1" 818 | eslint-utils "^3.0.0" 819 | eslint-visitor-keys "^3.3.0" 820 | espree "^9.4.0" 821 | esquery "^1.4.0" 822 | esutils "^2.0.2" 823 | fast-deep-equal "^3.1.3" 824 | file-entry-cache "^6.0.1" 825 | find-up "^5.0.0" 826 | glob-parent "^6.0.2" 827 | globals "^13.15.0" 828 | grapheme-splitter "^1.0.4" 829 | ignore "^5.2.0" 830 | import-fresh "^3.0.0" 831 | imurmurhash "^0.1.4" 832 | is-glob "^4.0.0" 833 | is-path-inside "^3.0.3" 834 | js-sdsl "^4.1.4" 835 | js-yaml "^4.1.0" 836 | json-stable-stringify-without-jsonify "^1.0.1" 837 | levn "^0.4.1" 838 | lodash.merge "^4.6.2" 839 | minimatch "^3.1.2" 840 | natural-compare "^1.4.0" 841 | optionator "^0.9.1" 842 | regexpp "^3.2.0" 843 | strip-ansi "^6.0.1" 844 | strip-json-comments "^3.1.0" 845 | text-table "^0.2.0" 846 | 847 | espree@^9.4.0: 848 | version "9.4.1" 849 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" 850 | integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== 851 | dependencies: 852 | acorn "^8.8.0" 853 | acorn-jsx "^5.3.2" 854 | eslint-visitor-keys "^3.3.0" 855 | 856 | esquery@^1.4.0: 857 | version "1.4.0" 858 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 859 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 860 | dependencies: 861 | estraverse "^5.1.0" 862 | 863 | esrecurse@^4.3.0: 864 | version "4.3.0" 865 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 866 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 867 | dependencies: 868 | estraverse "^5.2.0" 869 | 870 | estraverse@^4.1.1: 871 | version "4.3.0" 872 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 873 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 874 | 875 | estraverse@^5.1.0, estraverse@^5.2.0: 876 | version "5.3.0" 877 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 878 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 879 | 880 | esutils@^2.0.2: 881 | version "2.0.3" 882 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 883 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 884 | 885 | events@^3.2.0: 886 | version "3.3.0" 887 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 888 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 889 | 890 | fast-deep-equal@^2.0.1: 891 | version "2.0.1" 892 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 893 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 894 | 895 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 896 | version "3.1.3" 897 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 898 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 899 | 900 | fast-diff@^1.1.2: 901 | version "1.2.0" 902 | resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" 903 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 904 | 905 | fast-glob@^3.2.9: 906 | version "3.2.12" 907 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 908 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 909 | dependencies: 910 | "@nodelib/fs.stat" "^2.0.2" 911 | "@nodelib/fs.walk" "^1.2.3" 912 | glob-parent "^5.1.2" 913 | merge2 "^1.3.0" 914 | micromatch "^4.0.4" 915 | 916 | fast-json-stable-stringify@^2.0.0: 917 | version "2.0.0" 918 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 919 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 920 | 921 | fast-levenshtein@^2.0.6: 922 | version "2.0.6" 923 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 924 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 925 | 926 | fastest-levenshtein@^1.0.12: 927 | version "1.0.16" 928 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" 929 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== 930 | 931 | fastq@^1.6.0: 932 | version "1.13.0" 933 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 934 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 935 | dependencies: 936 | reusify "^1.0.4" 937 | 938 | file-entry-cache@^6.0.1: 939 | version "6.0.1" 940 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 941 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 942 | dependencies: 943 | flat-cache "^3.0.4" 944 | 945 | fill-range@^7.0.1: 946 | version "7.0.1" 947 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 948 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 949 | dependencies: 950 | to-regex-range "^5.0.1" 951 | 952 | find-up@^4.0.0: 953 | version "4.1.0" 954 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 955 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 956 | dependencies: 957 | locate-path "^5.0.0" 958 | path-exists "^4.0.0" 959 | 960 | find-up@^5.0.0: 961 | version "5.0.0" 962 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 963 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 964 | dependencies: 965 | locate-path "^6.0.0" 966 | path-exists "^4.0.0" 967 | 968 | flat-cache@^3.0.4: 969 | version "3.0.4" 970 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 971 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 972 | dependencies: 973 | flatted "^3.1.0" 974 | rimraf "^3.0.2" 975 | 976 | flatted@^3.1.0: 977 | version "3.2.7" 978 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" 979 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 980 | 981 | form-data@^2.5.0: 982 | version "2.5.1" 983 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" 984 | integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== 985 | dependencies: 986 | asynckit "^0.4.0" 987 | combined-stream "^1.0.6" 988 | mime-types "^2.1.12" 989 | 990 | fs.realpath@^1.0.0: 991 | version "1.0.0" 992 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 993 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 994 | 995 | function-bind@^1.1.1: 996 | version "1.1.1" 997 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 998 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 999 | 1000 | get-stream@^4.1.0: 1001 | version "4.1.0" 1002 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1003 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1004 | dependencies: 1005 | pump "^3.0.0" 1006 | 1007 | get-stream@^5.1.0: 1008 | version "5.2.0" 1009 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 1010 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 1011 | dependencies: 1012 | pump "^3.0.0" 1013 | 1014 | glob-parent@^5.1.2: 1015 | version "5.1.2" 1016 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1017 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1018 | dependencies: 1019 | is-glob "^4.0.1" 1020 | 1021 | glob-parent@^6.0.2: 1022 | version "6.0.2" 1023 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1024 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1025 | dependencies: 1026 | is-glob "^4.0.3" 1027 | 1028 | glob-to-regexp@^0.4.1: 1029 | version "0.4.1" 1030 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 1031 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 1032 | 1033 | glob@^7.1.3: 1034 | version "7.1.5" 1035 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.5.tgz#6714c69bee20f3c3e64c4dd905553e532b40cdc0" 1036 | integrity sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ== 1037 | dependencies: 1038 | fs.realpath "^1.0.0" 1039 | inflight "^1.0.4" 1040 | inherits "2" 1041 | minimatch "^3.0.4" 1042 | once "^1.3.0" 1043 | path-is-absolute "^1.0.0" 1044 | 1045 | globals@^13.15.0: 1046 | version "13.17.0" 1047 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" 1048 | integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== 1049 | dependencies: 1050 | type-fest "^0.20.2" 1051 | 1052 | globby@^11.1.0: 1053 | version "11.1.0" 1054 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1055 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1056 | dependencies: 1057 | array-union "^2.1.0" 1058 | dir-glob "^3.0.1" 1059 | fast-glob "^3.2.9" 1060 | ignore "^5.2.0" 1061 | merge2 "^1.4.1" 1062 | slash "^3.0.0" 1063 | 1064 | got@^9.6.0: 1065 | version "9.6.0" 1066 | resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" 1067 | integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== 1068 | dependencies: 1069 | "@sindresorhus/is" "^0.14.0" 1070 | "@szmarczak/http-timer" "^1.1.2" 1071 | cacheable-request "^6.0.0" 1072 | decompress-response "^3.3.0" 1073 | duplexer3 "^0.1.4" 1074 | get-stream "^4.1.0" 1075 | lowercase-keys "^1.0.1" 1076 | mimic-response "^1.0.1" 1077 | p-cancelable "^1.0.0" 1078 | to-readable-stream "^1.0.0" 1079 | url-parse-lax "^3.0.0" 1080 | 1081 | graceful-fs@^4.1.2: 1082 | version "4.2.3" 1083 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" 1084 | integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== 1085 | 1086 | graceful-fs@^4.2.4, graceful-fs@^4.2.9: 1087 | version "4.2.10" 1088 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1089 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1090 | 1091 | grapheme-splitter@^1.0.4: 1092 | version "1.0.4" 1093 | resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" 1094 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 1095 | 1096 | has-flag@^4.0.0: 1097 | version "4.0.0" 1098 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1099 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1100 | 1101 | has@^1.0.3: 1102 | version "1.0.3" 1103 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1104 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1105 | dependencies: 1106 | function-bind "^1.1.1" 1107 | 1108 | http-cache-semantics@^4.0.0: 1109 | version "4.1.0" 1110 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" 1111 | integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== 1112 | 1113 | http-proxy-agent@^2.1.0: 1114 | version "2.1.0" 1115 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" 1116 | integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== 1117 | dependencies: 1118 | agent-base "4" 1119 | debug "3.1.0" 1120 | 1121 | https-proxy-agent@^2.2.3: 1122 | version "2.2.4" 1123 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" 1124 | integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== 1125 | dependencies: 1126 | agent-base "^4.3.0" 1127 | debug "^3.1.0" 1128 | 1129 | ignore@^5.2.0: 1130 | version "5.2.0" 1131 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 1132 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 1133 | 1134 | import-fresh@^3.0.0: 1135 | version "3.1.0" 1136 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" 1137 | integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== 1138 | dependencies: 1139 | parent-module "^1.0.0" 1140 | resolve-from "^4.0.0" 1141 | 1142 | import-fresh@^3.2.1: 1143 | version "3.3.0" 1144 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1145 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1146 | dependencies: 1147 | parent-module "^1.0.0" 1148 | resolve-from "^4.0.0" 1149 | 1150 | import-local@^3.0.2: 1151 | version "3.1.0" 1152 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 1153 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1154 | dependencies: 1155 | pkg-dir "^4.2.0" 1156 | resolve-cwd "^3.0.0" 1157 | 1158 | imurmurhash@^0.1.4: 1159 | version "0.1.4" 1160 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1161 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1162 | 1163 | inflight@^1.0.4: 1164 | version "1.0.6" 1165 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1166 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1167 | dependencies: 1168 | once "^1.3.0" 1169 | wrappy "1" 1170 | 1171 | inherits@2: 1172 | version "2.0.4" 1173 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1174 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1175 | 1176 | interpret@^2.2.0: 1177 | version "2.2.0" 1178 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" 1179 | integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== 1180 | 1181 | is-core-module@^2.9.0: 1182 | version "2.11.0" 1183 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 1184 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 1185 | dependencies: 1186 | has "^1.0.3" 1187 | 1188 | is-extglob@^2.1.1: 1189 | version "2.1.1" 1190 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1191 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1192 | 1193 | is-glob@^4.0.0: 1194 | version "4.0.1" 1195 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1196 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1197 | dependencies: 1198 | is-extglob "^2.1.1" 1199 | 1200 | is-glob@^4.0.1, is-glob@^4.0.3: 1201 | version "4.0.3" 1202 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1203 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1204 | dependencies: 1205 | is-extglob "^2.1.1" 1206 | 1207 | is-number@^7.0.0: 1208 | version "7.0.0" 1209 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1210 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1211 | 1212 | is-path-inside@^3.0.3: 1213 | version "3.0.3" 1214 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 1215 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 1216 | 1217 | is-plain-object@^2.0.4: 1218 | version "2.0.4" 1219 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1220 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1221 | dependencies: 1222 | isobject "^3.0.1" 1223 | 1224 | isexe@^2.0.0: 1225 | version "2.0.0" 1226 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1227 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1228 | 1229 | isobject@^3.0.1: 1230 | version "3.0.1" 1231 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1232 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1233 | 1234 | jest-worker@^27.4.5: 1235 | version "27.5.1" 1236 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" 1237 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== 1238 | dependencies: 1239 | "@types/node" "*" 1240 | merge-stream "^2.0.0" 1241 | supports-color "^8.0.0" 1242 | 1243 | js-sdsl@^4.1.4: 1244 | version "4.1.5" 1245 | resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" 1246 | integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== 1247 | 1248 | js-yaml@^4.1.0: 1249 | version "4.1.0" 1250 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1251 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1252 | dependencies: 1253 | argparse "^2.0.1" 1254 | 1255 | json-buffer@3.0.0: 1256 | version "3.0.0" 1257 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1258 | integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== 1259 | 1260 | json-parse-even-better-errors@^2.3.1: 1261 | version "2.3.1" 1262 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1263 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1264 | 1265 | json-schema-traverse@^0.4.1: 1266 | version "0.4.1" 1267 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1268 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1269 | 1270 | json-stable-stringify-without-jsonify@^1.0.1: 1271 | version "1.0.1" 1272 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1273 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1274 | 1275 | keyv@^3.0.0: 1276 | version "3.1.0" 1277 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" 1278 | integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== 1279 | dependencies: 1280 | json-buffer "3.0.0" 1281 | 1282 | kind-of@^6.0.2: 1283 | version "6.0.2" 1284 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1285 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 1286 | 1287 | levn@^0.4.1: 1288 | version "0.4.1" 1289 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1290 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1291 | dependencies: 1292 | prelude-ls "^1.2.1" 1293 | type-check "~0.4.0" 1294 | 1295 | loader-runner@^4.2.0: 1296 | version "4.3.0" 1297 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" 1298 | integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== 1299 | 1300 | locate-path@^5.0.0: 1301 | version "5.0.0" 1302 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1303 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1304 | dependencies: 1305 | p-locate "^4.1.0" 1306 | 1307 | locate-path@^6.0.0: 1308 | version "6.0.0" 1309 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1310 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1311 | dependencies: 1312 | p-locate "^5.0.0" 1313 | 1314 | lodash.merge@^4.6.2: 1315 | version "4.6.2" 1316 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1317 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1318 | 1319 | lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: 1320 | version "1.0.1" 1321 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 1322 | integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== 1323 | 1324 | lowercase-keys@^2.0.0: 1325 | version "2.0.0" 1326 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" 1327 | integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== 1328 | 1329 | lru-cache@^6.0.0: 1330 | version "6.0.0" 1331 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1332 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1333 | dependencies: 1334 | yallist "^4.0.0" 1335 | 1336 | merge-stream@^2.0.0: 1337 | version "2.0.0" 1338 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1339 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1340 | 1341 | merge2@^1.3.0, merge2@^1.4.1: 1342 | version "1.4.1" 1343 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1344 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1345 | 1346 | micromatch@^4.0.0: 1347 | version "4.0.2" 1348 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 1349 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 1350 | dependencies: 1351 | braces "^3.0.1" 1352 | picomatch "^2.0.5" 1353 | 1354 | micromatch@^4.0.4: 1355 | version "4.0.5" 1356 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1357 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1358 | dependencies: 1359 | braces "^3.0.2" 1360 | picomatch "^2.3.1" 1361 | 1362 | mime-db@1.40.0: 1363 | version "1.40.0" 1364 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" 1365 | integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== 1366 | 1367 | mime-db@1.52.0: 1368 | version "1.52.0" 1369 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1370 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1371 | 1372 | mime-types@^2.1.12: 1373 | version "2.1.24" 1374 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" 1375 | integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== 1376 | dependencies: 1377 | mime-db "1.40.0" 1378 | 1379 | mime-types@^2.1.27: 1380 | version "2.1.35" 1381 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1382 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1383 | dependencies: 1384 | mime-db "1.52.0" 1385 | 1386 | mimic-response@^1.0.0, mimic-response@^1.0.1: 1387 | version "1.0.1" 1388 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" 1389 | integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== 1390 | 1391 | minimatch@^3.0.4: 1392 | version "3.0.4" 1393 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1394 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1395 | dependencies: 1396 | brace-expansion "^1.1.7" 1397 | 1398 | minimatch@^3.0.5, minimatch@^3.1.2: 1399 | version "3.1.2" 1400 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1401 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1402 | dependencies: 1403 | brace-expansion "^1.1.7" 1404 | 1405 | ms@2.0.0: 1406 | version "2.0.0" 1407 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1408 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1409 | 1410 | ms@2.1.2, ms@^2.1.1: 1411 | version "2.1.2" 1412 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1413 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1414 | 1415 | natural-compare-lite@^1.4.0: 1416 | version "1.4.0" 1417 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" 1418 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== 1419 | 1420 | natural-compare@^1.4.0: 1421 | version "1.4.0" 1422 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1423 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1424 | 1425 | neo-async@^2.6.2: 1426 | version "2.6.2" 1427 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 1428 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1429 | 1430 | node-releases@^2.0.6: 1431 | version "2.0.6" 1432 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 1433 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 1434 | 1435 | normalize-url@^4.1.0: 1436 | version "4.5.1" 1437 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" 1438 | integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== 1439 | 1440 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 1441 | version "1.4.0" 1442 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1443 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1444 | dependencies: 1445 | wrappy "1" 1446 | 1447 | optionator@^0.9.1: 1448 | version "0.9.1" 1449 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1450 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1451 | dependencies: 1452 | deep-is "^0.1.3" 1453 | fast-levenshtein "^2.0.6" 1454 | levn "^0.4.1" 1455 | prelude-ls "^1.2.1" 1456 | type-check "^0.4.0" 1457 | word-wrap "^1.2.3" 1458 | 1459 | p-cancelable@^1.0.0: 1460 | version "1.1.0" 1461 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" 1462 | integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== 1463 | 1464 | p-limit@^2.2.0: 1465 | version "2.3.0" 1466 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1467 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1468 | dependencies: 1469 | p-try "^2.0.0" 1470 | 1471 | p-limit@^3.0.2: 1472 | version "3.1.0" 1473 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1474 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1475 | dependencies: 1476 | yocto-queue "^0.1.0" 1477 | 1478 | p-locate@^4.1.0: 1479 | version "4.1.0" 1480 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1481 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1482 | dependencies: 1483 | p-limit "^2.2.0" 1484 | 1485 | p-locate@^5.0.0: 1486 | version "5.0.0" 1487 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 1488 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 1489 | dependencies: 1490 | p-limit "^3.0.2" 1491 | 1492 | p-try@^2.0.0: 1493 | version "2.2.0" 1494 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1495 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1496 | 1497 | parent-module@^1.0.0: 1498 | version "1.0.1" 1499 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1500 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1501 | dependencies: 1502 | callsites "^3.0.0" 1503 | 1504 | path-exists@^4.0.0: 1505 | version "4.0.0" 1506 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1507 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1508 | 1509 | path-is-absolute@^1.0.0: 1510 | version "1.0.1" 1511 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1512 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1513 | 1514 | path-key@^3.1.0: 1515 | version "3.1.1" 1516 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1517 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1518 | 1519 | path-parse@^1.0.7: 1520 | version "1.0.7" 1521 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1522 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1523 | 1524 | path-type@^4.0.0: 1525 | version "4.0.0" 1526 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1527 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1528 | 1529 | picocolors@^1.0.0: 1530 | version "1.0.0" 1531 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1532 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1533 | 1534 | picomatch@^2.0.5: 1535 | version "2.0.7" 1536 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" 1537 | integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== 1538 | 1539 | picomatch@^2.3.1: 1540 | version "2.3.1" 1541 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1542 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1543 | 1544 | pkg-dir@^4.2.0: 1545 | version "4.2.0" 1546 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1547 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1548 | dependencies: 1549 | find-up "^4.0.0" 1550 | 1551 | prelude-ls@^1.2.1: 1552 | version "1.2.1" 1553 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1554 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1555 | 1556 | prepend-http@^2.0.0: 1557 | version "2.0.0" 1558 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 1559 | integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== 1560 | 1561 | prettier-linter-helpers@^1.0.0: 1562 | version "1.0.0" 1563 | resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" 1564 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 1565 | dependencies: 1566 | fast-diff "^1.1.2" 1567 | 1568 | prettier@^2.7.1: 1569 | version "2.7.1" 1570 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" 1571 | integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 1572 | 1573 | pump@^3.0.0: 1574 | version "3.0.0" 1575 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 1576 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 1577 | dependencies: 1578 | end-of-stream "^1.1.0" 1579 | once "^1.3.1" 1580 | 1581 | punycode@^2.1.0: 1582 | version "2.1.1" 1583 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1584 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1585 | 1586 | queue-microtask@^1.2.2: 1587 | version "1.2.3" 1588 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1589 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1590 | 1591 | randombytes@^2.1.0: 1592 | version "2.1.0" 1593 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1594 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1595 | dependencies: 1596 | safe-buffer "^5.1.0" 1597 | 1598 | rechoir@^0.7.0: 1599 | version "0.7.1" 1600 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" 1601 | integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== 1602 | dependencies: 1603 | resolve "^1.9.0" 1604 | 1605 | regexpp@^3.2.0: 1606 | version "3.2.0" 1607 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1608 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1609 | 1610 | request-light@^0.2.4: 1611 | version "0.2.5" 1612 | resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.2.5.tgz#38a3da7b2e56f7af8cbba57e8a94930ee2380746" 1613 | integrity sha512-eBEh+GzJAftUnex6tcL6eV2JCifY0+sZMIUpUPOVXbs2nV5hla4ZMmO3icYKGuGVuQ2zHE9evh4OrRcH4iyYYw== 1614 | dependencies: 1615 | http-proxy-agent "^2.1.0" 1616 | https-proxy-agent "^2.2.3" 1617 | vscode-nls "^4.1.1" 1618 | 1619 | resolve-cwd@^3.0.0: 1620 | version "3.0.0" 1621 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 1622 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 1623 | dependencies: 1624 | resolve-from "^5.0.0" 1625 | 1626 | resolve-from@^4.0.0: 1627 | version "4.0.0" 1628 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1629 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1630 | 1631 | resolve-from@^5.0.0: 1632 | version "5.0.0" 1633 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1634 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1635 | 1636 | resolve@^1.9.0: 1637 | version "1.22.1" 1638 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1639 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1640 | dependencies: 1641 | is-core-module "^2.9.0" 1642 | path-parse "^1.0.7" 1643 | supports-preserve-symlinks-flag "^1.0.0" 1644 | 1645 | responselike@^1.0.2: 1646 | version "1.0.2" 1647 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 1648 | integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== 1649 | dependencies: 1650 | lowercase-keys "^1.0.0" 1651 | 1652 | reusify@^1.0.4: 1653 | version "1.0.4" 1654 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1655 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1656 | 1657 | rimraf@^3.0.2: 1658 | version "3.0.2" 1659 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1660 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1661 | dependencies: 1662 | glob "^7.1.3" 1663 | 1664 | run-parallel@^1.1.9: 1665 | version "1.2.0" 1666 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1667 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1668 | dependencies: 1669 | queue-microtask "^1.2.2" 1670 | 1671 | safe-buffer@^5.1.0: 1672 | version "5.2.0" 1673 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 1674 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 1675 | 1676 | schema-utils@^3.1.0, schema-utils@^3.1.1: 1677 | version "3.1.1" 1678 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" 1679 | integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== 1680 | dependencies: 1681 | "@types/json-schema" "^7.0.8" 1682 | ajv "^6.12.5" 1683 | ajv-keywords "^3.5.2" 1684 | 1685 | semver@^7.3.4, semver@^7.3.7: 1686 | version "7.3.8" 1687 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 1688 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 1689 | dependencies: 1690 | lru-cache "^6.0.0" 1691 | 1692 | serialize-javascript@^6.0.0: 1693 | version "6.0.0" 1694 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1695 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1696 | dependencies: 1697 | randombytes "^2.1.0" 1698 | 1699 | shallow-clone@^3.0.0: 1700 | version "3.0.1" 1701 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" 1702 | integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== 1703 | dependencies: 1704 | kind-of "^6.0.2" 1705 | 1706 | shebang-command@^2.0.0: 1707 | version "2.0.0" 1708 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1709 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1710 | dependencies: 1711 | shebang-regex "^3.0.0" 1712 | 1713 | shebang-regex@^3.0.0: 1714 | version "3.0.0" 1715 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1716 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1717 | 1718 | slash@^3.0.0: 1719 | version "3.0.0" 1720 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1721 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1722 | 1723 | source-map-support@~0.5.20: 1724 | version "0.5.21" 1725 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 1726 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 1727 | dependencies: 1728 | buffer-from "^1.0.0" 1729 | source-map "^0.6.0" 1730 | 1731 | source-map@^0.6.0: 1732 | version "0.6.1" 1733 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1734 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1735 | 1736 | strip-ansi@^6.0.1: 1737 | version "6.0.1" 1738 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1739 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1740 | dependencies: 1741 | ansi-regex "^5.0.1" 1742 | 1743 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1744 | version "3.1.1" 1745 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1746 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1747 | 1748 | supports-color@^7.1.0: 1749 | version "7.2.0" 1750 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1751 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1752 | dependencies: 1753 | has-flag "^4.0.0" 1754 | 1755 | supports-color@^8.0.0: 1756 | version "8.1.1" 1757 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1758 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1759 | dependencies: 1760 | has-flag "^4.0.0" 1761 | 1762 | supports-preserve-symlinks-flag@^1.0.0: 1763 | version "1.0.0" 1764 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1765 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1766 | 1767 | tapable@^2.1.1, tapable@^2.2.0: 1768 | version "2.2.1" 1769 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 1770 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 1771 | 1772 | terser-webpack-plugin@^5.1.3: 1773 | version "5.3.6" 1774 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" 1775 | integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== 1776 | dependencies: 1777 | "@jridgewell/trace-mapping" "^0.3.14" 1778 | jest-worker "^27.4.5" 1779 | schema-utils "^3.1.1" 1780 | serialize-javascript "^6.0.0" 1781 | terser "^5.14.1" 1782 | 1783 | terser@^5.14.1: 1784 | version "5.15.1" 1785 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" 1786 | integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== 1787 | dependencies: 1788 | "@jridgewell/source-map" "^0.3.2" 1789 | acorn "^8.5.0" 1790 | commander "^2.20.0" 1791 | source-map-support "~0.5.20" 1792 | 1793 | text-table@^0.2.0: 1794 | version "0.2.0" 1795 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1796 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1797 | 1798 | to-readable-stream@^1.0.0: 1799 | version "1.0.0" 1800 | resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" 1801 | integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== 1802 | 1803 | to-regex-range@^5.0.1: 1804 | version "5.0.1" 1805 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1806 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1807 | dependencies: 1808 | is-number "^7.0.0" 1809 | 1810 | ts-loader@^9.4.1: 1811 | version "9.4.1" 1812 | resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.1.tgz#b6f3d82db0eac5a8295994f8cb5e4940ff6b1060" 1813 | integrity sha512-384TYAqGs70rn9F0VBnh6BPTfhga7yFNdC5gXbQpDrBj9/KsT4iRkGqKXhziofHOlE2j6YEaiTYVGKKvPhGWvw== 1814 | dependencies: 1815 | chalk "^4.1.0" 1816 | enhanced-resolve "^5.0.0" 1817 | micromatch "^4.0.0" 1818 | semver "^7.3.4" 1819 | 1820 | tslib@^1.8.1: 1821 | version "1.14.1" 1822 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1823 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1824 | 1825 | tslib@^1.9.0: 1826 | version "1.10.0" 1827 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 1828 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 1829 | 1830 | tsutils@^3.21.0: 1831 | version "3.21.0" 1832 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 1833 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1834 | dependencies: 1835 | tslib "^1.8.1" 1836 | 1837 | tunnel@^0.0.6: 1838 | version "0.0.6" 1839 | resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" 1840 | integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== 1841 | 1842 | type-check@^0.4.0, type-check@~0.4.0: 1843 | version "0.4.0" 1844 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 1845 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1846 | dependencies: 1847 | prelude-ls "^1.2.1" 1848 | 1849 | type-fest@^0.20.2: 1850 | version "0.20.2" 1851 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 1852 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1853 | 1854 | typescript@^4.8.4: 1855 | version "4.8.4" 1856 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" 1857 | integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== 1858 | 1859 | update-browserslist-db@^1.0.9: 1860 | version "1.0.10" 1861 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 1862 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 1863 | dependencies: 1864 | escalade "^3.1.1" 1865 | picocolors "^1.0.0" 1866 | 1867 | uri-js@^4.2.2: 1868 | version "4.2.2" 1869 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 1870 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 1871 | dependencies: 1872 | punycode "^2.1.0" 1873 | 1874 | url-parse-lax@^3.0.0: 1875 | version "3.0.0" 1876 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 1877 | integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== 1878 | dependencies: 1879 | prepend-http "^2.0.0" 1880 | 1881 | vscode-jsonrpc@8.0.2: 1882 | version "8.0.2" 1883 | resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz#f239ed2cd6004021b6550af9fd9d3e47eee3cac9" 1884 | integrity sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ== 1885 | 1886 | vscode-languageserver-protocol@^3.17.2: 1887 | version "3.17.2" 1888 | resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz#beaa46aea06ed061576586c5e11368a9afc1d378" 1889 | integrity sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg== 1890 | dependencies: 1891 | vscode-jsonrpc "8.0.2" 1892 | vscode-languageserver-types "3.17.2" 1893 | 1894 | vscode-languageserver-types@3.17.2: 1895 | version "3.17.2" 1896 | resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2" 1897 | integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA== 1898 | 1899 | vscode-nls@^4.1.1: 1900 | version "4.1.2" 1901 | resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.2.tgz#ca8bf8bb82a0987b32801f9fddfdd2fb9fd3c167" 1902 | integrity sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw== 1903 | 1904 | watchpack@^2.4.0: 1905 | version "2.4.0" 1906 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" 1907 | integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== 1908 | dependencies: 1909 | glob-to-regexp "^0.4.1" 1910 | graceful-fs "^4.1.2" 1911 | 1912 | webpack-cli@^4.10.0: 1913 | version "4.10.0" 1914 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" 1915 | integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== 1916 | dependencies: 1917 | "@discoveryjs/json-ext" "^0.5.0" 1918 | "@webpack-cli/configtest" "^1.2.0" 1919 | "@webpack-cli/info" "^1.5.0" 1920 | "@webpack-cli/serve" "^1.7.0" 1921 | colorette "^2.0.14" 1922 | commander "^7.0.0" 1923 | cross-spawn "^7.0.3" 1924 | fastest-levenshtein "^1.0.12" 1925 | import-local "^3.0.2" 1926 | interpret "^2.2.0" 1927 | rechoir "^0.7.0" 1928 | webpack-merge "^5.7.3" 1929 | 1930 | webpack-merge@^5.7.3: 1931 | version "5.8.0" 1932 | resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" 1933 | integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== 1934 | dependencies: 1935 | clone-deep "^4.0.1" 1936 | wildcard "^2.0.0" 1937 | 1938 | webpack-sources@^3.2.3: 1939 | version "3.2.3" 1940 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" 1941 | integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== 1942 | 1943 | webpack@^5.75.0: 1944 | version "5.75.0" 1945 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152" 1946 | integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ== 1947 | dependencies: 1948 | "@types/eslint-scope" "^3.7.3" 1949 | "@types/estree" "^0.0.51" 1950 | "@webassemblyjs/ast" "1.11.1" 1951 | "@webassemblyjs/wasm-edit" "1.11.1" 1952 | "@webassemblyjs/wasm-parser" "1.11.1" 1953 | acorn "^8.7.1" 1954 | acorn-import-assertions "^1.7.6" 1955 | browserslist "^4.14.5" 1956 | chrome-trace-event "^1.0.2" 1957 | enhanced-resolve "^5.10.0" 1958 | es-module-lexer "^0.9.0" 1959 | eslint-scope "5.1.1" 1960 | events "^3.2.0" 1961 | glob-to-regexp "^0.4.1" 1962 | graceful-fs "^4.2.9" 1963 | json-parse-even-better-errors "^2.3.1" 1964 | loader-runner "^4.2.0" 1965 | mime-types "^2.1.27" 1966 | neo-async "^2.6.2" 1967 | schema-utils "^3.1.0" 1968 | tapable "^2.1.1" 1969 | terser-webpack-plugin "^5.1.3" 1970 | watchpack "^2.4.0" 1971 | webpack-sources "^3.2.3" 1972 | 1973 | which@^2.0.1: 1974 | version "2.0.2" 1975 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1976 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1977 | dependencies: 1978 | isexe "^2.0.0" 1979 | 1980 | which@^3.0.0: 1981 | version "3.0.0" 1982 | resolved "https://registry.yarnpkg.com/which/-/which-3.0.0.tgz#a9efd016db59728758a390d23f1687b6e8f59f8e" 1983 | integrity sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ== 1984 | dependencies: 1985 | isexe "^2.0.0" 1986 | 1987 | wildcard@^2.0.0: 1988 | version "2.0.0" 1989 | resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" 1990 | integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== 1991 | 1992 | word-wrap@^1.2.3: 1993 | version "1.2.3" 1994 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1995 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1996 | 1997 | wrappy@1: 1998 | version "1.0.2" 1999 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2000 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2001 | 2002 | yallist@^4.0.0: 2003 | version "4.0.0" 2004 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2005 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2006 | 2007 | yocto-queue@^0.1.0: 2008 | version "0.1.0" 2009 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2010 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2011 | --------------------------------------------------------------------------------