create-packer 1.34.4 → 1.34.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1545) hide show
  1. package/package.json +1 -1
  2. package/template/lib/react/node_modules/.bin/acorn +17 -0
  3. package/template/lib/react/node_modules/.bin/acorn.CMD +12 -0
  4. package/template/lib/react/node_modules/.bin/acorn.ps1 +41 -0
  5. package/template/lib/react/node_modules/.bin/browserslist +17 -0
  6. package/template/lib/react/node_modules/.bin/browserslist.CMD +12 -0
  7. package/template/lib/react/node_modules/.bin/browserslist.ps1 +41 -0
  8. package/template/lib/react/node_modules/.bin/esbuild +17 -0
  9. package/template/lib/react/node_modules/.bin/esbuild.CMD +12 -0
  10. package/template/lib/react/node_modules/.bin/esbuild.ps1 +41 -0
  11. package/template/lib/react/node_modules/.bin/eslint +17 -0
  12. package/template/lib/react/node_modules/.bin/eslint.CMD +12 -0
  13. package/template/lib/react/node_modules/.bin/eslint.ps1 +41 -0
  14. package/template/lib/react/node_modules/.bin/prettier +17 -0
  15. package/template/lib/react/node_modules/.bin/prettier.CMD +12 -0
  16. package/template/lib/react/node_modules/.bin/prettier.ps1 +41 -0
  17. package/template/lib/react/node_modules/.bin/sb +17 -0
  18. package/template/lib/react/node_modules/.bin/sb.CMD +12 -0
  19. package/template/lib/react/node_modules/.bin/sb.ps1 +41 -0
  20. package/template/lib/react/node_modules/.bin/storybook +17 -0
  21. package/template/lib/react/node_modules/.bin/storybook.CMD +12 -0
  22. package/template/lib/react/node_modules/.bin/storybook.ps1 +41 -0
  23. package/template/lib/react/node_modules/.bin/stylelint +17 -0
  24. package/template/lib/react/node_modules/.bin/stylelint.CMD +12 -0
  25. package/template/lib/react/node_modules/.bin/stylelint.ps1 +41 -0
  26. package/template/lib/react/node_modules/.bin/tsc +17 -0
  27. package/template/lib/react/node_modules/.bin/tsc.CMD +12 -0
  28. package/template/lib/react/node_modules/.bin/tsc.ps1 +41 -0
  29. package/template/lib/react/node_modules/.bin/tsserver +17 -0
  30. package/template/lib/react/node_modules/.bin/tsserver.CMD +12 -0
  31. package/template/lib/react/node_modules/.bin/tsserver.ps1 +41 -0
  32. package/template/lib/react/node_modules/.bin/vite +17 -0
  33. package/template/lib/react/node_modules/.bin/vite.CMD +12 -0
  34. package/template/lib/react/node_modules/.bin/vite.ps1 +41 -0
  35. package/template/lib/react/node_modules/eslint/LICENSE +19 -0
  36. package/template/lib/react/node_modules/eslint/README.md +304 -0
  37. package/template/lib/react/node_modules/eslint/bin/eslint.js +173 -0
  38. package/template/lib/react/node_modules/eslint/conf/config-schema.js +93 -0
  39. package/template/lib/react/node_modules/eslint/conf/default-cli-options.js +32 -0
  40. package/template/lib/react/node_modules/eslint/conf/globals.js +154 -0
  41. package/template/lib/react/node_modules/eslint/conf/replacements.json +22 -0
  42. package/template/lib/react/node_modules/eslint/conf/rule-type-list.json +28 -0
  43. package/template/lib/react/node_modules/eslint/lib/api.js +26 -0
  44. package/template/lib/react/node_modules/eslint/lib/cli-engine/cli-engine.js +1078 -0
  45. package/template/lib/react/node_modules/eslint/lib/cli-engine/file-enumerator.js +547 -0
  46. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +60 -0
  47. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/compact.js +60 -0
  48. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +46 -0
  49. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/html.js +351 -0
  50. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +41 -0
  51. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
  52. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
  53. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/junit.js +82 -0
  54. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
  55. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/tap.js +95 -0
  56. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/unix.js +58 -0
  57. package/template/lib/react/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +63 -0
  58. package/template/lib/react/node_modules/eslint/lib/cli-engine/hash.js +35 -0
  59. package/template/lib/react/node_modules/eslint/lib/cli-engine/index.js +7 -0
  60. package/template/lib/react/node_modules/eslint/lib/cli-engine/lint-result-cache.js +203 -0
  61. package/template/lib/react/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
  62. package/template/lib/react/node_modules/eslint/lib/cli-engine/xml-escape.js +34 -0
  63. package/template/lib/react/node_modules/eslint/lib/cli.js +471 -0
  64. package/template/lib/react/node_modules/eslint/lib/config/default-config.js +67 -0
  65. package/template/lib/react/node_modules/eslint/lib/config/flat-config-array.js +274 -0
  66. package/template/lib/react/node_modules/eslint/lib/config/flat-config-helpers.js +111 -0
  67. package/template/lib/react/node_modules/eslint/lib/config/flat-config-schema.js +583 -0
  68. package/template/lib/react/node_modules/eslint/lib/config/rule-validator.js +158 -0
  69. package/template/lib/react/node_modules/eslint/lib/eslint/eslint-helpers.js +902 -0
  70. package/template/lib/react/node_modules/eslint/lib/eslint/eslint.js +700 -0
  71. package/template/lib/react/node_modules/eslint/lib/eslint/flat-eslint.js +1142 -0
  72. package/template/lib/react/node_modules/eslint/lib/eslint/index.js +9 -0
  73. package/template/lib/react/node_modules/eslint/lib/linter/apply-disable-directives.js +465 -0
  74. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +852 -0
  75. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +263 -0
  76. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +2348 -0
  77. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +342 -0
  78. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
  79. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +349 -0
  80. package/template/lib/react/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
  81. package/template/lib/react/node_modules/eslint/lib/linter/config-comment-parser.js +185 -0
  82. package/template/lib/react/node_modules/eslint/lib/linter/index.js +13 -0
  83. package/template/lib/react/node_modules/eslint/lib/linter/interpolate.js +28 -0
  84. package/template/lib/react/node_modules/eslint/lib/linter/linter.js +2119 -0
  85. package/template/lib/react/node_modules/eslint/lib/linter/node-event-generator.js +354 -0
  86. package/template/lib/react/node_modules/eslint/lib/linter/report-translator.js +369 -0
  87. package/template/lib/react/node_modules/eslint/lib/linter/rule-fixer.js +140 -0
  88. package/template/lib/react/node_modules/eslint/lib/linter/rules.js +80 -0
  89. package/template/lib/react/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
  90. package/template/lib/react/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
  91. package/template/lib/react/node_modules/eslint/lib/linter/timing.js +161 -0
  92. package/template/lib/react/node_modules/eslint/lib/options.js +398 -0
  93. package/template/lib/react/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +1122 -0
  94. package/template/lib/react/node_modules/eslint/lib/rule-tester/index.js +5 -0
  95. package/template/lib/react/node_modules/eslint/lib/rule-tester/rule-tester.js +1206 -0
  96. package/template/lib/react/node_modules/eslint/lib/rules/accessor-pairs.js +346 -0
  97. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-newline.js +261 -0
  98. package/template/lib/react/node_modules/eslint/lib/rules/array-bracket-spacing.js +244 -0
  99. package/template/lib/react/node_modules/eslint/lib/rules/array-callback-return.js +446 -0
  100. package/template/lib/react/node_modules/eslint/lib/rules/array-element-newline.js +311 -0
  101. package/template/lib/react/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
  102. package/template/lib/react/node_modules/eslint/lib/rules/arrow-parens.js +186 -0
  103. package/template/lib/react/node_modules/eslint/lib/rules/arrow-spacing.js +164 -0
  104. package/template/lib/react/node_modules/eslint/lib/rules/block-scoped-var.js +135 -0
  105. package/template/lib/react/node_modules/eslint/lib/rules/block-spacing.js +174 -0
  106. package/template/lib/react/node_modules/eslint/lib/rules/brace-style.js +197 -0
  107. package/template/lib/react/node_modules/eslint/lib/rules/callback-return.js +187 -0
  108. package/template/lib/react/node_modules/eslint/lib/rules/camelcase.js +399 -0
  109. package/template/lib/react/node_modules/eslint/lib/rules/capitalized-comments.js +300 -0
  110. package/template/lib/react/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
  111. package/template/lib/react/node_modules/eslint/lib/rules/comma-dangle.js +373 -0
  112. package/template/lib/react/node_modules/eslint/lib/rules/comma-spacing.js +192 -0
  113. package/template/lib/react/node_modules/eslint/lib/rules/comma-style.js +314 -0
  114. package/template/lib/react/node_modules/eslint/lib/rules/complexity.js +165 -0
  115. package/template/lib/react/node_modules/eslint/lib/rules/computed-property-spacing.js +208 -0
  116. package/template/lib/react/node_modules/eslint/lib/rules/consistent-return.js +210 -0
  117. package/template/lib/react/node_modules/eslint/lib/rules/consistent-this.js +153 -0
  118. package/template/lib/react/node_modules/eslint/lib/rules/constructor-super.js +446 -0
  119. package/template/lib/react/node_modules/eslint/lib/rules/curly.js +486 -0
  120. package/template/lib/react/node_modules/eslint/lib/rules/default-case-last.js +44 -0
  121. package/template/lib/react/node_modules/eslint/lib/rules/default-case.js +97 -0
  122. package/template/lib/react/node_modules/eslint/lib/rules/default-param-last.js +62 -0
  123. package/template/lib/react/node_modules/eslint/lib/rules/dot-location.js +108 -0
  124. package/template/lib/react/node_modules/eslint/lib/rules/dot-notation.js +176 -0
  125. package/template/lib/react/node_modules/eslint/lib/rules/eol-last.js +115 -0
  126. package/template/lib/react/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
  127. package/template/lib/react/node_modules/eslint/lib/rules/for-direction.js +140 -0
  128. package/template/lib/react/node_modules/eslint/lib/rules/func-call-spacing.js +233 -0
  129. package/template/lib/react/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
  130. package/template/lib/react/node_modules/eslint/lib/rules/func-names.js +191 -0
  131. package/template/lib/react/node_modules/eslint/lib/rules/func-style.js +98 -0
  132. package/template/lib/react/node_modules/eslint/lib/rules/function-call-argument-newline.js +125 -0
  133. package/template/lib/react/node_modules/eslint/lib/rules/function-paren-newline.js +292 -0
  134. package/template/lib/react/node_modules/eslint/lib/rules/generator-star-spacing.js +209 -0
  135. package/template/lib/react/node_modules/eslint/lib/rules/getter-return.js +204 -0
  136. package/template/lib/react/node_modules/eslint/lib/rules/global-require.js +90 -0
  137. package/template/lib/react/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +215 -0
  138. package/template/lib/react/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
  139. package/template/lib/react/node_modules/eslint/lib/rules/handle-callback-err.js +101 -0
  140. package/template/lib/react/node_modules/eslint/lib/rules/id-blacklist.js +246 -0
  141. package/template/lib/react/node_modules/eslint/lib/rules/id-denylist.js +228 -0
  142. package/template/lib/react/node_modules/eslint/lib/rules/id-length.js +177 -0
  143. package/template/lib/react/node_modules/eslint/lib/rules/id-match.js +299 -0
  144. package/template/lib/react/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +84 -0
  145. package/template/lib/react/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
  146. package/template/lib/react/node_modules/eslint/lib/rules/indent.js +1803 -0
  147. package/template/lib/react/node_modules/eslint/lib/rules/index.js +306 -0
  148. package/template/lib/react/node_modules/eslint/lib/rules/init-declarations.js +139 -0
  149. package/template/lib/react/node_modules/eslint/lib/rules/jsx-quotes.js +98 -0
  150. package/template/lib/react/node_modules/eslint/lib/rules/key-spacing.js +687 -0
  151. package/template/lib/react/node_modules/eslint/lib/rules/keyword-spacing.js +640 -0
  152. package/template/lib/react/node_modules/eslint/lib/rules/line-comment-position.js +122 -0
  153. package/template/lib/react/node_modules/eslint/lib/rules/linebreak-style.js +108 -0
  154. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-comment.js +471 -0
  155. package/template/lib/react/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
  156. package/template/lib/react/node_modules/eslint/lib/rules/lines-between-class-members.js +269 -0
  157. package/template/lib/react/node_modules/eslint/lib/rules/logical-assignment-operators.js +504 -0
  158. package/template/lib/react/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
  159. package/template/lib/react/node_modules/eslint/lib/rules/max-depth.js +156 -0
  160. package/template/lib/react/node_modules/eslint/lib/rules/max-len.js +440 -0
  161. package/template/lib/react/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
  162. package/template/lib/react/node_modules/eslint/lib/rules/max-lines.js +193 -0
  163. package/template/lib/react/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
  164. package/template/lib/react/node_modules/eslint/lib/rules/max-params.js +102 -0
  165. package/template/lib/react/node_modules/eslint/lib/rules/max-statements-per-line.js +199 -0
  166. package/template/lib/react/node_modules/eslint/lib/rules/max-statements.js +184 -0
  167. package/template/lib/react/node_modules/eslint/lib/rules/multiline-comment-style.js +474 -0
  168. package/template/lib/react/node_modules/eslint/lib/rules/multiline-ternary.js +174 -0
  169. package/template/lib/react/node_modules/eslint/lib/rules/new-cap.js +276 -0
  170. package/template/lib/react/node_modules/eslint/lib/rules/new-parens.js +93 -0
  171. package/template/lib/react/node_modules/eslint/lib/rules/newline-after-var.js +253 -0
  172. package/template/lib/react/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
  173. package/template/lib/react/node_modules/eslint/lib/rules/newline-per-chained-call.js +126 -0
  174. package/template/lib/react/node_modules/eslint/lib/rules/no-alert.js +138 -0
  175. package/template/lib/react/node_modules/eslint/lib/rules/no-array-constructor.js +133 -0
  176. package/template/lib/react/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
  177. package/template/lib/react/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
  178. package/template/lib/react/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
  179. package/template/lib/react/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
  180. package/template/lib/react/node_modules/eslint/lib/rules/no-caller.js +46 -0
  181. package/template/lib/react/node_modules/eslint/lib/rules/no-case-declarations.js +64 -0
  182. package/template/lib/react/node_modules/eslint/lib/rules/no-catch-shadow.js +82 -0
  183. package/template/lib/react/node_modules/eslint/lib/rules/no-class-assign.js +63 -0
  184. package/template/lib/react/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
  185. package/template/lib/react/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
  186. package/template/lib/react/node_modules/eslint/lib/rules/no-confusing-arrow.js +92 -0
  187. package/template/lib/react/node_modules/eslint/lib/rules/no-console.js +207 -0
  188. package/template/lib/react/node_modules/eslint/lib/rules/no-const-assign.js +56 -0
  189. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-binary-expression.js +509 -0
  190. package/template/lib/react/node_modules/eslint/lib/rules/no-constant-condition.js +150 -0
  191. package/template/lib/react/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
  192. package/template/lib/react/node_modules/eslint/lib/rules/no-continue.js +39 -0
  193. package/template/lib/react/node_modules/eslint/lib/rules/no-control-regex.js +138 -0
  194. package/template/lib/react/node_modules/eslint/lib/rules/no-debugger.js +43 -0
  195. package/template/lib/react/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
  196. package/template/lib/react/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
  197. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-args.js +82 -0
  198. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
  199. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
  200. package/template/lib/react/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
  201. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
  202. package/template/lib/react/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
  203. package/template/lib/react/node_modules/eslint/lib/rules/no-else-return.js +405 -0
  204. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-character-class.js +76 -0
  205. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
  206. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-pattern.js +78 -0
  207. package/template/lib/react/node_modules/eslint/lib/rules/no-empty-static-block.js +47 -0
  208. package/template/lib/react/node_modules/eslint/lib/rules/no-empty.js +103 -0
  209. package/template/lib/react/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
  210. package/template/lib/react/node_modules/eslint/lib/rules/no-eval.js +286 -0
  211. package/template/lib/react/node_modules/eslint/lib/rules/no-ex-assign.js +54 -0
  212. package/template/lib/react/node_modules/eslint/lib/rules/no-extend-native.js +179 -0
  213. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
  214. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +317 -0
  215. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
  216. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-parens.js +1322 -0
  217. package/template/lib/react/node_modules/eslint/lib/rules/no-extra-semi.js +147 -0
  218. package/template/lib/react/node_modules/eslint/lib/rules/no-fallthrough.js +196 -0
  219. package/template/lib/react/node_modules/eslint/lib/rules/no-floating-decimal.js +73 -0
  220. package/template/lib/react/node_modules/eslint/lib/rules/no-func-assign.js +78 -0
  221. package/template/lib/react/node_modules/eslint/lib/rules/no-global-assign.js +95 -0
  222. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-coercion.js +380 -0
  223. package/template/lib/react/node_modules/eslint/lib/rules/no-implicit-globals.js +146 -0
  224. package/template/lib/react/node_modules/eslint/lib/rules/no-implied-eval.js +132 -0
  225. package/template/lib/react/node_modules/eslint/lib/rules/no-import-assign.js +241 -0
  226. package/template/lib/react/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
  227. package/template/lib/react/node_modules/eslint/lib/rules/no-inner-declarations.js +110 -0
  228. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-regexp.js +194 -0
  229. package/template/lib/react/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
  230. package/template/lib/react/node_modules/eslint/lib/rules/no-irregular-whitespace.js +276 -0
  231. package/template/lib/react/node_modules/eslint/lib/rules/no-iterator.js +52 -0
  232. package/template/lib/react/node_modules/eslint/lib/rules/no-label-var.js +80 -0
  233. package/template/lib/react/node_modules/eslint/lib/rules/no-labels.js +149 -0
  234. package/template/lib/react/node_modules/eslint/lib/rules/no-lone-blocks.js +136 -0
  235. package/template/lib/react/node_modules/eslint/lib/rules/no-lonely-if.js +88 -0
  236. package/template/lib/react/node_modules/eslint/lib/rules/no-loop-func.js +206 -0
  237. package/template/lib/react/node_modules/eslint/lib/rules/no-loss-of-precision.js +214 -0
  238. package/template/lib/react/node_modules/eslint/lib/rules/no-magic-numbers.js +243 -0
  239. package/template/lib/react/node_modules/eslint/lib/rules/no-misleading-character-class.js +300 -0
  240. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-operators.js +229 -0
  241. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
  242. package/template/lib/react/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +116 -0
  243. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
  244. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-spaces.js +141 -0
  245. package/template/lib/react/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
  246. package/template/lib/react/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +154 -0
  247. package/template/lib/react/node_modules/eslint/lib/rules/no-native-reassign.js +98 -0
  248. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
  249. package/template/lib/react/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
  250. package/template/lib/react/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
  251. package/template/lib/react/node_modules/eslint/lib/rules/no-new-func.js +87 -0
  252. package/template/lib/react/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +66 -0
  253. package/template/lib/react/node_modules/eslint/lib/rules/no-new-object.js +67 -0
  254. package/template/lib/react/node_modules/eslint/lib/rules/no-new-require.js +50 -0
  255. package/template/lib/react/node_modules/eslint/lib/rules/no-new-symbol.js +56 -0
  256. package/template/lib/react/node_modules/eslint/lib/rules/no-new-wrappers.js +60 -0
  257. package/template/lib/react/node_modules/eslint/lib/rules/no-new.js +43 -0
  258. package/template/lib/react/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
  259. package/template/lib/react/node_modules/eslint/lib/rules/no-obj-calls.js +86 -0
  260. package/template/lib/react/node_modules/eslint/lib/rules/no-object-constructor.js +117 -0
  261. package/template/lib/react/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
  262. package/template/lib/react/node_modules/eslint/lib/rules/no-octal.js +45 -0
  263. package/template/lib/react/node_modules/eslint/lib/rules/no-param-reassign.js +230 -0
  264. package/template/lib/react/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
  265. package/template/lib/react/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
  266. package/template/lib/react/node_modules/eslint/lib/rules/no-process-env.js +51 -0
  267. package/template/lib/react/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
  268. package/template/lib/react/node_modules/eslint/lib/rules/no-promise-executor-return.js +263 -0
  269. package/template/lib/react/node_modules/eslint/lib/rules/no-proto.js +48 -0
  270. package/template/lib/react/node_modules/eslint/lib/rules/no-prototype-builtins.js +159 -0
  271. package/template/lib/react/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
  272. package/template/lib/react/node_modules/eslint/lib/rules/no-regex-spaces.js +197 -0
  273. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-exports.js +193 -0
  274. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-globals.js +124 -0
  275. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-imports.js +410 -0
  276. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-modules.js +213 -0
  277. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-properties.js +168 -0
  278. package/template/lib/react/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
  279. package/template/lib/react/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
  280. package/template/lib/react/node_modules/eslint/lib/rules/no-return-await.js +135 -0
  281. package/template/lib/react/node_modules/eslint/lib/rules/no-script-url.js +61 -0
  282. package/template/lib/react/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
  283. package/template/lib/react/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
  284. package/template/lib/react/node_modules/eslint/lib/rules/no-sequences.js +138 -0
  285. package/template/lib/react/node_modules/eslint/lib/rules/no-setter-return.js +226 -0
  286. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +65 -0
  287. package/template/lib/react/node_modules/eslint/lib/rules/no-shadow.js +336 -0
  288. package/template/lib/react/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
  289. package/template/lib/react/node_modules/eslint/lib/rules/no-sparse-arrays.js +50 -0
  290. package/template/lib/react/node_modules/eslint/lib/rules/no-sync.js +64 -0
  291. package/template/lib/react/node_modules/eslint/lib/rules/no-tabs.js +81 -0
  292. package/template/lib/react/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
  293. package/template/lib/react/node_modules/eslint/lib/rules/no-ternary.js +41 -0
  294. package/template/lib/react/node_modules/eslint/lib/rules/no-this-before-super.js +331 -0
  295. package/template/lib/react/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
  296. package/template/lib/react/node_modules/eslint/lib/rules/no-trailing-spaces.js +193 -0
  297. package/template/lib/react/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
  298. package/template/lib/react/node_modules/eslint/lib/rules/no-undef.js +79 -0
  299. package/template/lib/react/node_modules/eslint/lib/rules/no-undefined.js +86 -0
  300. package/template/lib/react/node_modules/eslint/lib/rules/no-underscore-dangle.js +335 -0
  301. package/template/lib/react/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
  302. package/template/lib/react/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
  303. package/template/lib/react/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
  304. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable-loop.js +185 -0
  305. package/template/lib/react/node_modules/eslint/lib/rules/no-unreachable.js +293 -0
  306. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
  307. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
  308. package/template/lib/react/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
  309. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-expressions.js +186 -0
  310. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-labels.js +143 -0
  311. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
  312. package/template/lib/react/node_modules/eslint/lib/rules/no-unused-vars.js +718 -0
  313. package/template/lib/react/node_modules/eslint/lib/rules/no-use-before-define.js +348 -0
  314. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-backreference.js +194 -0
  315. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
  316. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
  317. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
  318. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
  319. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
  320. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-escape.js +333 -0
  321. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
  322. package/template/lib/react/node_modules/eslint/lib/rules/no-useless-return.js +364 -0
  323. package/template/lib/react/node_modules/eslint/lib/rules/no-var.js +334 -0
  324. package/template/lib/react/node_modules/eslint/lib/rules/no-void.js +64 -0
  325. package/template/lib/react/node_modules/eslint/lib/rules/no-warning-comments.js +201 -0
  326. package/template/lib/react/node_modules/eslint/lib/rules/no-whitespace-before-property.js +116 -0
  327. package/template/lib/react/node_modules/eslint/lib/rules/no-with.js +39 -0
  328. package/template/lib/react/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +127 -0
  329. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-newline.js +324 -0
  330. package/template/lib/react/node_modules/eslint/lib/rules/object-curly-spacing.js +311 -0
  331. package/template/lib/react/node_modules/eslint/lib/rules/object-property-newline.js +102 -0
  332. package/template/lib/react/node_modules/eslint/lib/rules/object-shorthand.js +520 -0
  333. package/template/lib/react/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +95 -0
  334. package/template/lib/react/node_modules/eslint/lib/rules/one-var.js +567 -0
  335. package/template/lib/react/node_modules/eslint/lib/rules/operator-assignment.js +209 -0
  336. package/template/lib/react/node_modules/eslint/lib/rules/operator-linebreak.js +253 -0
  337. package/template/lib/react/node_modules/eslint/lib/rules/padded-blocks.js +310 -0
  338. package/template/lib/react/node_modules/eslint/lib/rules/padding-line-between-statements.js +590 -0
  339. package/template/lib/react/node_modules/eslint/lib/rules/prefer-arrow-callback.js +381 -0
  340. package/template/lib/react/node_modules/eslint/lib/rules/prefer-const.js +501 -0
  341. package/template/lib/react/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
  342. package/template/lib/react/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +191 -0
  343. package/template/lib/react/node_modules/eslint/lib/rules/prefer-named-capture-group.js +178 -0
  344. package/template/lib/react/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
  345. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-has-own.js +114 -0
  346. package/template/lib/react/node_modules/eslint/lib/rules/prefer-object-spread.js +298 -0
  347. package/template/lib/react/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +132 -0
  348. package/template/lib/react/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
  349. package/template/lib/react/node_modules/eslint/lib/rules/prefer-regex-literals.js +507 -0
  350. package/template/lib/react/node_modules/eslint/lib/rules/prefer-rest-params.js +118 -0
  351. package/template/lib/react/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
  352. package/template/lib/react/node_modules/eslint/lib/rules/prefer-template.js +275 -0
  353. package/template/lib/react/node_modules/eslint/lib/rules/quote-props.js +310 -0
  354. package/template/lib/react/node_modules/eslint/lib/rules/quotes.js +350 -0
  355. package/template/lib/react/node_modules/eslint/lib/rules/radix.js +198 -0
  356. package/template/lib/react/node_modules/eslint/lib/rules/require-atomic-updates.js +331 -0
  357. package/template/lib/react/node_modules/eslint/lib/rules/require-await.js +113 -0
  358. package/template/lib/react/node_modules/eslint/lib/rules/require-jsdoc.js +122 -0
  359. package/template/lib/react/node_modules/eslint/lib/rules/require-unicode-regexp.js +129 -0
  360. package/template/lib/react/node_modules/eslint/lib/rules/require-yield.js +77 -0
  361. package/template/lib/react/node_modules/eslint/lib/rules/rest-spread-spacing.js +123 -0
  362. package/template/lib/react/node_modules/eslint/lib/rules/semi-spacing.js +248 -0
  363. package/template/lib/react/node_modules/eslint/lib/rules/semi-style.js +158 -0
  364. package/template/lib/react/node_modules/eslint/lib/rules/semi.js +438 -0
  365. package/template/lib/react/node_modules/eslint/lib/rules/sort-imports.js +241 -0
  366. package/template/lib/react/node_modules/eslint/lib/rules/sort-keys.js +230 -0
  367. package/template/lib/react/node_modules/eslint/lib/rules/sort-vars.js +104 -0
  368. package/template/lib/react/node_modules/eslint/lib/rules/space-before-blocks.js +204 -0
  369. package/template/lib/react/node_modules/eslint/lib/rules/space-before-function-paren.js +167 -0
  370. package/template/lib/react/node_modules/eslint/lib/rules/space-in-parens.js +285 -0
  371. package/template/lib/react/node_modules/eslint/lib/rules/space-infix-ops.js +198 -0
  372. package/template/lib/react/node_modules/eslint/lib/rules/space-unary-ops.js +324 -0
  373. package/template/lib/react/node_modules/eslint/lib/rules/spaced-comment.js +385 -0
  374. package/template/lib/react/node_modules/eslint/lib/rules/strict.js +277 -0
  375. package/template/lib/react/node_modules/eslint/lib/rules/switch-colon-spacing.js +132 -0
  376. package/template/lib/react/node_modules/eslint/lib/rules/symbol-description.js +73 -0
  377. package/template/lib/react/node_modules/eslint/lib/rules/template-curly-spacing.js +144 -0
  378. package/template/lib/react/node_modules/eslint/lib/rules/template-tag-spacing.js +93 -0
  379. package/template/lib/react/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
  380. package/template/lib/react/node_modules/eslint/lib/rules/use-isnan.js +141 -0
  381. package/template/lib/react/node_modules/eslint/lib/rules/utils/ast-utils.js +2282 -0
  382. package/template/lib/react/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
  383. package/template/lib/react/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
  384. package/template/lib/react/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
  385. package/template/lib/react/node_modules/eslint/lib/rules/utils/patterns/letters.js +36 -0
  386. package/template/lib/react/node_modules/eslint/lib/rules/utils/regular-expressions.js +42 -0
  387. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/index.js +11 -0
  388. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
  389. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
  390. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
  391. package/template/lib/react/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
  392. package/template/lib/react/node_modules/eslint/lib/rules/valid-jsdoc.js +516 -0
  393. package/template/lib/react/node_modules/eslint/lib/rules/valid-typeof.js +127 -0
  394. package/template/lib/react/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
  395. package/template/lib/react/node_modules/eslint/lib/rules/wrap-iife.js +207 -0
  396. package/template/lib/react/node_modules/eslint/lib/rules/wrap-regex.js +61 -0
  397. package/template/lib/react/node_modules/eslint/lib/rules/yield-star-spacing.js +130 -0
  398. package/template/lib/react/node_modules/eslint/lib/rules/yoda.js +353 -0
  399. package/template/lib/react/node_modules/eslint/lib/shared/ajv.js +34 -0
  400. package/template/lib/react/node_modules/eslint/lib/shared/ast-utils.js +29 -0
  401. package/template/lib/react/node_modules/eslint/lib/shared/config-validator.js +347 -0
  402. package/template/lib/react/node_modules/eslint/lib/shared/deprecation-warnings.js +58 -0
  403. package/template/lib/react/node_modules/eslint/lib/shared/directives.js +15 -0
  404. package/template/lib/react/node_modules/eslint/lib/shared/logging.js +30 -0
  405. package/template/lib/react/node_modules/eslint/lib/shared/relative-module-resolver.js +50 -0
  406. package/template/lib/react/node_modules/eslint/lib/shared/runtime-info.js +167 -0
  407. package/template/lib/react/node_modules/eslint/lib/shared/severity.js +49 -0
  408. package/template/lib/react/node_modules/eslint/lib/shared/string-utils.js +60 -0
  409. package/template/lib/react/node_modules/eslint/lib/shared/traverser.js +195 -0
  410. package/template/lib/react/node_modules/eslint/lib/shared/types.js +216 -0
  411. package/template/lib/react/node_modules/eslint/lib/source-code/index.js +5 -0
  412. package/template/lib/react/node_modules/eslint/lib/source-code/source-code.js +1055 -0
  413. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +57 -0
  414. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +58 -0
  415. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursor.js +76 -0
  416. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/cursors.js +90 -0
  417. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +39 -0
  418. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +43 -0
  419. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +57 -0
  420. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +63 -0
  421. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/index.js +627 -0
  422. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +40 -0
  423. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +38 -0
  424. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +42 -0
  425. package/template/lib/react/node_modules/eslint/lib/source-code/token-store/utils.js +107 -0
  426. package/template/lib/react/node_modules/eslint/lib/unsupported-api.js +30 -0
  427. package/template/lib/react/node_modules/eslint/messages/all-files-ignored.js +16 -0
  428. package/template/lib/react/node_modules/eslint/messages/eslintrc-incompat.js +98 -0
  429. package/template/lib/react/node_modules/eslint/messages/eslintrc-plugins.js +24 -0
  430. package/template/lib/react/node_modules/eslint/messages/extend-config-missing.js +13 -0
  431. package/template/lib/react/node_modules/eslint/messages/failed-to-read-json.js +11 -0
  432. package/template/lib/react/node_modules/eslint/messages/file-not-found.js +10 -0
  433. package/template/lib/react/node_modules/eslint/messages/invalid-rule-options.js +17 -0
  434. package/template/lib/react/node_modules/eslint/messages/invalid-rule-severity.js +13 -0
  435. package/template/lib/react/node_modules/eslint/messages/no-config-found.js +15 -0
  436. package/template/lib/react/node_modules/eslint/messages/plugin-conflict.js +22 -0
  437. package/template/lib/react/node_modules/eslint/messages/plugin-invalid.js +16 -0
  438. package/template/lib/react/node_modules/eslint/messages/plugin-missing.js +19 -0
  439. package/template/lib/react/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
  440. package/template/lib/react/node_modules/eslint/messages/shared.js +18 -0
  441. package/template/lib/react/node_modules/eslint/messages/whitespace-found.js +11 -0
  442. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint +17 -0
  443. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.CMD +12 -0
  444. package/template/lib/react/node_modules/eslint/node_modules/.bin/eslint.ps1 +41 -0
  445. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml +17 -0
  446. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.CMD +12 -0
  447. package/template/lib/react/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +41 -0
  448. package/template/lib/react/node_modules/eslint/package.json +179 -0
  449. package/template/lib/react/node_modules/eslint-import-resolver-typescript/LICENSE +5 -0
  450. package/template/lib/react/node_modules/eslint-import-resolver-typescript/README.md +232 -0
  451. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.cjs +278 -0
  452. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +20 -0
  453. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +251 -0
  454. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js +252 -0
  455. package/template/lib/react/node_modules/eslint-import-resolver-typescript/lib/index.js.map +1 -0
  456. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +17 -0
  457. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +12 -0
  458. package/template/lib/react/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +41 -0
  459. package/template/lib/react/node_modules/eslint-import-resolver-typescript/package.json +108 -0
  460. package/template/lib/react/node_modules/eslint-import-resolver-typescript/shim.d.ts +4 -0
  461. package/template/lib/react/node_modules/eslint-plugin-import/CHANGELOG.md +1925 -0
  462. package/template/lib/react/node_modules/eslint-plugin-import/CONTRIBUTING.md +84 -0
  463. package/template/lib/react/node_modules/eslint-plugin-import/LICENSE +22 -0
  464. package/template/lib/react/node_modules/eslint-plugin-import/README.md +500 -0
  465. package/template/lib/react/node_modules/eslint-plugin-import/RELEASE.md +54 -0
  466. package/template/lib/react/node_modules/eslint-plugin-import/SECURITY.md +11 -0
  467. package/template/lib/react/node_modules/eslint-plugin-import/config/electron.js +8 -0
  468. package/template/lib/react/node_modules/eslint-plugin-import/config/errors.js +14 -0
  469. package/template/lib/react/node_modules/eslint-plugin-import/config/react-native.js +13 -0
  470. package/template/lib/react/node_modules/eslint-plugin-import/config/react.js +18 -0
  471. package/template/lib/react/node_modules/eslint-plugin-import/config/recommended.js +28 -0
  472. package/template/lib/react/node_modules/eslint-plugin-import/config/stage-0.js +12 -0
  473. package/template/lib/react/node_modules/eslint-plugin-import/config/typescript.js +34 -0
  474. package/template/lib/react/node_modules/eslint-plugin-import/config/warnings.js +12 -0
  475. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +91 -0
  476. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/default.md +72 -0
  477. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +92 -0
  478. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/export.md +37 -0
  479. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/exports-last.md +51 -0
  480. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/extensions.md +174 -0
  481. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/first.md +75 -0
  482. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/group-exports.md +118 -0
  483. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/imports-first.md +9 -0
  484. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +70 -0
  485. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/named.md +102 -0
  486. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/namespace.md +106 -0
  487. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +167 -0
  488. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +54 -0
  489. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-amd.md +37 -0
  490. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +83 -0
  491. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +96 -0
  492. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +111 -0
  493. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +65 -0
  494. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +62 -0
  495. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +109 -0
  496. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +25 -0
  497. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +49 -0
  498. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +139 -0
  499. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +81 -0
  500. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +136 -0
  501. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +54 -0
  502. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +52 -0
  503. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +53 -0
  504. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +36 -0
  505. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +79 -0
  506. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +44 -0
  507. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +42 -0
  508. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +70 -0
  509. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +123 -0
  510. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +198 -0
  511. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +32 -0
  512. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +60 -0
  513. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +110 -0
  514. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +125 -0
  515. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +85 -0
  516. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +39 -0
  517. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/order.md +365 -0
  518. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +185 -0
  519. package/template/lib/react/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +57 -0
  520. package/template/lib/react/node_modules/eslint-plugin-import/lib/ExportMap.js +856 -0
  521. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/importType.js +129 -0
  522. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/packagePath.js +22 -0
  523. package/template/lib/react/node_modules/eslint-plugin-import/lib/core/staticRequire.js +11 -0
  524. package/template/lib/react/node_modules/eslint-plugin-import/lib/docsUrl.js +8 -0
  525. package/template/lib/react/node_modules/eslint-plugin-import/lib/importDeclaration.js +5 -0
  526. package/template/lib/react/node_modules/eslint-plugin-import/lib/index.js +71 -0
  527. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +221 -0
  528. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/default.js +40 -0
  529. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +120 -0
  530. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/export.js +250 -0
  531. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/exports-last.js +40 -0
  532. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/extensions.js +193 -0
  533. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/first.js +144 -0
  534. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/group-exports.js +155 -0
  535. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/imports-first.js +16 -0
  536. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +60 -0
  537. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/named.js +143 -0
  538. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/namespace.js +218 -0
  539. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +237 -0
  540. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +40 -0
  541. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-amd.js +47 -0
  542. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +103 -0
  543. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +141 -0
  544. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +158 -0
  545. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +43 -0
  546. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +138 -0
  547. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +354 -0
  548. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +77 -0
  549. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +105 -0
  550. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +301 -0
  551. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +85 -0
  552. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +144 -0
  553. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +59 -0
  554. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +96 -0
  555. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +45 -0
  556. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +31 -0
  557. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +39 -0
  558. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +175 -0
  559. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +44 -0
  560. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +71 -0
  561. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +48 -0
  562. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +245 -0
  563. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +39 -0
  564. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +79 -0
  565. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +60 -0
  566. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +945 -0
  567. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +147 -0
  568. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +26 -0
  569. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/order.js +785 -0
  570. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +116 -0
  571. package/template/lib/react/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +38 -0
  572. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/LICENSE +22 -0
  573. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/README.md +21 -0
  574. package/template/lib/react/node_modules/eslint-plugin-import/memo-parser/index.js +41 -0
  575. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint +17 -0
  576. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +12 -0
  577. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +41 -0
  578. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver +17 -0
  579. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +12 -0
  580. package/template/lib/react/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +41 -0
  581. package/template/lib/react/node_modules/eslint-plugin-import/package.json +124 -0
  582. package/template/lib/react/node_modules/eslint-plugin-prettier/LICENSE.md +24 -0
  583. package/template/lib/react/node_modules/eslint-plugin-prettier/README.md +202 -0
  584. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +5 -0
  585. package/template/lib/react/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +254 -0
  586. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +17 -0
  587. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +17 -0
  588. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +12 -0
  589. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +41 -0
  590. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +12 -0
  591. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +41 -0
  592. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +17 -0
  593. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +12 -0
  594. package/template/lib/react/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +41 -0
  595. package/template/lib/react/node_modules/eslint-plugin-prettier/package.json +101 -0
  596. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.d.ts +5 -0
  597. package/template/lib/react/node_modules/eslint-plugin-prettier/recommended.js +17 -0
  598. package/template/lib/react/node_modules/eslint-plugin-prettier/worker.js +181 -0
  599. package/template/lib/react/node_modules/eslint-plugin-react/LICENSE +22 -0
  600. package/template/lib/react/node_modules/eslint-plugin-react/README.md +420 -0
  601. package/template/lib/react/node_modules/eslint-plugin-react/configs/all.js +39 -0
  602. package/template/lib/react/node_modules/eslint-plugin-react/configs/jsx-runtime.js +18 -0
  603. package/template/lib/react/node_modules/eslint-plugin-react/configs/recommended.js +34 -0
  604. package/template/lib/react/node_modules/eslint-plugin-react/index.js +31 -0
  605. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js +400 -0
  606. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/button-has-type.js +163 -0
  607. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js +108 -0
  608. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/destructuring-assignment.js +280 -0
  609. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/display-name.js +283 -0
  610. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-component-props.js +134 -0
  611. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-dom-props.js +121 -0
  612. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-elements.js +114 -0
  613. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-foreign-prop-types.js +134 -0
  614. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/forbid-prop-types.js +293 -0
  615. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/function-component-definition.js +284 -0
  616. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/hook-use-state.js +203 -0
  617. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/iframe-missing-sandbox.js +142 -0
  618. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/index.js +106 -0
  619. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-boolean-value.js +159 -0
  620. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-child-element-spacing.js +116 -0
  621. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-bracket-location.js +308 -0
  622. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-closing-tag-location.js +73 -0
  623. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-brace-presence.js +414 -0
  624. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-newline.js +184 -0
  625. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-curly-spacing.js +430 -0
  626. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-equals-spacing.js +110 -0
  627. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-filename-extension.js +110 -0
  628. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-first-prop-new-line.js +80 -0
  629. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-fragments.js +209 -0
  630. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-handler-names.js +171 -0
  631. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent-props.js +213 -0
  632. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-indent.js +441 -0
  633. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-key.js +293 -0
  634. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-depth.js +162 -0
  635. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-max-props-per-line.js +154 -0
  636. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-newline.js +168 -0
  637. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-bind.js +208 -0
  638. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-comment-textnodes.js +64 -0
  639. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-constructed-context-values.js +225 -0
  640. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-duplicate-props.js +76 -0
  641. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-leaked-render.js +186 -0
  642. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-literals.js +195 -0
  643. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-script-url.js +97 -0
  644. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-target-blank.js +283 -0
  645. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-undef.js +115 -0
  646. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-no-useless-fragment.js +257 -0
  647. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-one-expression-per-line.js +233 -0
  648. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-pascal-case.js +163 -0
  649. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-multi-spaces.js +134 -0
  650. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-props-no-spreading.js +141 -0
  651. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-default-props.js +188 -0
  652. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-sort-props.js +530 -0
  653. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-space-before-closing.js +96 -0
  654. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-tag-spacing.js +323 -0
  655. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-react.js +46 -0
  656. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-uses-vars.js +60 -0
  657. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/jsx-wrap-multilines.js +260 -0
  658. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-access-state-in-setstate.js +187 -0
  659. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-adjacent-inline-elements.js +125 -0
  660. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-array-index-key.js +288 -0
  661. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-arrow-function-lifecycle.js +144 -0
  662. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-children-prop.js +119 -0
  663. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger-with-children.js +155 -0
  664. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-danger.js +74 -0
  665. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-deprecated.js +258 -0
  666. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-mount-set-state.js +10 -0
  667. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-did-update-set-state.js +10 -0
  668. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-direct-mutation-state.js +154 -0
  669. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-find-dom-node.js +50 -0
  670. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-invalid-html-attribute.js +639 -0
  671. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-is-mounted.js +55 -0
  672. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-multi-comp.js +80 -0
  673. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-namespace.js +61 -0
  674. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-object-type-as-default-prop.js +103 -0
  675. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-redundant-should-component-update.js +87 -0
  676. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-render-return-value.js +81 -0
  677. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-set-state.js +88 -0
  678. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-string-refs.js +119 -0
  679. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-this-in-sfc.js +46 -0
  680. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-typos.js +257 -0
  681. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unescaped-entities.js +133 -0
  682. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unknown-property.js +609 -0
  683. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unsafe.js +153 -0
  684. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unstable-nested-components.js +491 -0
  685. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-class-component-methods.js +257 -0
  686. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-prop-types.js +173 -0
  687. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-unused-state.js +522 -0
  688. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/no-will-update-set-state.js +14 -0
  689. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-es6-class.js +57 -0
  690. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-exact-props.js +161 -0
  691. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-read-only-props.js +116 -0
  692. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prefer-stateless-function.js +390 -0
  693. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/prop-types.js +201 -0
  694. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/react-in-jsx-scope.js +56 -0
  695. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-default-props.js +193 -0
  696. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-optimization.js +239 -0
  697. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/require-render-return.js +104 -0
  698. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/self-closing-comp.js +103 -0
  699. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-comp.js +446 -0
  700. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-default-props.js +174 -0
  701. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/sort-prop-types.js +266 -0
  702. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/state-in-constructor.js +67 -0
  703. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/static-property-placement.js +187 -0
  704. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/style-prop-object.js +137 -0
  705. package/template/lib/react/node_modules/eslint-plugin-react/lib/rules/void-dom-elements-no-children.js +165 -0
  706. package/template/lib/react/node_modules/eslint-plugin-react/lib/types.d.ts +28 -0
  707. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/Components.js +946 -0
  708. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/annotations.js +32 -0
  709. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/ast.js +461 -0
  710. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/componentUtil.js +182 -0
  711. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/defaultProps.js +268 -0
  712. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/docsUrl.js +7 -0
  713. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/error.js +14 -0
  714. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/getTokenBeforeClosingBracket.js +16 -0
  715. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateContext.js +53 -0
  716. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isCreateElement.js +33 -0
  717. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isDestructuredFromPragmaImport.js +79 -0
  718. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/isFirstLetterCapitalized.js +16 -0
  719. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/jsx.js +196 -0
  720. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/lifecycleMethods.js +30 -0
  721. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/linkComponents.js +49 -0
  722. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/log.js +14 -0
  723. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/makeNoMethodSetStateRule.js +119 -0
  724. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/message.js +8 -0
  725. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/pragma.js +72 -0
  726. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypes.js +1248 -0
  727. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propTypesSort.js +211 -0
  728. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/propWrapper.js +61 -0
  729. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/props.js +103 -0
  730. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/report.js +12 -0
  731. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/usedPropTypes.js +569 -0
  732. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/variable.js +94 -0
  733. package/template/lib/react/node_modules/eslint-plugin-react/lib/util/version.js +161 -0
  734. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint +17 -0
  735. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.CMD +12 -0
  736. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/eslint.ps1 +41 -0
  737. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve +17 -0
  738. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.CMD +12 -0
  739. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/resolve.ps1 +41 -0
  740. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver +17 -0
  741. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.CMD +12 -0
  742. package/template/lib/react/node_modules/eslint-plugin-react/node_modules/.bin/semver.ps1 +41 -0
  743. package/template/lib/react/node_modules/eslint-plugin-react/package.json +106 -0
  744. package/template/lib/react/node_modules/eslint-plugin-react-hooks/LICENSE +21 -0
  745. package/template/lib/react/node_modules/eslint-plugin-react-hooks/README.md +75 -0
  746. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.development.js +2458 -0
  747. package/template/lib/react/node_modules/eslint-plugin-react-hooks/cjs/eslint-plugin-react-hooks.production.min.js +63 -0
  748. package/template/lib/react/node_modules/eslint-plugin-react-hooks/index.js +9 -0
  749. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint +17 -0
  750. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.CMD +12 -0
  751. package/template/lib/react/node_modules/eslint-plugin-react-hooks/node_modules/.bin/eslint.ps1 +41 -0
  752. package/template/lib/react/node_modules/eslint-plugin-react-hooks/package.json +39 -0
  753. package/template/lib/react/node_modules/prettier/LICENSE +4857 -0
  754. package/template/lib/react/node_modules/prettier/README.md +109 -0
  755. package/template/lib/react/node_modules/prettier/bin/prettier.cjs +68 -0
  756. package/template/lib/react/node_modules/prettier/doc.d.ts +243 -0
  757. package/template/lib/react/node_modules/prettier/doc.js +1328 -0
  758. package/template/lib/react/node_modules/prettier/doc.mjs +1300 -0
  759. package/template/lib/react/node_modules/prettier/index.cjs +648 -0
  760. package/template/lib/react/node_modules/prettier/index.d.ts +940 -0
  761. package/template/lib/react/node_modules/prettier/index.mjs +24255 -0
  762. package/template/lib/react/node_modules/prettier/internal/cli.mjs +7089 -0
  763. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier +17 -0
  764. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.CMD +12 -0
  765. package/template/lib/react/node_modules/prettier/node_modules/.bin/prettier.ps1 +41 -0
  766. package/template/lib/react/node_modules/prettier/package.json +198 -0
  767. package/template/lib/react/node_modules/prettier/plugins/acorn.d.ts +6 -0
  768. package/template/lib/react/node_modules/prettier/plugins/acorn.js +13 -0
  769. package/template/lib/react/node_modules/prettier/plugins/acorn.mjs +13 -0
  770. package/template/lib/react/node_modules/prettier/plugins/angular.d.ts +8 -0
  771. package/template/lib/react/node_modules/prettier/plugins/angular.js +1 -0
  772. package/template/lib/react/node_modules/prettier/plugins/angular.mjs +1 -0
  773. package/template/lib/react/node_modules/prettier/plugins/babel.d.ts +18 -0
  774. package/template/lib/react/node_modules/prettier/plugins/babel.js +16 -0
  775. package/template/lib/react/node_modules/prettier/plugins/babel.mjs +16 -0
  776. package/template/lib/react/node_modules/prettier/plugins/estree.d.ts +1 -0
  777. package/template/lib/react/node_modules/prettier/plugins/estree.js +36 -0
  778. package/template/lib/react/node_modules/prettier/plugins/estree.mjs +36 -0
  779. package/template/lib/react/node_modules/prettier/plugins/flow.d.ts +5 -0
  780. package/template/lib/react/node_modules/prettier/plugins/flow.js +21 -0
  781. package/template/lib/react/node_modules/prettier/plugins/flow.mjs +21 -0
  782. package/template/lib/react/node_modules/prettier/plugins/glimmer.d.ts +5 -0
  783. package/template/lib/react/node_modules/prettier/plugins/glimmer.js +30 -0
  784. package/template/lib/react/node_modules/prettier/plugins/glimmer.mjs +30 -0
  785. package/template/lib/react/node_modules/prettier/plugins/graphql.d.ts +5 -0
  786. package/template/lib/react/node_modules/prettier/plugins/graphql.js +29 -0
  787. package/template/lib/react/node_modules/prettier/plugins/graphql.mjs +29 -0
  788. package/template/lib/react/node_modules/prettier/plugins/html.d.ts +8 -0
  789. package/template/lib/react/node_modules/prettier/plugins/html.js +19 -0
  790. package/template/lib/react/node_modules/prettier/plugins/html.mjs +19 -0
  791. package/template/lib/react/node_modules/prettier/plugins/markdown.d.ts +7 -0
  792. package/template/lib/react/node_modules/prettier/plugins/markdown.js +59 -0
  793. package/template/lib/react/node_modules/prettier/plugins/markdown.mjs +59 -0
  794. package/template/lib/react/node_modules/prettier/plugins/meriyah.d.ts +5 -0
  795. package/template/lib/react/node_modules/prettier/plugins/meriyah.js +5 -0
  796. package/template/lib/react/node_modules/prettier/plugins/meriyah.mjs +5 -0
  797. package/template/lib/react/node_modules/prettier/plugins/postcss.d.ts +7 -0
  798. package/template/lib/react/node_modules/prettier/plugins/postcss.js +49 -0
  799. package/template/lib/react/node_modules/prettier/plugins/postcss.mjs +49 -0
  800. package/template/lib/react/node_modules/prettier/plugins/typescript.d.ts +5 -0
  801. package/template/lib/react/node_modules/prettier/plugins/typescript.js +25 -0
  802. package/template/lib/react/node_modules/prettier/plugins/typescript.mjs +25 -0
  803. package/template/lib/react/node_modules/prettier/plugins/yaml.d.ts +5 -0
  804. package/template/lib/react/node_modules/prettier/plugins/yaml.js +161 -0
  805. package/template/lib/react/node_modules/prettier/plugins/yaml.mjs +161 -0
  806. package/template/lib/react/node_modules/prettier/standalone.d.ts +33 -0
  807. package/template/lib/react/node_modules/prettier/standalone.js +34 -0
  808. package/template/lib/react/node_modules/prettier/standalone.mjs +34 -0
  809. package/template/lib/react/node_modules/prop-types/LICENSE +21 -0
  810. package/template/lib/react/node_modules/prop-types/README.md +302 -0
  811. package/template/lib/react/node_modules/prop-types/checkPropTypes.js +103 -0
  812. package/template/lib/react/node_modules/prop-types/factory.js +19 -0
  813. package/template/lib/react/node_modules/prop-types/factoryWithThrowingShims.js +65 -0
  814. package/template/lib/react/node_modules/prop-types/factoryWithTypeCheckers.js +610 -0
  815. package/template/lib/react/node_modules/prop-types/index.js +19 -0
  816. package/template/lib/react/node_modules/prop-types/lib/ReactPropTypesSecret.js +12 -0
  817. package/template/lib/react/node_modules/prop-types/lib/has.js +1 -0
  818. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify +17 -0
  819. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.CMD +12 -0
  820. package/template/lib/react/node_modules/prop-types/node_modules/.bin/loose-envify.ps1 +41 -0
  821. package/template/lib/react/node_modules/prop-types/package.json +60 -0
  822. package/template/lib/react/node_modules/prop-types/prop-types.js +1315 -0
  823. package/template/lib/react/node_modules/prop-types/prop-types.min.js +1 -0
  824. package/template/lib/react/node_modules/react/LICENSE +21 -0
  825. package/template/lib/react/node_modules/react/README.md +37 -0
  826. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.development.js +1296 -0
  827. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.production.min.js +10 -0
  828. package/template/lib/react/node_modules/react/cjs/react-jsx-dev-runtime.profiling.min.js +10 -0
  829. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.development.js +1314 -0
  830. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.production.min.js +11 -0
  831. package/template/lib/react/node_modules/react/cjs/react-jsx-runtime.profiling.min.js +11 -0
  832. package/template/lib/react/node_modules/react/cjs/react.development.js +2739 -0
  833. package/template/lib/react/node_modules/react/cjs/react.production.min.js +26 -0
  834. package/template/lib/react/node_modules/react/cjs/react.shared-subset.development.js +20 -0
  835. package/template/lib/react/node_modules/react/cjs/react.shared-subset.production.min.js +10 -0
  836. package/template/lib/react/node_modules/react/index.js +7 -0
  837. package/template/lib/react/node_modules/react/jsx-dev-runtime.js +7 -0
  838. package/template/lib/react/node_modules/react/jsx-runtime.js +7 -0
  839. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify +17 -0
  840. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.CMD +12 -0
  841. package/template/lib/react/node_modules/react/node_modules/.bin/loose-envify.ps1 +41 -0
  842. package/template/lib/react/node_modules/react/package.json +47 -0
  843. package/template/lib/react/node_modules/react/react.shared-subset.js +7 -0
  844. package/template/lib/react/node_modules/react/umd/react.development.js +3342 -0
  845. package/template/lib/react/node_modules/react/umd/react.production.min.js +31 -0
  846. package/template/lib/react/node_modules/react/umd/react.profiling.min.js +31 -0
  847. package/template/lib/react/node_modules/react-dom/LICENSE +21 -0
  848. package/template/lib/react/node_modules/react-dom/README.md +60 -0
  849. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +7018 -0
  850. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +93 -0
  851. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js +7078 -0
  852. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js +101 -0
  853. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.development.js +7003 -0
  854. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js +96 -0
  855. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.development.js +7059 -0
  856. package/template/lib/react/node_modules/react-dom/cjs/react-dom-server.node.production.min.js +102 -0
  857. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.development.js +1741 -0
  858. package/template/lib/react/node_modules/react-dom/cjs/react-dom-test-utils.production.min.js +40 -0
  859. package/template/lib/react/node_modules/react-dom/cjs/react-dom.development.js +29868 -0
  860. package/template/lib/react/node_modules/react-dom/cjs/react-dom.production.min.js +323 -0
  861. package/template/lib/react/node_modules/react-dom/cjs/react-dom.profiling.min.js +367 -0
  862. package/template/lib/react/node_modules/react-dom/client.js +25 -0
  863. package/template/lib/react/node_modules/react-dom/index.js +38 -0
  864. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify +17 -0
  865. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.CMD +12 -0
  866. package/template/lib/react/node_modules/react-dom/node_modules/.bin/loose-envify.ps1 +41 -0
  867. package/template/lib/react/node_modules/react-dom/package.json +62 -0
  868. package/template/lib/react/node_modules/react-dom/profiling.js +38 -0
  869. package/template/lib/react/node_modules/react-dom/server.browser.js +17 -0
  870. package/template/lib/react/node_modules/react-dom/server.js +3 -0
  871. package/template/lib/react/node_modules/react-dom/server.node.js +17 -0
  872. package/template/lib/react/node_modules/react-dom/test-utils.js +7 -0
  873. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.development.js +7015 -0
  874. package/template/lib/react/node_modules/react-dom/umd/react-dom-server-legacy.browser.production.min.js +75 -0
  875. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.development.js +7000 -0
  876. package/template/lib/react/node_modules/react-dom/umd/react-dom-server.browser.production.min.js +76 -0
  877. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.development.js +1737 -0
  878. package/template/lib/react/node_modules/react-dom/umd/react-dom-test-utils.production.min.js +33 -0
  879. package/template/lib/react/node_modules/react-dom/umd/react-dom.development.js +29869 -0
  880. package/template/lib/react/node_modules/react-dom/umd/react-dom.production.min.js +267 -0
  881. package/template/lib/react/node_modules/react-dom/umd/react-dom.profiling.min.js +285 -0
  882. package/template/lib/react/node_modules/stylelint-config-standard-scss/LICENSE +21 -0
  883. package/template/lib/react/node_modules/stylelint-config-standard-scss/README.md +50 -0
  884. package/template/lib/react/node_modules/stylelint-config-standard-scss/index.js +67 -0
  885. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +17 -0
  886. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +12 -0
  887. package/template/lib/react/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +41 -0
  888. package/template/lib/react/node_modules/stylelint-config-standard-scss/package.json +58 -0
  889. package/template/lib/ts/node_modules/.bin/acorn +17 -0
  890. package/template/lib/ts/node_modules/.bin/acorn.CMD +12 -0
  891. package/template/lib/ts/node_modules/.bin/acorn.ps1 +41 -0
  892. package/template/lib/ts/node_modules/.bin/eslint +17 -0
  893. package/template/lib/ts/node_modules/.bin/eslint.CMD +12 -0
  894. package/template/lib/ts/node_modules/.bin/eslint.ps1 +41 -0
  895. package/template/lib/ts/node_modules/.bin/prettier +17 -0
  896. package/template/lib/ts/node_modules/.bin/prettier.CMD +12 -0
  897. package/template/lib/ts/node_modules/.bin/prettier.ps1 +41 -0
  898. package/template/lib/ts/node_modules/.bin/stylelint +17 -0
  899. package/template/lib/ts/node_modules/.bin/stylelint.CMD +12 -0
  900. package/template/lib/ts/node_modules/.bin/stylelint.ps1 +41 -0
  901. package/template/lib/ts/node_modules/.bin/tsc +17 -0
  902. package/template/lib/ts/node_modules/.bin/tsc.CMD +12 -0
  903. package/template/lib/ts/node_modules/.bin/tsc.ps1 +41 -0
  904. package/template/lib/ts/node_modules/.bin/tsserver +17 -0
  905. package/template/lib/ts/node_modules/.bin/tsserver.CMD +12 -0
  906. package/template/lib/ts/node_modules/.bin/tsserver.ps1 +41 -0
  907. package/template/lib/ts/node_modules/.bin/vitest +17 -0
  908. package/template/lib/ts/node_modules/.bin/vitest.CMD +12 -0
  909. package/template/lib/ts/node_modules/.bin/vitest.ps1 +41 -0
  910. package/template/lib/ts/node_modules/eslint/LICENSE +19 -0
  911. package/template/lib/ts/node_modules/eslint/README.md +304 -0
  912. package/template/lib/ts/node_modules/eslint/bin/eslint.js +173 -0
  913. package/template/lib/ts/node_modules/eslint/conf/config-schema.js +93 -0
  914. package/template/lib/ts/node_modules/eslint/conf/default-cli-options.js +32 -0
  915. package/template/lib/ts/node_modules/eslint/conf/globals.js +154 -0
  916. package/template/lib/ts/node_modules/eslint/conf/replacements.json +22 -0
  917. package/template/lib/ts/node_modules/eslint/conf/rule-type-list.json +28 -0
  918. package/template/lib/ts/node_modules/eslint/lib/api.js +26 -0
  919. package/template/lib/ts/node_modules/eslint/lib/cli-engine/cli-engine.js +1078 -0
  920. package/template/lib/ts/node_modules/eslint/lib/cli-engine/file-enumerator.js +547 -0
  921. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/checkstyle.js +60 -0
  922. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/compact.js +60 -0
  923. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/formatters-meta.json +46 -0
  924. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/html.js +351 -0
  925. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/jslint-xml.js +41 -0
  926. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json-with-metadata.js +16 -0
  927. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/json.js +13 -0
  928. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/junit.js +82 -0
  929. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/stylish.js +101 -0
  930. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/tap.js +95 -0
  931. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/unix.js +58 -0
  932. package/template/lib/ts/node_modules/eslint/lib/cli-engine/formatters/visualstudio.js +63 -0
  933. package/template/lib/ts/node_modules/eslint/lib/cli-engine/hash.js +35 -0
  934. package/template/lib/ts/node_modules/eslint/lib/cli-engine/index.js +7 -0
  935. package/template/lib/ts/node_modules/eslint/lib/cli-engine/lint-result-cache.js +203 -0
  936. package/template/lib/ts/node_modules/eslint/lib/cli-engine/load-rules.js +46 -0
  937. package/template/lib/ts/node_modules/eslint/lib/cli-engine/xml-escape.js +34 -0
  938. package/template/lib/ts/node_modules/eslint/lib/cli.js +471 -0
  939. package/template/lib/ts/node_modules/eslint/lib/config/default-config.js +67 -0
  940. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-array.js +274 -0
  941. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-helpers.js +111 -0
  942. package/template/lib/ts/node_modules/eslint/lib/config/flat-config-schema.js +583 -0
  943. package/template/lib/ts/node_modules/eslint/lib/config/rule-validator.js +158 -0
  944. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint-helpers.js +902 -0
  945. package/template/lib/ts/node_modules/eslint/lib/eslint/eslint.js +700 -0
  946. package/template/lib/ts/node_modules/eslint/lib/eslint/flat-eslint.js +1142 -0
  947. package/template/lib/ts/node_modules/eslint/lib/eslint/index.js +9 -0
  948. package/template/lib/ts/node_modules/eslint/lib/linter/apply-disable-directives.js +465 -0
  949. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-analyzer.js +852 -0
  950. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-segment.js +263 -0
  951. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path-state.js +2348 -0
  952. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/code-path.js +342 -0
  953. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/debug-helpers.js +203 -0
  954. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/fork-context.js +349 -0
  955. package/template/lib/ts/node_modules/eslint/lib/linter/code-path-analysis/id-generator.js +45 -0
  956. package/template/lib/ts/node_modules/eslint/lib/linter/config-comment-parser.js +185 -0
  957. package/template/lib/ts/node_modules/eslint/lib/linter/index.js +13 -0
  958. package/template/lib/ts/node_modules/eslint/lib/linter/interpolate.js +28 -0
  959. package/template/lib/ts/node_modules/eslint/lib/linter/linter.js +2119 -0
  960. package/template/lib/ts/node_modules/eslint/lib/linter/node-event-generator.js +354 -0
  961. package/template/lib/ts/node_modules/eslint/lib/linter/report-translator.js +369 -0
  962. package/template/lib/ts/node_modules/eslint/lib/linter/rule-fixer.js +140 -0
  963. package/template/lib/ts/node_modules/eslint/lib/linter/rules.js +80 -0
  964. package/template/lib/ts/node_modules/eslint/lib/linter/safe-emitter.js +52 -0
  965. package/template/lib/ts/node_modules/eslint/lib/linter/source-code-fixer.js +152 -0
  966. package/template/lib/ts/node_modules/eslint/lib/linter/timing.js +161 -0
  967. package/template/lib/ts/node_modules/eslint/lib/options.js +398 -0
  968. package/template/lib/ts/node_modules/eslint/lib/rule-tester/flat-rule-tester.js +1122 -0
  969. package/template/lib/ts/node_modules/eslint/lib/rule-tester/index.js +5 -0
  970. package/template/lib/ts/node_modules/eslint/lib/rule-tester/rule-tester.js +1206 -0
  971. package/template/lib/ts/node_modules/eslint/lib/rules/accessor-pairs.js +346 -0
  972. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-newline.js +261 -0
  973. package/template/lib/ts/node_modules/eslint/lib/rules/array-bracket-spacing.js +244 -0
  974. package/template/lib/ts/node_modules/eslint/lib/rules/array-callback-return.js +446 -0
  975. package/template/lib/ts/node_modules/eslint/lib/rules/array-element-newline.js +311 -0
  976. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-body-style.js +296 -0
  977. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-parens.js +186 -0
  978. package/template/lib/ts/node_modules/eslint/lib/rules/arrow-spacing.js +164 -0
  979. package/template/lib/ts/node_modules/eslint/lib/rules/block-scoped-var.js +135 -0
  980. package/template/lib/ts/node_modules/eslint/lib/rules/block-spacing.js +174 -0
  981. package/template/lib/ts/node_modules/eslint/lib/rules/brace-style.js +197 -0
  982. package/template/lib/ts/node_modules/eslint/lib/rules/callback-return.js +187 -0
  983. package/template/lib/ts/node_modules/eslint/lib/rules/camelcase.js +399 -0
  984. package/template/lib/ts/node_modules/eslint/lib/rules/capitalized-comments.js +300 -0
  985. package/template/lib/ts/node_modules/eslint/lib/rules/class-methods-use-this.js +187 -0
  986. package/template/lib/ts/node_modules/eslint/lib/rules/comma-dangle.js +373 -0
  987. package/template/lib/ts/node_modules/eslint/lib/rules/comma-spacing.js +192 -0
  988. package/template/lib/ts/node_modules/eslint/lib/rules/comma-style.js +314 -0
  989. package/template/lib/ts/node_modules/eslint/lib/rules/complexity.js +165 -0
  990. package/template/lib/ts/node_modules/eslint/lib/rules/computed-property-spacing.js +208 -0
  991. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-return.js +210 -0
  992. package/template/lib/ts/node_modules/eslint/lib/rules/consistent-this.js +153 -0
  993. package/template/lib/ts/node_modules/eslint/lib/rules/constructor-super.js +446 -0
  994. package/template/lib/ts/node_modules/eslint/lib/rules/curly.js +486 -0
  995. package/template/lib/ts/node_modules/eslint/lib/rules/default-case-last.js +44 -0
  996. package/template/lib/ts/node_modules/eslint/lib/rules/default-case.js +97 -0
  997. package/template/lib/ts/node_modules/eslint/lib/rules/default-param-last.js +62 -0
  998. package/template/lib/ts/node_modules/eslint/lib/rules/dot-location.js +108 -0
  999. package/template/lib/ts/node_modules/eslint/lib/rules/dot-notation.js +176 -0
  1000. package/template/lib/ts/node_modules/eslint/lib/rules/eol-last.js +115 -0
  1001. package/template/lib/ts/node_modules/eslint/lib/rules/eqeqeq.js +174 -0
  1002. package/template/lib/ts/node_modules/eslint/lib/rules/for-direction.js +140 -0
  1003. package/template/lib/ts/node_modules/eslint/lib/rules/func-call-spacing.js +233 -0
  1004. package/template/lib/ts/node_modules/eslint/lib/rules/func-name-matching.js +253 -0
  1005. package/template/lib/ts/node_modules/eslint/lib/rules/func-names.js +191 -0
  1006. package/template/lib/ts/node_modules/eslint/lib/rules/func-style.js +98 -0
  1007. package/template/lib/ts/node_modules/eslint/lib/rules/function-call-argument-newline.js +125 -0
  1008. package/template/lib/ts/node_modules/eslint/lib/rules/function-paren-newline.js +292 -0
  1009. package/template/lib/ts/node_modules/eslint/lib/rules/generator-star-spacing.js +209 -0
  1010. package/template/lib/ts/node_modules/eslint/lib/rules/getter-return.js +204 -0
  1011. package/template/lib/ts/node_modules/eslint/lib/rules/global-require.js +90 -0
  1012. package/template/lib/ts/node_modules/eslint/lib/rules/grouped-accessor-pairs.js +215 -0
  1013. package/template/lib/ts/node_modules/eslint/lib/rules/guard-for-in.js +76 -0
  1014. package/template/lib/ts/node_modules/eslint/lib/rules/handle-callback-err.js +101 -0
  1015. package/template/lib/ts/node_modules/eslint/lib/rules/id-blacklist.js +246 -0
  1016. package/template/lib/ts/node_modules/eslint/lib/rules/id-denylist.js +228 -0
  1017. package/template/lib/ts/node_modules/eslint/lib/rules/id-length.js +177 -0
  1018. package/template/lib/ts/node_modules/eslint/lib/rules/id-match.js +299 -0
  1019. package/template/lib/ts/node_modules/eslint/lib/rules/implicit-arrow-linebreak.js +84 -0
  1020. package/template/lib/ts/node_modules/eslint/lib/rules/indent-legacy.js +1126 -0
  1021. package/template/lib/ts/node_modules/eslint/lib/rules/indent.js +1803 -0
  1022. package/template/lib/ts/node_modules/eslint/lib/rules/index.js +306 -0
  1023. package/template/lib/ts/node_modules/eslint/lib/rules/init-declarations.js +139 -0
  1024. package/template/lib/ts/node_modules/eslint/lib/rules/jsx-quotes.js +98 -0
  1025. package/template/lib/ts/node_modules/eslint/lib/rules/key-spacing.js +687 -0
  1026. package/template/lib/ts/node_modules/eslint/lib/rules/keyword-spacing.js +640 -0
  1027. package/template/lib/ts/node_modules/eslint/lib/rules/line-comment-position.js +122 -0
  1028. package/template/lib/ts/node_modules/eslint/lib/rules/linebreak-style.js +108 -0
  1029. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-comment.js +471 -0
  1030. package/template/lib/ts/node_modules/eslint/lib/rules/lines-around-directive.js +201 -0
  1031. package/template/lib/ts/node_modules/eslint/lib/rules/lines-between-class-members.js +269 -0
  1032. package/template/lib/ts/node_modules/eslint/lib/rules/logical-assignment-operators.js +504 -0
  1033. package/template/lib/ts/node_modules/eslint/lib/rules/max-classes-per-file.js +89 -0
  1034. package/template/lib/ts/node_modules/eslint/lib/rules/max-depth.js +156 -0
  1035. package/template/lib/ts/node_modules/eslint/lib/rules/max-len.js +440 -0
  1036. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines-per-function.js +213 -0
  1037. package/template/lib/ts/node_modules/eslint/lib/rules/max-lines.js +193 -0
  1038. package/template/lib/ts/node_modules/eslint/lib/rules/max-nested-callbacks.js +117 -0
  1039. package/template/lib/ts/node_modules/eslint/lib/rules/max-params.js +102 -0
  1040. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements-per-line.js +199 -0
  1041. package/template/lib/ts/node_modules/eslint/lib/rules/max-statements.js +184 -0
  1042. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-comment-style.js +474 -0
  1043. package/template/lib/ts/node_modules/eslint/lib/rules/multiline-ternary.js +174 -0
  1044. package/template/lib/ts/node_modules/eslint/lib/rules/new-cap.js +276 -0
  1045. package/template/lib/ts/node_modules/eslint/lib/rules/new-parens.js +93 -0
  1046. package/template/lib/ts/node_modules/eslint/lib/rules/newline-after-var.js +253 -0
  1047. package/template/lib/ts/node_modules/eslint/lib/rules/newline-before-return.js +217 -0
  1048. package/template/lib/ts/node_modules/eslint/lib/rules/newline-per-chained-call.js +126 -0
  1049. package/template/lib/ts/node_modules/eslint/lib/rules/no-alert.js +138 -0
  1050. package/template/lib/ts/node_modules/eslint/lib/rules/no-array-constructor.js +133 -0
  1051. package/template/lib/ts/node_modules/eslint/lib/rules/no-async-promise-executor.js +39 -0
  1052. package/template/lib/ts/node_modules/eslint/lib/rules/no-await-in-loop.js +106 -0
  1053. package/template/lib/ts/node_modules/eslint/lib/rules/no-bitwise.js +119 -0
  1054. package/template/lib/ts/node_modules/eslint/lib/rules/no-buffer-constructor.js +50 -0
  1055. package/template/lib/ts/node_modules/eslint/lib/rules/no-caller.js +46 -0
  1056. package/template/lib/ts/node_modules/eslint/lib/rules/no-case-declarations.js +64 -0
  1057. package/template/lib/ts/node_modules/eslint/lib/rules/no-catch-shadow.js +82 -0
  1058. package/template/lib/ts/node_modules/eslint/lib/rules/no-class-assign.js +63 -0
  1059. package/template/lib/ts/node_modules/eslint/lib/rules/no-compare-neg-zero.js +60 -0
  1060. package/template/lib/ts/node_modules/eslint/lib/rules/no-cond-assign.js +159 -0
  1061. package/template/lib/ts/node_modules/eslint/lib/rules/no-confusing-arrow.js +92 -0
  1062. package/template/lib/ts/node_modules/eslint/lib/rules/no-console.js +207 -0
  1063. package/template/lib/ts/node_modules/eslint/lib/rules/no-const-assign.js +56 -0
  1064. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-binary-expression.js +509 -0
  1065. package/template/lib/ts/node_modules/eslint/lib/rules/no-constant-condition.js +150 -0
  1066. package/template/lib/ts/node_modules/eslint/lib/rules/no-constructor-return.js +62 -0
  1067. package/template/lib/ts/node_modules/eslint/lib/rules/no-continue.js +39 -0
  1068. package/template/lib/ts/node_modules/eslint/lib/rules/no-control-regex.js +138 -0
  1069. package/template/lib/ts/node_modules/eslint/lib/rules/no-debugger.js +43 -0
  1070. package/template/lib/ts/node_modules/eslint/lib/rules/no-delete-var.js +42 -0
  1071. package/template/lib/ts/node_modules/eslint/lib/rules/no-div-regex.js +53 -0
  1072. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-args.js +82 -0
  1073. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-class-members.js +104 -0
  1074. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-else-if.js +122 -0
  1075. package/template/lib/ts/node_modules/eslint/lib/rules/no-dupe-keys.js +142 -0
  1076. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-case.js +71 -0
  1077. package/template/lib/ts/node_modules/eslint/lib/rules/no-duplicate-imports.js +290 -0
  1078. package/template/lib/ts/node_modules/eslint/lib/rules/no-else-return.js +405 -0
  1079. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-character-class.js +76 -0
  1080. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-function.js +167 -0
  1081. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-pattern.js +78 -0
  1082. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty-static-block.js +47 -0
  1083. package/template/lib/ts/node_modules/eslint/lib/rules/no-empty.js +103 -0
  1084. package/template/lib/ts/node_modules/eslint/lib/rules/no-eq-null.js +46 -0
  1085. package/template/lib/ts/node_modules/eslint/lib/rules/no-eval.js +286 -0
  1086. package/template/lib/ts/node_modules/eslint/lib/rules/no-ex-assign.js +54 -0
  1087. package/template/lib/ts/node_modules/eslint/lib/rules/no-extend-native.js +179 -0
  1088. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-bind.js +213 -0
  1089. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-boolean-cast.js +317 -0
  1090. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-label.js +149 -0
  1091. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-parens.js +1322 -0
  1092. package/template/lib/ts/node_modules/eslint/lib/rules/no-extra-semi.js +147 -0
  1093. package/template/lib/ts/node_modules/eslint/lib/rules/no-fallthrough.js +196 -0
  1094. package/template/lib/ts/node_modules/eslint/lib/rules/no-floating-decimal.js +73 -0
  1095. package/template/lib/ts/node_modules/eslint/lib/rules/no-func-assign.js +78 -0
  1096. package/template/lib/ts/node_modules/eslint/lib/rules/no-global-assign.js +95 -0
  1097. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-coercion.js +380 -0
  1098. package/template/lib/ts/node_modules/eslint/lib/rules/no-implicit-globals.js +146 -0
  1099. package/template/lib/ts/node_modules/eslint/lib/rules/no-implied-eval.js +132 -0
  1100. package/template/lib/ts/node_modules/eslint/lib/rules/no-import-assign.js +241 -0
  1101. package/template/lib/ts/node_modules/eslint/lib/rules/no-inline-comments.js +110 -0
  1102. package/template/lib/ts/node_modules/eslint/lib/rules/no-inner-declarations.js +110 -0
  1103. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-regexp.js +194 -0
  1104. package/template/lib/ts/node_modules/eslint/lib/rules/no-invalid-this.js +150 -0
  1105. package/template/lib/ts/node_modules/eslint/lib/rules/no-irregular-whitespace.js +276 -0
  1106. package/template/lib/ts/node_modules/eslint/lib/rules/no-iterator.js +52 -0
  1107. package/template/lib/ts/node_modules/eslint/lib/rules/no-label-var.js +80 -0
  1108. package/template/lib/ts/node_modules/eslint/lib/rules/no-labels.js +149 -0
  1109. package/template/lib/ts/node_modules/eslint/lib/rules/no-lone-blocks.js +136 -0
  1110. package/template/lib/ts/node_modules/eslint/lib/rules/no-lonely-if.js +88 -0
  1111. package/template/lib/ts/node_modules/eslint/lib/rules/no-loop-func.js +206 -0
  1112. package/template/lib/ts/node_modules/eslint/lib/rules/no-loss-of-precision.js +214 -0
  1113. package/template/lib/ts/node_modules/eslint/lib/rules/no-magic-numbers.js +243 -0
  1114. package/template/lib/ts/node_modules/eslint/lib/rules/no-misleading-character-class.js +300 -0
  1115. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-operators.js +229 -0
  1116. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-requires.js +238 -0
  1117. package/template/lib/ts/node_modules/eslint/lib/rules/no-mixed-spaces-and-tabs.js +116 -0
  1118. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-assign.js +67 -0
  1119. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-spaces.js +141 -0
  1120. package/template/lib/ts/node_modules/eslint/lib/rules/no-multi-str.js +65 -0
  1121. package/template/lib/ts/node_modules/eslint/lib/rules/no-multiple-empty-lines.js +154 -0
  1122. package/template/lib/ts/node_modules/eslint/lib/rules/no-native-reassign.js +98 -0
  1123. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-condition.js +95 -0
  1124. package/template/lib/ts/node_modules/eslint/lib/rules/no-negated-in-lhs.js +46 -0
  1125. package/template/lib/ts/node_modules/eslint/lib/rules/no-nested-ternary.js +44 -0
  1126. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-func.js +87 -0
  1127. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-native-nonconstructor.js +66 -0
  1128. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-object.js +67 -0
  1129. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-require.js +50 -0
  1130. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-symbol.js +56 -0
  1131. package/template/lib/ts/node_modules/eslint/lib/rules/no-new-wrappers.js +60 -0
  1132. package/template/lib/ts/node_modules/eslint/lib/rules/no-new.js +43 -0
  1133. package/template/lib/ts/node_modules/eslint/lib/rules/no-nonoctal-decimal-escape.js +148 -0
  1134. package/template/lib/ts/node_modules/eslint/lib/rules/no-obj-calls.js +86 -0
  1135. package/template/lib/ts/node_modules/eslint/lib/rules/no-object-constructor.js +117 -0
  1136. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal-escape.js +56 -0
  1137. package/template/lib/ts/node_modules/eslint/lib/rules/no-octal.js +45 -0
  1138. package/template/lib/ts/node_modules/eslint/lib/rules/no-param-reassign.js +230 -0
  1139. package/template/lib/ts/node_modules/eslint/lib/rules/no-path-concat.js +64 -0
  1140. package/template/lib/ts/node_modules/eslint/lib/rules/no-plusplus.js +105 -0
  1141. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-env.js +51 -0
  1142. package/template/lib/ts/node_modules/eslint/lib/rules/no-process-exit.js +47 -0
  1143. package/template/lib/ts/node_modules/eslint/lib/rules/no-promise-executor-return.js +263 -0
  1144. package/template/lib/ts/node_modules/eslint/lib/rules/no-proto.js +48 -0
  1145. package/template/lib/ts/node_modules/eslint/lib/rules/no-prototype-builtins.js +159 -0
  1146. package/template/lib/ts/node_modules/eslint/lib/rules/no-redeclare.js +174 -0
  1147. package/template/lib/ts/node_modules/eslint/lib/rules/no-regex-spaces.js +197 -0
  1148. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-exports.js +193 -0
  1149. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-globals.js +124 -0
  1150. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-imports.js +410 -0
  1151. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-modules.js +213 -0
  1152. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-properties.js +168 -0
  1153. package/template/lib/ts/node_modules/eslint/lib/rules/no-restricted-syntax.js +70 -0
  1154. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-assign.js +80 -0
  1155. package/template/lib/ts/node_modules/eslint/lib/rules/no-return-await.js +135 -0
  1156. package/template/lib/ts/node_modules/eslint/lib/rules/no-script-url.js +61 -0
  1157. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-assign.js +183 -0
  1158. package/template/lib/ts/node_modules/eslint/lib/rules/no-self-compare.js +60 -0
  1159. package/template/lib/ts/node_modules/eslint/lib/rules/no-sequences.js +138 -0
  1160. package/template/lib/ts/node_modules/eslint/lib/rules/no-setter-return.js +226 -0
  1161. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow-restricted-names.js +65 -0
  1162. package/template/lib/ts/node_modules/eslint/lib/rules/no-shadow.js +336 -0
  1163. package/template/lib/ts/node_modules/eslint/lib/rules/no-spaced-func.js +83 -0
  1164. package/template/lib/ts/node_modules/eslint/lib/rules/no-sparse-arrays.js +50 -0
  1165. package/template/lib/ts/node_modules/eslint/lib/rules/no-sync.js +64 -0
  1166. package/template/lib/ts/node_modules/eslint/lib/rules/no-tabs.js +81 -0
  1167. package/template/lib/ts/node_modules/eslint/lib/rules/no-template-curly-in-string.js +44 -0
  1168. package/template/lib/ts/node_modules/eslint/lib/rules/no-ternary.js +41 -0
  1169. package/template/lib/ts/node_modules/eslint/lib/rules/no-this-before-super.js +331 -0
  1170. package/template/lib/ts/node_modules/eslint/lib/rules/no-throw-literal.js +51 -0
  1171. package/template/lib/ts/node_modules/eslint/lib/rules/no-trailing-spaces.js +193 -0
  1172. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef-init.js +75 -0
  1173. package/template/lib/ts/node_modules/eslint/lib/rules/no-undef.js +79 -0
  1174. package/template/lib/ts/node_modules/eslint/lib/rules/no-undefined.js +86 -0
  1175. package/template/lib/ts/node_modules/eslint/lib/rules/no-underscore-dangle.js +335 -0
  1176. package/template/lib/ts/node_modules/eslint/lib/rules/no-unexpected-multiline.js +120 -0
  1177. package/template/lib/ts/node_modules/eslint/lib/rules/no-unmodified-loop-condition.js +360 -0
  1178. package/template/lib/ts/node_modules/eslint/lib/rules/no-unneeded-ternary.js +166 -0
  1179. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable-loop.js +185 -0
  1180. package/template/lib/ts/node_modules/eslint/lib/rules/no-unreachable.js +293 -0
  1181. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-finally.js +111 -0
  1182. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-negation.js +128 -0
  1183. package/template/lib/ts/node_modules/eslint/lib/rules/no-unsafe-optional-chaining.js +205 -0
  1184. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-expressions.js +186 -0
  1185. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-labels.js +143 -0
  1186. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-private-class-members.js +195 -0
  1187. package/template/lib/ts/node_modules/eslint/lib/rules/no-unused-vars.js +718 -0
  1188. package/template/lib/ts/node_modules/eslint/lib/rules/no-use-before-define.js +348 -0
  1189. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-backreference.js +194 -0
  1190. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-call.js +90 -0
  1191. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-catch.js +57 -0
  1192. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-computed-key.js +168 -0
  1193. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-concat.js +115 -0
  1194. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-constructor.js +189 -0
  1195. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-escape.js +333 -0
  1196. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-rename.js +172 -0
  1197. package/template/lib/ts/node_modules/eslint/lib/rules/no-useless-return.js +364 -0
  1198. package/template/lib/ts/node_modules/eslint/lib/rules/no-var.js +334 -0
  1199. package/template/lib/ts/node_modules/eslint/lib/rules/no-void.js +64 -0
  1200. package/template/lib/ts/node_modules/eslint/lib/rules/no-warning-comments.js +201 -0
  1201. package/template/lib/ts/node_modules/eslint/lib/rules/no-whitespace-before-property.js +116 -0
  1202. package/template/lib/ts/node_modules/eslint/lib/rules/no-with.js +39 -0
  1203. package/template/lib/ts/node_modules/eslint/lib/rules/nonblock-statement-body-position.js +127 -0
  1204. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-newline.js +324 -0
  1205. package/template/lib/ts/node_modules/eslint/lib/rules/object-curly-spacing.js +311 -0
  1206. package/template/lib/ts/node_modules/eslint/lib/rules/object-property-newline.js +102 -0
  1207. package/template/lib/ts/node_modules/eslint/lib/rules/object-shorthand.js +520 -0
  1208. package/template/lib/ts/node_modules/eslint/lib/rules/one-var-declaration-per-line.js +95 -0
  1209. package/template/lib/ts/node_modules/eslint/lib/rules/one-var.js +567 -0
  1210. package/template/lib/ts/node_modules/eslint/lib/rules/operator-assignment.js +209 -0
  1211. package/template/lib/ts/node_modules/eslint/lib/rules/operator-linebreak.js +253 -0
  1212. package/template/lib/ts/node_modules/eslint/lib/rules/padded-blocks.js +310 -0
  1213. package/template/lib/ts/node_modules/eslint/lib/rules/padding-line-between-statements.js +590 -0
  1214. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-arrow-callback.js +381 -0
  1215. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-const.js +501 -0
  1216. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-destructuring.js +301 -0
  1217. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-exponentiation-operator.js +191 -0
  1218. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-named-capture-group.js +178 -0
  1219. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-numeric-literals.js +148 -0
  1220. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-has-own.js +114 -0
  1221. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-object-spread.js +298 -0
  1222. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-promise-reject-errors.js +132 -0
  1223. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-reflect.js +127 -0
  1224. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-regex-literals.js +507 -0
  1225. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-rest-params.js +118 -0
  1226. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-spread.js +87 -0
  1227. package/template/lib/ts/node_modules/eslint/lib/rules/prefer-template.js +275 -0
  1228. package/template/lib/ts/node_modules/eslint/lib/rules/quote-props.js +310 -0
  1229. package/template/lib/ts/node_modules/eslint/lib/rules/quotes.js +350 -0
  1230. package/template/lib/ts/node_modules/eslint/lib/rules/radix.js +198 -0
  1231. package/template/lib/ts/node_modules/eslint/lib/rules/require-atomic-updates.js +331 -0
  1232. package/template/lib/ts/node_modules/eslint/lib/rules/require-await.js +113 -0
  1233. package/template/lib/ts/node_modules/eslint/lib/rules/require-jsdoc.js +122 -0
  1234. package/template/lib/ts/node_modules/eslint/lib/rules/require-unicode-regexp.js +129 -0
  1235. package/template/lib/ts/node_modules/eslint/lib/rules/require-yield.js +77 -0
  1236. package/template/lib/ts/node_modules/eslint/lib/rules/rest-spread-spacing.js +123 -0
  1237. package/template/lib/ts/node_modules/eslint/lib/rules/semi-spacing.js +248 -0
  1238. package/template/lib/ts/node_modules/eslint/lib/rules/semi-style.js +158 -0
  1239. package/template/lib/ts/node_modules/eslint/lib/rules/semi.js +438 -0
  1240. package/template/lib/ts/node_modules/eslint/lib/rules/sort-imports.js +241 -0
  1241. package/template/lib/ts/node_modules/eslint/lib/rules/sort-keys.js +230 -0
  1242. package/template/lib/ts/node_modules/eslint/lib/rules/sort-vars.js +104 -0
  1243. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-blocks.js +204 -0
  1244. package/template/lib/ts/node_modules/eslint/lib/rules/space-before-function-paren.js +167 -0
  1245. package/template/lib/ts/node_modules/eslint/lib/rules/space-in-parens.js +285 -0
  1246. package/template/lib/ts/node_modules/eslint/lib/rules/space-infix-ops.js +198 -0
  1247. package/template/lib/ts/node_modules/eslint/lib/rules/space-unary-ops.js +324 -0
  1248. package/template/lib/ts/node_modules/eslint/lib/rules/spaced-comment.js +385 -0
  1249. package/template/lib/ts/node_modules/eslint/lib/rules/strict.js +277 -0
  1250. package/template/lib/ts/node_modules/eslint/lib/rules/switch-colon-spacing.js +132 -0
  1251. package/template/lib/ts/node_modules/eslint/lib/rules/symbol-description.js +73 -0
  1252. package/template/lib/ts/node_modules/eslint/lib/rules/template-curly-spacing.js +144 -0
  1253. package/template/lib/ts/node_modules/eslint/lib/rules/template-tag-spacing.js +93 -0
  1254. package/template/lib/ts/node_modules/eslint/lib/rules/unicode-bom.js +73 -0
  1255. package/template/lib/ts/node_modules/eslint/lib/rules/use-isnan.js +141 -0
  1256. package/template/lib/ts/node_modules/eslint/lib/rules/utils/ast-utils.js +2282 -0
  1257. package/template/lib/ts/node_modules/eslint/lib/rules/utils/fix-tracker.js +114 -0
  1258. package/template/lib/ts/node_modules/eslint/lib/rules/utils/keywords.js +67 -0
  1259. package/template/lib/ts/node_modules/eslint/lib/rules/utils/lazy-loading-rule-map.js +115 -0
  1260. package/template/lib/ts/node_modules/eslint/lib/rules/utils/patterns/letters.js +36 -0
  1261. package/template/lib/ts/node_modules/eslint/lib/rules/utils/regular-expressions.js +42 -0
  1262. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/index.js +11 -0
  1263. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-combining-character.js +13 -0
  1264. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-emoji-modifier.js +13 -0
  1265. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-regional-indicator-symbol.js +13 -0
  1266. package/template/lib/ts/node_modules/eslint/lib/rules/utils/unicode/is-surrogate-pair.js +14 -0
  1267. package/template/lib/ts/node_modules/eslint/lib/rules/valid-jsdoc.js +516 -0
  1268. package/template/lib/ts/node_modules/eslint/lib/rules/valid-typeof.js +127 -0
  1269. package/template/lib/ts/node_modules/eslint/lib/rules/vars-on-top.js +157 -0
  1270. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-iife.js +207 -0
  1271. package/template/lib/ts/node_modules/eslint/lib/rules/wrap-regex.js +61 -0
  1272. package/template/lib/ts/node_modules/eslint/lib/rules/yield-star-spacing.js +130 -0
  1273. package/template/lib/ts/node_modules/eslint/lib/rules/yoda.js +353 -0
  1274. package/template/lib/ts/node_modules/eslint/lib/shared/ajv.js +34 -0
  1275. package/template/lib/ts/node_modules/eslint/lib/shared/ast-utils.js +29 -0
  1276. package/template/lib/ts/node_modules/eslint/lib/shared/config-validator.js +347 -0
  1277. package/template/lib/ts/node_modules/eslint/lib/shared/deprecation-warnings.js +58 -0
  1278. package/template/lib/ts/node_modules/eslint/lib/shared/directives.js +15 -0
  1279. package/template/lib/ts/node_modules/eslint/lib/shared/logging.js +30 -0
  1280. package/template/lib/ts/node_modules/eslint/lib/shared/relative-module-resolver.js +50 -0
  1281. package/template/lib/ts/node_modules/eslint/lib/shared/runtime-info.js +167 -0
  1282. package/template/lib/ts/node_modules/eslint/lib/shared/severity.js +49 -0
  1283. package/template/lib/ts/node_modules/eslint/lib/shared/string-utils.js +60 -0
  1284. package/template/lib/ts/node_modules/eslint/lib/shared/traverser.js +195 -0
  1285. package/template/lib/ts/node_modules/eslint/lib/shared/types.js +216 -0
  1286. package/template/lib/ts/node_modules/eslint/lib/source-code/index.js +5 -0
  1287. package/template/lib/ts/node_modules/eslint/lib/source-code/source-code.js +1055 -0
  1288. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-comment-cursor.js +57 -0
  1289. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/backward-token-cursor.js +58 -0
  1290. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursor.js +76 -0
  1291. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/cursors.js +90 -0
  1292. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/decorative-cursor.js +39 -0
  1293. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/filter-cursor.js +43 -0
  1294. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-comment-cursor.js +57 -0
  1295. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/forward-token-cursor.js +63 -0
  1296. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/index.js +627 -0
  1297. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/limit-cursor.js +40 -0
  1298. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/padded-token-cursor.js +38 -0
  1299. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/skip-cursor.js +42 -0
  1300. package/template/lib/ts/node_modules/eslint/lib/source-code/token-store/utils.js +107 -0
  1301. package/template/lib/ts/node_modules/eslint/lib/unsupported-api.js +30 -0
  1302. package/template/lib/ts/node_modules/eslint/messages/all-files-ignored.js +16 -0
  1303. package/template/lib/ts/node_modules/eslint/messages/eslintrc-incompat.js +98 -0
  1304. package/template/lib/ts/node_modules/eslint/messages/eslintrc-plugins.js +24 -0
  1305. package/template/lib/ts/node_modules/eslint/messages/extend-config-missing.js +13 -0
  1306. package/template/lib/ts/node_modules/eslint/messages/failed-to-read-json.js +11 -0
  1307. package/template/lib/ts/node_modules/eslint/messages/file-not-found.js +10 -0
  1308. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-options.js +17 -0
  1309. package/template/lib/ts/node_modules/eslint/messages/invalid-rule-severity.js +13 -0
  1310. package/template/lib/ts/node_modules/eslint/messages/no-config-found.js +15 -0
  1311. package/template/lib/ts/node_modules/eslint/messages/plugin-conflict.js +22 -0
  1312. package/template/lib/ts/node_modules/eslint/messages/plugin-invalid.js +16 -0
  1313. package/template/lib/ts/node_modules/eslint/messages/plugin-missing.js +19 -0
  1314. package/template/lib/ts/node_modules/eslint/messages/print-config-with-directory-path.js +8 -0
  1315. package/template/lib/ts/node_modules/eslint/messages/shared.js +18 -0
  1316. package/template/lib/ts/node_modules/eslint/messages/whitespace-found.js +11 -0
  1317. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint +17 -0
  1318. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.CMD +12 -0
  1319. package/template/lib/ts/node_modules/eslint/node_modules/.bin/eslint.ps1 +41 -0
  1320. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml +17 -0
  1321. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.CMD +12 -0
  1322. package/template/lib/ts/node_modules/eslint/node_modules/.bin/js-yaml.ps1 +41 -0
  1323. package/template/lib/ts/node_modules/eslint/package.json +179 -0
  1324. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/LICENSE +5 -0
  1325. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/README.md +232 -0
  1326. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.cjs +278 -0
  1327. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.d.ts +20 -0
  1328. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.es2020.mjs +251 -0
  1329. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js +252 -0
  1330. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/lib/index.js.map +1 -0
  1331. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint +17 -0
  1332. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.CMD +12 -0
  1333. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/node_modules/.bin/eslint.ps1 +41 -0
  1334. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/package.json +108 -0
  1335. package/template/lib/ts/node_modules/eslint-import-resolver-typescript/shim.d.ts +4 -0
  1336. package/template/lib/ts/node_modules/eslint-plugin-import/CHANGELOG.md +1925 -0
  1337. package/template/lib/ts/node_modules/eslint-plugin-import/CONTRIBUTING.md +84 -0
  1338. package/template/lib/ts/node_modules/eslint-plugin-import/LICENSE +22 -0
  1339. package/template/lib/ts/node_modules/eslint-plugin-import/README.md +500 -0
  1340. package/template/lib/ts/node_modules/eslint-plugin-import/RELEASE.md +54 -0
  1341. package/template/lib/ts/node_modules/eslint-plugin-import/SECURITY.md +11 -0
  1342. package/template/lib/ts/node_modules/eslint-plugin-import/config/electron.js +8 -0
  1343. package/template/lib/ts/node_modules/eslint-plugin-import/config/errors.js +14 -0
  1344. package/template/lib/ts/node_modules/eslint-plugin-import/config/react-native.js +13 -0
  1345. package/template/lib/ts/node_modules/eslint-plugin-import/config/react.js +18 -0
  1346. package/template/lib/ts/node_modules/eslint-plugin-import/config/recommended.js +28 -0
  1347. package/template/lib/ts/node_modules/eslint-plugin-import/config/stage-0.js +12 -0
  1348. package/template/lib/ts/node_modules/eslint-plugin-import/config/typescript.js +34 -0
  1349. package/template/lib/ts/node_modules/eslint-plugin-import/config/warnings.js +12 -0
  1350. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +91 -0
  1351. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/default.md +72 -0
  1352. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +92 -0
  1353. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/export.md +37 -0
  1354. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/exports-last.md +51 -0
  1355. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/extensions.md +174 -0
  1356. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/first.md +75 -0
  1357. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/group-exports.md +118 -0
  1358. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/imports-first.md +9 -0
  1359. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +70 -0
  1360. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/named.md +102 -0
  1361. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/namespace.md +106 -0
  1362. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +167 -0
  1363. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +54 -0
  1364. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-amd.md +37 -0
  1365. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +83 -0
  1366. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +96 -0
  1367. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +111 -0
  1368. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +65 -0
  1369. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +62 -0
  1370. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +109 -0
  1371. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +25 -0
  1372. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +49 -0
  1373. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +139 -0
  1374. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +81 -0
  1375. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +136 -0
  1376. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +54 -0
  1377. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +52 -0
  1378. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +53 -0
  1379. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +36 -0
  1380. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +79 -0
  1381. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +44 -0
  1382. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +42 -0
  1383. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +70 -0
  1384. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +123 -0
  1385. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +198 -0
  1386. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +32 -0
  1387. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +60 -0
  1388. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +110 -0
  1389. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +125 -0
  1390. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +85 -0
  1391. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +39 -0
  1392. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/order.md +365 -0
  1393. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +185 -0
  1394. package/template/lib/ts/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +57 -0
  1395. package/template/lib/ts/node_modules/eslint-plugin-import/lib/ExportMap.js +856 -0
  1396. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/importType.js +129 -0
  1397. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/packagePath.js +22 -0
  1398. package/template/lib/ts/node_modules/eslint-plugin-import/lib/core/staticRequire.js +11 -0
  1399. package/template/lib/ts/node_modules/eslint-plugin-import/lib/docsUrl.js +8 -0
  1400. package/template/lib/ts/node_modules/eslint-plugin-import/lib/importDeclaration.js +5 -0
  1401. package/template/lib/ts/node_modules/eslint-plugin-import/lib/index.js +71 -0
  1402. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +221 -0
  1403. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/default.js +40 -0
  1404. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +120 -0
  1405. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/export.js +250 -0
  1406. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/exports-last.js +40 -0
  1407. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/extensions.js +193 -0
  1408. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/first.js +144 -0
  1409. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/group-exports.js +155 -0
  1410. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/imports-first.js +16 -0
  1411. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +60 -0
  1412. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/named.js +143 -0
  1413. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/namespace.js +218 -0
  1414. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +237 -0
  1415. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +40 -0
  1416. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-amd.js +47 -0
  1417. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +103 -0
  1418. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +141 -0
  1419. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +158 -0
  1420. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +43 -0
  1421. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +138 -0
  1422. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +354 -0
  1423. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +77 -0
  1424. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +105 -0
  1425. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +301 -0
  1426. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +85 -0
  1427. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +144 -0
  1428. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +59 -0
  1429. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +96 -0
  1430. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +45 -0
  1431. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +31 -0
  1432. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +39 -0
  1433. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +175 -0
  1434. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +44 -0
  1435. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +71 -0
  1436. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +48 -0
  1437. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +245 -0
  1438. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +39 -0
  1439. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +79 -0
  1440. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +60 -0
  1441. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +945 -0
  1442. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +147 -0
  1443. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +26 -0
  1444. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/order.js +785 -0
  1445. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +116 -0
  1446. package/template/lib/ts/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +38 -0
  1447. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/LICENSE +22 -0
  1448. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/README.md +21 -0
  1449. package/template/lib/ts/node_modules/eslint-plugin-import/memo-parser/index.js +41 -0
  1450. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint +17 -0
  1451. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.CMD +12 -0
  1452. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/eslint.ps1 +41 -0
  1453. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver +17 -0
  1454. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.CMD +12 -0
  1455. package/template/lib/ts/node_modules/eslint-plugin-import/node_modules/.bin/semver.ps1 +41 -0
  1456. package/template/lib/ts/node_modules/eslint-plugin-import/package.json +124 -0
  1457. package/template/lib/ts/node_modules/eslint-plugin-prettier/LICENSE.md +24 -0
  1458. package/template/lib/ts/node_modules/eslint-plugin-prettier/README.md +202 -0
  1459. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.d.ts +5 -0
  1460. package/template/lib/ts/node_modules/eslint-plugin-prettier/eslint-plugin-prettier.js +254 -0
  1461. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint +17 -0
  1462. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier +17 -0
  1463. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.CMD +12 -0
  1464. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint-config-prettier.ps1 +41 -0
  1465. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.CMD +12 -0
  1466. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/eslint.ps1 +41 -0
  1467. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier +17 -0
  1468. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.CMD +12 -0
  1469. package/template/lib/ts/node_modules/eslint-plugin-prettier/node_modules/.bin/prettier.ps1 +41 -0
  1470. package/template/lib/ts/node_modules/eslint-plugin-prettier/package.json +101 -0
  1471. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.d.ts +5 -0
  1472. package/template/lib/ts/node_modules/eslint-plugin-prettier/recommended.js +17 -0
  1473. package/template/lib/ts/node_modules/eslint-plugin-prettier/worker.js +181 -0
  1474. package/template/lib/ts/node_modules/prettier/LICENSE +4857 -0
  1475. package/template/lib/ts/node_modules/prettier/README.md +109 -0
  1476. package/template/lib/ts/node_modules/prettier/bin/prettier.cjs +68 -0
  1477. package/template/lib/ts/node_modules/prettier/doc.d.ts +243 -0
  1478. package/template/lib/ts/node_modules/prettier/doc.js +1328 -0
  1479. package/template/lib/ts/node_modules/prettier/doc.mjs +1300 -0
  1480. package/template/lib/ts/node_modules/prettier/index.cjs +648 -0
  1481. package/template/lib/ts/node_modules/prettier/index.d.ts +940 -0
  1482. package/template/lib/ts/node_modules/prettier/index.mjs +24255 -0
  1483. package/template/lib/ts/node_modules/prettier/internal/cli.mjs +7089 -0
  1484. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier +17 -0
  1485. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.CMD +12 -0
  1486. package/template/lib/ts/node_modules/prettier/node_modules/.bin/prettier.ps1 +41 -0
  1487. package/template/lib/ts/node_modules/prettier/package.json +198 -0
  1488. package/template/lib/ts/node_modules/prettier/plugins/acorn.d.ts +6 -0
  1489. package/template/lib/ts/node_modules/prettier/plugins/acorn.js +13 -0
  1490. package/template/lib/ts/node_modules/prettier/plugins/acorn.mjs +13 -0
  1491. package/template/lib/ts/node_modules/prettier/plugins/angular.d.ts +8 -0
  1492. package/template/lib/ts/node_modules/prettier/plugins/angular.js +1 -0
  1493. package/template/lib/ts/node_modules/prettier/plugins/angular.mjs +1 -0
  1494. package/template/lib/ts/node_modules/prettier/plugins/babel.d.ts +18 -0
  1495. package/template/lib/ts/node_modules/prettier/plugins/babel.js +16 -0
  1496. package/template/lib/ts/node_modules/prettier/plugins/babel.mjs +16 -0
  1497. package/template/lib/ts/node_modules/prettier/plugins/estree.d.ts +1 -0
  1498. package/template/lib/ts/node_modules/prettier/plugins/estree.js +36 -0
  1499. package/template/lib/ts/node_modules/prettier/plugins/estree.mjs +36 -0
  1500. package/template/lib/ts/node_modules/prettier/plugins/flow.d.ts +5 -0
  1501. package/template/lib/ts/node_modules/prettier/plugins/flow.js +21 -0
  1502. package/template/lib/ts/node_modules/prettier/plugins/flow.mjs +21 -0
  1503. package/template/lib/ts/node_modules/prettier/plugins/glimmer.d.ts +5 -0
  1504. package/template/lib/ts/node_modules/prettier/plugins/glimmer.js +30 -0
  1505. package/template/lib/ts/node_modules/prettier/plugins/glimmer.mjs +30 -0
  1506. package/template/lib/ts/node_modules/prettier/plugins/graphql.d.ts +5 -0
  1507. package/template/lib/ts/node_modules/prettier/plugins/graphql.js +29 -0
  1508. package/template/lib/ts/node_modules/prettier/plugins/graphql.mjs +29 -0
  1509. package/template/lib/ts/node_modules/prettier/plugins/html.d.ts +8 -0
  1510. package/template/lib/ts/node_modules/prettier/plugins/html.js +19 -0
  1511. package/template/lib/ts/node_modules/prettier/plugins/html.mjs +19 -0
  1512. package/template/lib/ts/node_modules/prettier/plugins/markdown.d.ts +7 -0
  1513. package/template/lib/ts/node_modules/prettier/plugins/markdown.js +59 -0
  1514. package/template/lib/ts/node_modules/prettier/plugins/markdown.mjs +59 -0
  1515. package/template/lib/ts/node_modules/prettier/plugins/meriyah.d.ts +5 -0
  1516. package/template/lib/ts/node_modules/prettier/plugins/meriyah.js +5 -0
  1517. package/template/lib/ts/node_modules/prettier/plugins/meriyah.mjs +5 -0
  1518. package/template/lib/ts/node_modules/prettier/plugins/postcss.d.ts +7 -0
  1519. package/template/lib/ts/node_modules/prettier/plugins/postcss.js +49 -0
  1520. package/template/lib/ts/node_modules/prettier/plugins/postcss.mjs +49 -0
  1521. package/template/lib/ts/node_modules/prettier/plugins/typescript.d.ts +5 -0
  1522. package/template/lib/ts/node_modules/prettier/plugins/typescript.js +25 -0
  1523. package/template/lib/ts/node_modules/prettier/plugins/typescript.mjs +25 -0
  1524. package/template/lib/ts/node_modules/prettier/plugins/yaml.d.ts +5 -0
  1525. package/template/lib/ts/node_modules/prettier/plugins/yaml.js +161 -0
  1526. package/template/lib/ts/node_modules/prettier/plugins/yaml.mjs +161 -0
  1527. package/template/lib/ts/node_modules/prettier/standalone.d.ts +33 -0
  1528. package/template/lib/ts/node_modules/prettier/standalone.js +34 -0
  1529. package/template/lib/ts/node_modules/prettier/standalone.mjs +34 -0
  1530. package/template/lib/ts/node_modules/stylelint-config-standard-scss/LICENSE +21 -0
  1531. package/template/lib/ts/node_modules/stylelint-config-standard-scss/README.md +50 -0
  1532. package/template/lib/ts/node_modules/stylelint-config-standard-scss/index.js +67 -0
  1533. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint +17 -0
  1534. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.CMD +12 -0
  1535. package/template/lib/ts/node_modules/stylelint-config-standard-scss/node_modules/.bin/stylelint.ps1 +41 -0
  1536. package/template/lib/ts/node_modules/stylelint-config-standard-scss/package.json +58 -0
  1537. package/template/lib/workspace/packages/react/.stylelintrc +1 -1
  1538. package/template/lib/workspace/packages/react/package.json +1 -1
  1539. package/template/web-app/react/.stylelintrc +1 -1
  1540. package/template/web-app/react/package.json +1 -1
  1541. package/template/web-app/react-webpack/.stylelintrc +1 -1
  1542. package/template/web-app/react-webpack/package.json +1 -1
  1543. package/template/web-extension/.stylelintrc +1 -1
  1544. package/template/web-extension/package.json +1 -1
  1545. package/template/web-extension/vite.config.ts +1 -1
@@ -0,0 +1,945 @@
1
+ 'use strict';var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {return typeof obj;} : function (obj) {return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;};
2
+
3
+
4
+
5
+
6
+
7
+ var _ignore = require('eslint-module-utils/ignore');
8
+ var _resolve = require('eslint-module-utils/resolve');var _resolve2 = _interopRequireDefault(_resolve);
9
+ var _visit = require('eslint-module-utils/visit');var _visit2 = _interopRequireDefault(_visit);
10
+ var _path = require('path');
11
+ var _readPkgUp2 = require('eslint-module-utils/readPkgUp');var _readPkgUp3 = _interopRequireDefault(_readPkgUp2);
12
+ var _object = require('object.values');var _object2 = _interopRequireDefault(_object);
13
+ var _arrayIncludes = require('array-includes');var _arrayIncludes2 = _interopRequireDefault(_arrayIncludes);
14
+ var _arrayPrototype = require('array.prototype.flatmap');var _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);
15
+
16
+ var _ExportMap = require('../ExportMap');var _ExportMap2 = _interopRequireDefault(_ExportMap);
17
+ var _docsUrl = require('../docsUrl');var _docsUrl2 = _interopRequireDefault(_docsUrl);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { 'default': obj };}function _toConsumableArray(arr) {if (Array.isArray(arr)) {for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {arr2[i] = arr[i];}return arr2;} else {return Array.from(arr);}} /**
18
+ * @fileOverview Ensures that modules contain exports and/or all
19
+ * modules are consumed within other modules.
20
+ * @author René Fermann
21
+ */var FileEnumerator = void 0;var listFilesToProcess = void 0;
22
+ try {var _require =
23
+ require('eslint/use-at-your-own-risk');FileEnumerator = _require.FileEnumerator;
24
+ } catch (e) {
25
+ try {var _require2 =
26
+
27
+ require('eslint/lib/cli-engine/file-enumerator'); // has been moved to eslint/lib/cli-engine/file-enumerator in version 6
28
+ FileEnumerator = _require2.FileEnumerator;} catch (e) {
29
+ try {
30
+ // eslint/lib/util/glob-util has been moved to eslint/lib/util/glob-utils with version 5.3
31
+ var _require3 = require('eslint/lib/util/glob-utils'),originalListFilesToProcess = _require3.listFilesToProcess;
32
+
33
+ // Prevent passing invalid options (extensions array) to old versions of the function.
34
+ // https://github.com/eslint/eslint/blob/v5.16.0/lib/util/glob-utils.js#L178-L280
35
+ // https://github.com/eslint/eslint/blob/v5.2.0/lib/util/glob-util.js#L174-L269
36
+ listFilesToProcess = function listFilesToProcess(src, extensions) {
37
+ return originalListFilesToProcess(src, {
38
+ extensions: extensions });
39
+
40
+ };
41
+ } catch (e) {var _require4 =
42
+ require('eslint/lib/util/glob-util'),_originalListFilesToProcess = _require4.listFilesToProcess;
43
+
44
+ listFilesToProcess = function listFilesToProcess(src, extensions) {
45
+ var patterns = src.concat((0, _arrayPrototype2['default'])(src, function (pattern) {return extensions.map(function (extension) {return (/\*\*|\*\./.test(pattern) ? pattern : String(pattern) + '/**/*' + String(extension));});}));
46
+
47
+ return _originalListFilesToProcess(patterns);
48
+ };
49
+ }
50
+ }
51
+ }
52
+
53
+ if (FileEnumerator) {
54
+ listFilesToProcess = function listFilesToProcess(src, extensions) {
55
+ var e = new FileEnumerator({
56
+ extensions: extensions });
57
+
58
+
59
+ return Array.from(e.iterateFiles(src), function (_ref) {var filePath = _ref.filePath,ignored = _ref.ignored;return {
60
+ ignored: ignored,
61
+ filename: filePath };});
62
+
63
+ };
64
+ }
65
+
66
+ var EXPORT_DEFAULT_DECLARATION = 'ExportDefaultDeclaration';
67
+ var EXPORT_NAMED_DECLARATION = 'ExportNamedDeclaration';
68
+ var EXPORT_ALL_DECLARATION = 'ExportAllDeclaration';
69
+ var IMPORT_DECLARATION = 'ImportDeclaration';
70
+ var IMPORT_NAMESPACE_SPECIFIER = 'ImportNamespaceSpecifier';
71
+ var IMPORT_DEFAULT_SPECIFIER = 'ImportDefaultSpecifier';
72
+ var VARIABLE_DECLARATION = 'VariableDeclaration';
73
+ var FUNCTION_DECLARATION = 'FunctionDeclaration';
74
+ var CLASS_DECLARATION = 'ClassDeclaration';
75
+ var IDENTIFIER = 'Identifier';
76
+ var OBJECT_PATTERN = 'ObjectPattern';
77
+ var ARRAY_PATTERN = 'ArrayPattern';
78
+ var TS_INTERFACE_DECLARATION = 'TSInterfaceDeclaration';
79
+ var TS_TYPE_ALIAS_DECLARATION = 'TSTypeAliasDeclaration';
80
+ var TS_ENUM_DECLARATION = 'TSEnumDeclaration';
81
+ var DEFAULT = 'default';
82
+
83
+ function forEachDeclarationIdentifier(declaration, cb) {
84
+ if (declaration) {
85
+ if (
86
+ declaration.type === FUNCTION_DECLARATION ||
87
+ declaration.type === CLASS_DECLARATION ||
88
+ declaration.type === TS_INTERFACE_DECLARATION ||
89
+ declaration.type === TS_TYPE_ALIAS_DECLARATION ||
90
+ declaration.type === TS_ENUM_DECLARATION)
91
+ {
92
+ cb(declaration.id.name);
93
+ } else if (declaration.type === VARIABLE_DECLARATION) {
94
+ declaration.declarations.forEach(function (_ref2) {var id = _ref2.id;
95
+ if (id.type === OBJECT_PATTERN) {
96
+ (0, _ExportMap.recursivePatternCapture)(id, function (pattern) {
97
+ if (pattern.type === IDENTIFIER) {
98
+ cb(pattern.name);
99
+ }
100
+ });
101
+ } else if (id.type === ARRAY_PATTERN) {
102
+ id.elements.forEach(function (_ref3) {var name = _ref3.name;
103
+ cb(name);
104
+ });
105
+ } else {
106
+ cb(id.name);
107
+ }
108
+ });
109
+ }
110
+ }
111
+ }
112
+
113
+ /**
114
+ * List of imports per file.
115
+ *
116
+ * Represented by a two-level Map to a Set of identifiers. The upper-level Map
117
+ * keys are the paths to the modules containing the imports, while the
118
+ * lower-level Map keys are the paths to the files which are being imported
119
+ * from. Lastly, the Set of identifiers contains either names being imported
120
+ * or a special AST node name listed above (e.g ImportDefaultSpecifier).
121
+ *
122
+ * For example, if we have a file named foo.js containing:
123
+ *
124
+ * import { o2 } from './bar.js';
125
+ *
126
+ * Then we will have a structure that looks like:
127
+ *
128
+ * Map { 'foo.js' => Map { 'bar.js' => Set { 'o2' } } }
129
+ *
130
+ * @type {Map<string, Map<string, Set<string>>>}
131
+ */
132
+ var importList = new Map();
133
+
134
+ /**
135
+ * List of exports per file.
136
+ *
137
+ * Represented by a two-level Map to an object of metadata. The upper-level Map
138
+ * keys are the paths to the modules containing the exports, while the
139
+ * lower-level Map keys are the specific identifiers or special AST node names
140
+ * being exported. The leaf-level metadata object at the moment only contains a
141
+ * `whereUsed` property, which contains a Set of paths to modules that import
142
+ * the name.
143
+ *
144
+ * For example, if we have a file named bar.js containing the following exports:
145
+ *
146
+ * const o2 = 'bar';
147
+ * export { o2 };
148
+ *
149
+ * And a file named foo.js containing the following import:
150
+ *
151
+ * import { o2 } from './bar.js';
152
+ *
153
+ * Then we will have a structure that looks like:
154
+ *
155
+ * Map { 'bar.js' => Map { 'o2' => { whereUsed: Set { 'foo.js' } } } }
156
+ *
157
+ * @type {Map<string, Map<string, object>>}
158
+ */
159
+ var exportList = new Map();
160
+
161
+ var visitorKeyMap = new Map();
162
+
163
+ var ignoredFiles = new Set();
164
+ var filesOutsideSrc = new Set();
165
+
166
+ var isNodeModule = function isNodeModule(path) {return (/\/(node_modules)\//.test(path));};
167
+
168
+ /**
169
+ * read all files matching the patterns in src and ignoreExports
170
+ *
171
+ * return all files matching src pattern, which are not matching the ignoreExports pattern
172
+ */
173
+ var resolveFiles = function resolveFiles(src, ignoreExports, context) {
174
+ var extensions = Array.from((0, _ignore.getFileExtensions)(context.settings));
175
+
176
+ var srcFileList = listFilesToProcess(src, extensions);
177
+
178
+ // prepare list of ignored files
179
+ var ignoredFilesList = listFilesToProcess(ignoreExports, extensions);
180
+ ignoredFilesList.forEach(function (_ref4) {var filename = _ref4.filename;return ignoredFiles.add(filename);});
181
+
182
+ // prepare list of source files, don't consider files from node_modules
183
+
184
+ return new Set(
185
+ (0, _arrayPrototype2['default'])(srcFileList, function (_ref5) {var filename = _ref5.filename;return isNodeModule(filename) ? [] : filename;}));
186
+
187
+ };
188
+
189
+ /**
190
+ * parse all source files and build up 2 maps containing the existing imports and exports
191
+ */
192
+ var prepareImportsAndExports = function prepareImportsAndExports(srcFiles, context) {
193
+ var exportAll = new Map();
194
+ srcFiles.forEach(function (file) {
195
+ var exports = new Map();
196
+ var imports = new Map();
197
+ var currentExports = _ExportMap2['default'].get(file, context);
198
+ if (currentExports) {var
199
+
200
+ dependencies =
201
+
202
+
203
+
204
+
205
+ currentExports.dependencies,reexports = currentExports.reexports,localImportList = currentExports.imports,namespace = currentExports.namespace,visitorKeys = currentExports.visitorKeys;
206
+
207
+ visitorKeyMap.set(file, visitorKeys);
208
+ // dependencies === export * from
209
+ var currentExportAll = new Set();
210
+ dependencies.forEach(function (getDependency) {
211
+ var dependency = getDependency();
212
+ if (dependency === null) {
213
+ return;
214
+ }
215
+
216
+ currentExportAll.add(dependency.path);
217
+ });
218
+ exportAll.set(file, currentExportAll);
219
+
220
+ reexports.forEach(function (value, key) {
221
+ if (key === DEFAULT) {
222
+ exports.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: new Set() });
223
+ } else {
224
+ exports.set(key, { whereUsed: new Set() });
225
+ }
226
+ var reexport = value.getImport();
227
+ if (!reexport) {
228
+ return;
229
+ }
230
+ var localImport = imports.get(reexport.path);
231
+ var currentValue = void 0;
232
+ if (value.local === DEFAULT) {
233
+ currentValue = IMPORT_DEFAULT_SPECIFIER;
234
+ } else {
235
+ currentValue = value.local;
236
+ }
237
+ if (typeof localImport !== 'undefined') {
238
+ localImport = new Set([].concat(_toConsumableArray(localImport), [currentValue]));
239
+ } else {
240
+ localImport = new Set([currentValue]);
241
+ }
242
+ imports.set(reexport.path, localImport);
243
+ });
244
+
245
+ localImportList.forEach(function (value, key) {
246
+ if (isNodeModule(key)) {
247
+ return;
248
+ }
249
+ var localImport = imports.get(key) || new Set();
250
+ value.declarations.forEach(function (_ref6) {var importedSpecifiers = _ref6.importedSpecifiers;
251
+ importedSpecifiers.forEach(function (specifier) {
252
+ localImport.add(specifier);
253
+ });
254
+ });
255
+ imports.set(key, localImport);
256
+ });
257
+ importList.set(file, imports);
258
+
259
+ // build up export list only, if file is not ignored
260
+ if (ignoredFiles.has(file)) {
261
+ return;
262
+ }
263
+ namespace.forEach(function (value, key) {
264
+ if (key === DEFAULT) {
265
+ exports.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: new Set() });
266
+ } else {
267
+ exports.set(key, { whereUsed: new Set() });
268
+ }
269
+ });
270
+ }
271
+ exports.set(EXPORT_ALL_DECLARATION, { whereUsed: new Set() });
272
+ exports.set(IMPORT_NAMESPACE_SPECIFIER, { whereUsed: new Set() });
273
+ exportList.set(file, exports);
274
+ });
275
+ exportAll.forEach(function (value, key) {
276
+ value.forEach(function (val) {
277
+ var currentExports = exportList.get(val);
278
+ if (currentExports) {
279
+ var currentExport = currentExports.get(EXPORT_ALL_DECLARATION);
280
+ currentExport.whereUsed.add(key);
281
+ }
282
+ });
283
+ });
284
+ };
285
+
286
+ /**
287
+ * traverse through all imports and add the respective path to the whereUsed-list
288
+ * of the corresponding export
289
+ */
290
+ var determineUsage = function determineUsage() {
291
+ importList.forEach(function (listValue, listKey) {
292
+ listValue.forEach(function (value, key) {
293
+ var exports = exportList.get(key);
294
+ if (typeof exports !== 'undefined') {
295
+ value.forEach(function (currentImport) {
296
+ var specifier = void 0;
297
+ if (currentImport === IMPORT_NAMESPACE_SPECIFIER) {
298
+ specifier = IMPORT_NAMESPACE_SPECIFIER;
299
+ } else if (currentImport === IMPORT_DEFAULT_SPECIFIER) {
300
+ specifier = IMPORT_DEFAULT_SPECIFIER;
301
+ } else {
302
+ specifier = currentImport;
303
+ }
304
+ if (typeof specifier !== 'undefined') {
305
+ var exportStatement = exports.get(specifier);
306
+ if (typeof exportStatement !== 'undefined') {var
307
+ whereUsed = exportStatement.whereUsed;
308
+ whereUsed.add(listKey);
309
+ exports.set(specifier, { whereUsed: whereUsed });
310
+ }
311
+ }
312
+ });
313
+ }
314
+ });
315
+ });
316
+ };
317
+
318
+ var getSrc = function getSrc(src) {
319
+ if (src) {
320
+ return src;
321
+ }
322
+ return [process.cwd()];
323
+ };
324
+
325
+ /**
326
+ * prepare the lists of existing imports and exports - should only be executed once at
327
+ * the start of a new eslint run
328
+ */
329
+ var srcFiles = void 0;
330
+ var lastPrepareKey = void 0;
331
+ var doPreparation = function doPreparation(src, ignoreExports, context) {
332
+ var prepareKey = JSON.stringify({
333
+ src: (src || []).sort(),
334
+ ignoreExports: (ignoreExports || []).sort(),
335
+ extensions: Array.from((0, _ignore.getFileExtensions)(context.settings)).sort() });
336
+
337
+ if (prepareKey === lastPrepareKey) {
338
+ return;
339
+ }
340
+
341
+ importList.clear();
342
+ exportList.clear();
343
+ ignoredFiles.clear();
344
+ filesOutsideSrc.clear();
345
+
346
+ srcFiles = resolveFiles(getSrc(src), ignoreExports, context);
347
+ prepareImportsAndExports(srcFiles, context);
348
+ determineUsage();
349
+ lastPrepareKey = prepareKey;
350
+ };
351
+
352
+ var newNamespaceImportExists = function newNamespaceImportExists(specifiers) {return specifiers.some(function (_ref7) {var type = _ref7.type;return type === IMPORT_NAMESPACE_SPECIFIER;});};
353
+
354
+ var newDefaultImportExists = function newDefaultImportExists(specifiers) {return specifiers.some(function (_ref8) {var type = _ref8.type;return type === IMPORT_DEFAULT_SPECIFIER;});};
355
+
356
+ var fileIsInPkg = function fileIsInPkg(file) {var _readPkgUp =
357
+ (0, _readPkgUp3['default'])({ cwd: file }),path = _readPkgUp.path,pkg = _readPkgUp.pkg;
358
+ var basePath = (0, _path.dirname)(path);
359
+
360
+ var checkPkgFieldString = function checkPkgFieldString(pkgField) {
361
+ if ((0, _path.join)(basePath, pkgField) === file) {
362
+ return true;
363
+ }
364
+ };
365
+
366
+ var checkPkgFieldObject = function checkPkgFieldObject(pkgField) {
367
+ var pkgFieldFiles = (0, _arrayPrototype2['default'])((0, _object2['default'])(pkgField), function (value) {return typeof value === 'boolean' ? [] : (0, _path.join)(basePath, value);});
368
+
369
+ if ((0, _arrayIncludes2['default'])(pkgFieldFiles, file)) {
370
+ return true;
371
+ }
372
+ };
373
+
374
+ var checkPkgField = function checkPkgField(pkgField) {
375
+ if (typeof pkgField === 'string') {
376
+ return checkPkgFieldString(pkgField);
377
+ }
378
+
379
+ if ((typeof pkgField === 'undefined' ? 'undefined' : _typeof(pkgField)) === 'object') {
380
+ return checkPkgFieldObject(pkgField);
381
+ }
382
+ };
383
+
384
+ if (pkg['private'] === true) {
385
+ return false;
386
+ }
387
+
388
+ if (pkg.bin) {
389
+ if (checkPkgField(pkg.bin)) {
390
+ return true;
391
+ }
392
+ }
393
+
394
+ if (pkg.browser) {
395
+ if (checkPkgField(pkg.browser)) {
396
+ return true;
397
+ }
398
+ }
399
+
400
+ if (pkg.main) {
401
+ if (checkPkgFieldString(pkg.main)) {
402
+ return true;
403
+ }
404
+ }
405
+
406
+ return false;
407
+ };
408
+
409
+ module.exports = {
410
+ meta: {
411
+ type: 'suggestion',
412
+ docs: {
413
+ category: 'Helpful warnings',
414
+ description: 'Forbid modules without exports, or exports without matching import in another module.',
415
+ url: (0, _docsUrl2['default'])('no-unused-modules') },
416
+
417
+ schema: [{
418
+ properties: {
419
+ src: {
420
+ description: 'files/paths to be analyzed (only for unused exports)',
421
+ type: 'array',
422
+ uniqueItems: true,
423
+ items: {
424
+ type: 'string',
425
+ minLength: 1 } },
426
+
427
+
428
+ ignoreExports: {
429
+ description: 'files/paths for which unused exports will not be reported (e.g module entry points)',
430
+ type: 'array',
431
+ uniqueItems: true,
432
+ items: {
433
+ type: 'string',
434
+ minLength: 1 } },
435
+
436
+
437
+ missingExports: {
438
+ description: 'report modules without any exports',
439
+ type: 'boolean' },
440
+
441
+ unusedExports: {
442
+ description: 'report exports without any usage',
443
+ type: 'boolean' } },
444
+
445
+
446
+ anyOf: [
447
+ {
448
+ properties: {
449
+ unusedExports: { 'enum': [true] },
450
+ src: {
451
+ minItems: 1 } },
452
+
453
+
454
+ required: ['unusedExports'] },
455
+
456
+ {
457
+ properties: {
458
+ missingExports: { 'enum': [true] } },
459
+
460
+ required: ['missingExports'] }] }] },
461
+
462
+
463
+
464
+
465
+
466
+ create: function () {function create(context) {var _ref9 =
467
+
468
+
469
+
470
+
471
+
472
+ context.options[0] || {},src = _ref9.src,_ref9$ignoreExports = _ref9.ignoreExports,ignoreExports = _ref9$ignoreExports === undefined ? [] : _ref9$ignoreExports,missingExports = _ref9.missingExports,unusedExports = _ref9.unusedExports;
473
+
474
+ if (unusedExports) {
475
+ doPreparation(src, ignoreExports, context);
476
+ }
477
+
478
+ var file = context.getPhysicalFilename ? context.getPhysicalFilename() : context.getFilename();
479
+
480
+ var checkExportPresence = function () {function checkExportPresence(node) {
481
+ if (!missingExports) {
482
+ return;
483
+ }
484
+
485
+ if (ignoredFiles.has(file)) {
486
+ return;
487
+ }
488
+
489
+ var exportCount = exportList.get(file);
490
+ var exportAll = exportCount.get(EXPORT_ALL_DECLARATION);
491
+ var namespaceImports = exportCount.get(IMPORT_NAMESPACE_SPECIFIER);
492
+
493
+ exportCount['delete'](EXPORT_ALL_DECLARATION);
494
+ exportCount['delete'](IMPORT_NAMESPACE_SPECIFIER);
495
+ if (exportCount.size < 1) {
496
+ // node.body[0] === 'undefined' only happens, if everything is commented out in the file
497
+ // being linted
498
+ context.report(node.body[0] ? node.body[0] : node, 'No exports found');
499
+ }
500
+ exportCount.set(EXPORT_ALL_DECLARATION, exportAll);
501
+ exportCount.set(IMPORT_NAMESPACE_SPECIFIER, namespaceImports);
502
+ }return checkExportPresence;}();
503
+
504
+ var checkUsage = function () {function checkUsage(node, exportedValue) {
505
+ if (!unusedExports) {
506
+ return;
507
+ }
508
+
509
+ if (ignoredFiles.has(file)) {
510
+ return;
511
+ }
512
+
513
+ if (fileIsInPkg(file)) {
514
+ return;
515
+ }
516
+
517
+ if (filesOutsideSrc.has(file)) {
518
+ return;
519
+ }
520
+
521
+ // make sure file to be linted is included in source files
522
+ if (!srcFiles.has(file)) {
523
+ srcFiles = resolveFiles(getSrc(src), ignoreExports, context);
524
+ if (!srcFiles.has(file)) {
525
+ filesOutsideSrc.add(file);
526
+ return;
527
+ }
528
+ }
529
+
530
+ exports = exportList.get(file);
531
+
532
+ // special case: export * from
533
+ var exportAll = exports.get(EXPORT_ALL_DECLARATION);
534
+ if (typeof exportAll !== 'undefined' && exportedValue !== IMPORT_DEFAULT_SPECIFIER) {
535
+ if (exportAll.whereUsed.size > 0) {
536
+ return;
537
+ }
538
+ }
539
+
540
+ // special case: namespace import
541
+ var namespaceImports = exports.get(IMPORT_NAMESPACE_SPECIFIER);
542
+ if (typeof namespaceImports !== 'undefined') {
543
+ if (namespaceImports.whereUsed.size > 0) {
544
+ return;
545
+ }
546
+ }
547
+
548
+ // exportsList will always map any imported value of 'default' to 'ImportDefaultSpecifier'
549
+ var exportsKey = exportedValue === DEFAULT ? IMPORT_DEFAULT_SPECIFIER : exportedValue;
550
+
551
+ var exportStatement = exports.get(exportsKey);
552
+
553
+ var value = exportsKey === IMPORT_DEFAULT_SPECIFIER ? DEFAULT : exportsKey;
554
+
555
+ if (typeof exportStatement !== 'undefined') {
556
+ if (exportStatement.whereUsed.size < 1) {
557
+ context.report(
558
+ node, 'exported declaration \'' +
559
+ value + '\' not used within other modules');
560
+
561
+ }
562
+ } else {
563
+ context.report(
564
+ node, 'exported declaration \'' +
565
+ value + '\' not used within other modules');
566
+
567
+ }
568
+ }return checkUsage;}();
569
+
570
+ /**
571
+ * only useful for tools like vscode-eslint
572
+ *
573
+ * update lists of existing exports during runtime
574
+ */
575
+ var updateExportUsage = function () {function updateExportUsage(node) {
576
+ if (ignoredFiles.has(file)) {
577
+ return;
578
+ }
579
+
580
+ var exports = exportList.get(file);
581
+
582
+ // new module has been created during runtime
583
+ // include it in further processing
584
+ if (typeof exports === 'undefined') {
585
+ exports = new Map();
586
+ }
587
+
588
+ var newExports = new Map();
589
+ var newExportIdentifiers = new Set();
590
+
591
+ node.body.forEach(function (_ref10) {var type = _ref10.type,declaration = _ref10.declaration,specifiers = _ref10.specifiers;
592
+ if (type === EXPORT_DEFAULT_DECLARATION) {
593
+ newExportIdentifiers.add(IMPORT_DEFAULT_SPECIFIER);
594
+ }
595
+ if (type === EXPORT_NAMED_DECLARATION) {
596
+ if (specifiers.length > 0) {
597
+ specifiers.forEach(function (specifier) {
598
+ if (specifier.exported) {
599
+ newExportIdentifiers.add(specifier.exported.name || specifier.exported.value);
600
+ }
601
+ });
602
+ }
603
+ forEachDeclarationIdentifier(declaration, function (name) {
604
+ newExportIdentifiers.add(name);
605
+ });
606
+ }
607
+ });
608
+
609
+ // old exports exist within list of new exports identifiers: add to map of new exports
610
+ exports.forEach(function (value, key) {
611
+ if (newExportIdentifiers.has(key)) {
612
+ newExports.set(key, value);
613
+ }
614
+ });
615
+
616
+ // new export identifiers added: add to map of new exports
617
+ newExportIdentifiers.forEach(function (key) {
618
+ if (!exports.has(key)) {
619
+ newExports.set(key, { whereUsed: new Set() });
620
+ }
621
+ });
622
+
623
+ // preserve information about namespace imports
624
+ var exportAll = exports.get(EXPORT_ALL_DECLARATION);
625
+ var namespaceImports = exports.get(IMPORT_NAMESPACE_SPECIFIER);
626
+
627
+ if (typeof namespaceImports === 'undefined') {
628
+ namespaceImports = { whereUsed: new Set() };
629
+ }
630
+
631
+ newExports.set(EXPORT_ALL_DECLARATION, exportAll);
632
+ newExports.set(IMPORT_NAMESPACE_SPECIFIER, namespaceImports);
633
+ exportList.set(file, newExports);
634
+ }return updateExportUsage;}();
635
+
636
+ /**
637
+ * only useful for tools like vscode-eslint
638
+ *
639
+ * update lists of existing imports during runtime
640
+ */
641
+ var updateImportUsage = function () {function updateImportUsage(node) {
642
+ if (!unusedExports) {
643
+ return;
644
+ }
645
+
646
+ var oldImportPaths = importList.get(file);
647
+ if (typeof oldImportPaths === 'undefined') {
648
+ oldImportPaths = new Map();
649
+ }
650
+
651
+ var oldNamespaceImports = new Set();
652
+ var newNamespaceImports = new Set();
653
+
654
+ var oldExportAll = new Set();
655
+ var newExportAll = new Set();
656
+
657
+ var oldDefaultImports = new Set();
658
+ var newDefaultImports = new Set();
659
+
660
+ var oldImports = new Map();
661
+ var newImports = new Map();
662
+ oldImportPaths.forEach(function (value, key) {
663
+ if (value.has(EXPORT_ALL_DECLARATION)) {
664
+ oldExportAll.add(key);
665
+ }
666
+ if (value.has(IMPORT_NAMESPACE_SPECIFIER)) {
667
+ oldNamespaceImports.add(key);
668
+ }
669
+ if (value.has(IMPORT_DEFAULT_SPECIFIER)) {
670
+ oldDefaultImports.add(key);
671
+ }
672
+ value.forEach(function (val) {
673
+ if (
674
+ val !== IMPORT_NAMESPACE_SPECIFIER &&
675
+ val !== IMPORT_DEFAULT_SPECIFIER)
676
+ {
677
+ oldImports.set(val, key);
678
+ }
679
+ });
680
+ });
681
+
682
+ function processDynamicImport(source) {
683
+ if (source.type !== 'Literal') {
684
+ return null;
685
+ }
686
+ var p = (0, _resolve2['default'])(source.value, context);
687
+ if (p == null) {
688
+ return null;
689
+ }
690
+ newNamespaceImports.add(p);
691
+ }
692
+
693
+ (0, _visit2['default'])(node, visitorKeyMap.get(file), {
694
+ ImportExpression: function () {function ImportExpression(child) {
695
+ processDynamicImport(child.source);
696
+ }return ImportExpression;}(),
697
+ CallExpression: function () {function CallExpression(child) {
698
+ if (child.callee.type === 'Import') {
699
+ processDynamicImport(child.arguments[0]);
700
+ }
701
+ }return CallExpression;}() });
702
+
703
+
704
+ node.body.forEach(function (astNode) {
705
+ var resolvedPath = void 0;
706
+
707
+ // support for export { value } from 'module'
708
+ if (astNode.type === EXPORT_NAMED_DECLARATION) {
709
+ if (astNode.source) {
710
+ resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
711
+ astNode.specifiers.forEach(function (specifier) {
712
+ var name = specifier.local.name || specifier.local.value;
713
+ if (name === DEFAULT) {
714
+ newDefaultImports.add(resolvedPath);
715
+ } else {
716
+ newImports.set(name, resolvedPath);
717
+ }
718
+ });
719
+ }
720
+ }
721
+
722
+ if (astNode.type === EXPORT_ALL_DECLARATION) {
723
+ resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
724
+ newExportAll.add(resolvedPath);
725
+ }
726
+
727
+ if (astNode.type === IMPORT_DECLARATION) {
728
+ resolvedPath = (0, _resolve2['default'])(astNode.source.raw.replace(/('|")/g, ''), context);
729
+ if (!resolvedPath) {
730
+ return;
731
+ }
732
+
733
+ if (isNodeModule(resolvedPath)) {
734
+ return;
735
+ }
736
+
737
+ if (newNamespaceImportExists(astNode.specifiers)) {
738
+ newNamespaceImports.add(resolvedPath);
739
+ }
740
+
741
+ if (newDefaultImportExists(astNode.specifiers)) {
742
+ newDefaultImports.add(resolvedPath);
743
+ }
744
+
745
+ astNode.specifiers.
746
+ filter(function (specifier) {return specifier.type !== IMPORT_DEFAULT_SPECIFIER && specifier.type !== IMPORT_NAMESPACE_SPECIFIER;}).
747
+ forEach(function (specifier) {
748
+ newImports.set(specifier.imported.name || specifier.imported.value, resolvedPath);
749
+ });
750
+ }
751
+ });
752
+
753
+ newExportAll.forEach(function (value) {
754
+ if (!oldExportAll.has(value)) {
755
+ var imports = oldImportPaths.get(value);
756
+ if (typeof imports === 'undefined') {
757
+ imports = new Set();
758
+ }
759
+ imports.add(EXPORT_ALL_DECLARATION);
760
+ oldImportPaths.set(value, imports);
761
+
762
+ var _exports = exportList.get(value);
763
+ var currentExport = void 0;
764
+ if (typeof _exports !== 'undefined') {
765
+ currentExport = _exports.get(EXPORT_ALL_DECLARATION);
766
+ } else {
767
+ _exports = new Map();
768
+ exportList.set(value, _exports);
769
+ }
770
+
771
+ if (typeof currentExport !== 'undefined') {
772
+ currentExport.whereUsed.add(file);
773
+ } else {
774
+ var whereUsed = new Set();
775
+ whereUsed.add(file);
776
+ _exports.set(EXPORT_ALL_DECLARATION, { whereUsed: whereUsed });
777
+ }
778
+ }
779
+ });
780
+
781
+ oldExportAll.forEach(function (value) {
782
+ if (!newExportAll.has(value)) {
783
+ var imports = oldImportPaths.get(value);
784
+ imports['delete'](EXPORT_ALL_DECLARATION);
785
+
786
+ var _exports2 = exportList.get(value);
787
+ if (typeof _exports2 !== 'undefined') {
788
+ var currentExport = _exports2.get(EXPORT_ALL_DECLARATION);
789
+ if (typeof currentExport !== 'undefined') {
790
+ currentExport.whereUsed['delete'](file);
791
+ }
792
+ }
793
+ }
794
+ });
795
+
796
+ newDefaultImports.forEach(function (value) {
797
+ if (!oldDefaultImports.has(value)) {
798
+ var imports = oldImportPaths.get(value);
799
+ if (typeof imports === 'undefined') {
800
+ imports = new Set();
801
+ }
802
+ imports.add(IMPORT_DEFAULT_SPECIFIER);
803
+ oldImportPaths.set(value, imports);
804
+
805
+ var _exports3 = exportList.get(value);
806
+ var currentExport = void 0;
807
+ if (typeof _exports3 !== 'undefined') {
808
+ currentExport = _exports3.get(IMPORT_DEFAULT_SPECIFIER);
809
+ } else {
810
+ _exports3 = new Map();
811
+ exportList.set(value, _exports3);
812
+ }
813
+
814
+ if (typeof currentExport !== 'undefined') {
815
+ currentExport.whereUsed.add(file);
816
+ } else {
817
+ var whereUsed = new Set();
818
+ whereUsed.add(file);
819
+ _exports3.set(IMPORT_DEFAULT_SPECIFIER, { whereUsed: whereUsed });
820
+ }
821
+ }
822
+ });
823
+
824
+ oldDefaultImports.forEach(function (value) {
825
+ if (!newDefaultImports.has(value)) {
826
+ var imports = oldImportPaths.get(value);
827
+ imports['delete'](IMPORT_DEFAULT_SPECIFIER);
828
+
829
+ var _exports4 = exportList.get(value);
830
+ if (typeof _exports4 !== 'undefined') {
831
+ var currentExport = _exports4.get(IMPORT_DEFAULT_SPECIFIER);
832
+ if (typeof currentExport !== 'undefined') {
833
+ currentExport.whereUsed['delete'](file);
834
+ }
835
+ }
836
+ }
837
+ });
838
+
839
+ newNamespaceImports.forEach(function (value) {
840
+ if (!oldNamespaceImports.has(value)) {
841
+ var imports = oldImportPaths.get(value);
842
+ if (typeof imports === 'undefined') {
843
+ imports = new Set();
844
+ }
845
+ imports.add(IMPORT_NAMESPACE_SPECIFIER);
846
+ oldImportPaths.set(value, imports);
847
+
848
+ var _exports5 = exportList.get(value);
849
+ var currentExport = void 0;
850
+ if (typeof _exports5 !== 'undefined') {
851
+ currentExport = _exports5.get(IMPORT_NAMESPACE_SPECIFIER);
852
+ } else {
853
+ _exports5 = new Map();
854
+ exportList.set(value, _exports5);
855
+ }
856
+
857
+ if (typeof currentExport !== 'undefined') {
858
+ currentExport.whereUsed.add(file);
859
+ } else {
860
+ var whereUsed = new Set();
861
+ whereUsed.add(file);
862
+ _exports5.set(IMPORT_NAMESPACE_SPECIFIER, { whereUsed: whereUsed });
863
+ }
864
+ }
865
+ });
866
+
867
+ oldNamespaceImports.forEach(function (value) {
868
+ if (!newNamespaceImports.has(value)) {
869
+ var imports = oldImportPaths.get(value);
870
+ imports['delete'](IMPORT_NAMESPACE_SPECIFIER);
871
+
872
+ var _exports6 = exportList.get(value);
873
+ if (typeof _exports6 !== 'undefined') {
874
+ var currentExport = _exports6.get(IMPORT_NAMESPACE_SPECIFIER);
875
+ if (typeof currentExport !== 'undefined') {
876
+ currentExport.whereUsed['delete'](file);
877
+ }
878
+ }
879
+ }
880
+ });
881
+
882
+ newImports.forEach(function (value, key) {
883
+ if (!oldImports.has(key)) {
884
+ var imports = oldImportPaths.get(value);
885
+ if (typeof imports === 'undefined') {
886
+ imports = new Set();
887
+ }
888
+ imports.add(key);
889
+ oldImportPaths.set(value, imports);
890
+
891
+ var _exports7 = exportList.get(value);
892
+ var currentExport = void 0;
893
+ if (typeof _exports7 !== 'undefined') {
894
+ currentExport = _exports7.get(key);
895
+ } else {
896
+ _exports7 = new Map();
897
+ exportList.set(value, _exports7);
898
+ }
899
+
900
+ if (typeof currentExport !== 'undefined') {
901
+ currentExport.whereUsed.add(file);
902
+ } else {
903
+ var whereUsed = new Set();
904
+ whereUsed.add(file);
905
+ _exports7.set(key, { whereUsed: whereUsed });
906
+ }
907
+ }
908
+ });
909
+
910
+ oldImports.forEach(function (value, key) {
911
+ if (!newImports.has(key)) {
912
+ var imports = oldImportPaths.get(value);
913
+ imports['delete'](key);
914
+
915
+ var _exports8 = exportList.get(value);
916
+ if (typeof _exports8 !== 'undefined') {
917
+ var currentExport = _exports8.get(key);
918
+ if (typeof currentExport !== 'undefined') {
919
+ currentExport.whereUsed['delete'](file);
920
+ }
921
+ }
922
+ }
923
+ });
924
+ }return updateImportUsage;}();
925
+
926
+ return {
927
+ 'Program:exit': function () {function ProgramExit(node) {
928
+ updateExportUsage(node);
929
+ updateImportUsage(node);
930
+ checkExportPresence(node);
931
+ }return ProgramExit;}(),
932
+ ExportDefaultDeclaration: function () {function ExportDefaultDeclaration(node) {
933
+ checkUsage(node, IMPORT_DEFAULT_SPECIFIER);
934
+ }return ExportDefaultDeclaration;}(),
935
+ ExportNamedDeclaration: function () {function ExportNamedDeclaration(node) {
936
+ node.specifiers.forEach(function (specifier) {
937
+ checkUsage(specifier, specifier.exported.name || specifier.exported.value);
938
+ });
939
+ forEachDeclarationIdentifier(node.declaration, function (name) {
940
+ checkUsage(node, name);
941
+ });
942
+ }return ExportNamedDeclaration;}() };
943
+
944
+ }return create;}() };
945
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9uby11bnVzZWQtbW9kdWxlcy5qcyJdLCJuYW1lcyI6WyJGaWxlRW51bWVyYXRvciIsImxpc3RGaWxlc1RvUHJvY2VzcyIsInJlcXVpcmUiLCJlIiwib3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3MiLCJzcmMiLCJleHRlbnNpb25zIiwicGF0dGVybnMiLCJjb25jYXQiLCJwYXR0ZXJuIiwibWFwIiwiZXh0ZW5zaW9uIiwidGVzdCIsIkFycmF5IiwiZnJvbSIsIml0ZXJhdGVGaWxlcyIsImZpbGVQYXRoIiwiaWdub3JlZCIsImZpbGVuYW1lIiwiRVhQT1JUX0RFRkFVTFRfREVDTEFSQVRJT04iLCJFWFBPUlRfTkFNRURfREVDTEFSQVRJT04iLCJFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OIiwiSU1QT1JUX0RFQ0xBUkFUSU9OIiwiSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIiLCJJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIiLCJWQVJJQUJMRV9ERUNMQVJBVElPTiIsIkZVTkNUSU9OX0RFQ0xBUkFUSU9OIiwiQ0xBU1NfREVDTEFSQVRJT04iLCJJREVOVElGSUVSIiwiT0JKRUNUX1BBVFRFUk4iLCJBUlJBWV9QQVRURVJOIiwiVFNfSU5URVJGQUNFX0RFQ0xBUkFUSU9OIiwiVFNfVFlQRV9BTElBU19ERUNMQVJBVElPTiIsIlRTX0VOVU1fREVDTEFSQVRJT04iLCJERUZBVUxUIiwiZm9yRWFjaERlY2xhcmF0aW9uSWRlbnRpZmllciIsImRlY2xhcmF0aW9uIiwiY2IiLCJ0eXBlIiwiaWQiLCJuYW1lIiwiZGVjbGFyYXRpb25zIiwiZm9yRWFjaCIsImVsZW1lbnRzIiwiaW1wb3J0TGlzdCIsIk1hcCIsImV4cG9ydExpc3QiLCJ2aXNpdG9yS2V5TWFwIiwiaWdub3JlZEZpbGVzIiwiU2V0IiwiZmlsZXNPdXRzaWRlU3JjIiwiaXNOb2RlTW9kdWxlIiwicGF0aCIsInJlc29sdmVGaWxlcyIsImlnbm9yZUV4cG9ydHMiLCJjb250ZXh0Iiwic2V0dGluZ3MiLCJzcmNGaWxlTGlzdCIsImlnbm9yZWRGaWxlc0xpc3QiLCJhZGQiLCJwcmVwYXJlSW1wb3J0c0FuZEV4cG9ydHMiLCJzcmNGaWxlcyIsImV4cG9ydEFsbCIsImZpbGUiLCJleHBvcnRzIiwiaW1wb3J0cyIsImN1cnJlbnRFeHBvcnRzIiwiRXhwb3J0cyIsImdldCIsImRlcGVuZGVuY2llcyIsInJlZXhwb3J0cyIsImxvY2FsSW1wb3J0TGlzdCIsIm5hbWVzcGFjZSIsInZpc2l0b3JLZXlzIiwic2V0IiwiY3VycmVudEV4cG9ydEFsbCIsImdldERlcGVuZGVuY3kiLCJkZXBlbmRlbmN5IiwidmFsdWUiLCJrZXkiLCJ3aGVyZVVzZWQiLCJyZWV4cG9ydCIsImdldEltcG9ydCIsImxvY2FsSW1wb3J0IiwiY3VycmVudFZhbHVlIiwibG9jYWwiLCJpbXBvcnRlZFNwZWNpZmllcnMiLCJzcGVjaWZpZXIiLCJoYXMiLCJ2YWwiLCJjdXJyZW50RXhwb3J0IiwiZGV0ZXJtaW5lVXNhZ2UiLCJsaXN0VmFsdWUiLCJsaXN0S2V5IiwiY3VycmVudEltcG9ydCIsImV4cG9ydFN0YXRlbWVudCIsImdldFNyYyIsInByb2Nlc3MiLCJjd2QiLCJsYXN0UHJlcGFyZUtleSIsImRvUHJlcGFyYXRpb24iLCJwcmVwYXJlS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsInNvcnQiLCJjbGVhciIsIm5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyIsInNwZWNpZmllcnMiLCJzb21lIiwibmV3RGVmYXVsdEltcG9ydEV4aXN0cyIsImZpbGVJc0luUGtnIiwicGtnIiwiYmFzZVBhdGgiLCJjaGVja1BrZ0ZpZWxkU3RyaW5nIiwicGtnRmllbGQiLCJjaGVja1BrZ0ZpZWxkT2JqZWN0IiwicGtnRmllbGRGaWxlcyIsImNoZWNrUGtnRmllbGQiLCJiaW4iLCJicm93c2VyIiwibWFpbiIsIm1vZHVsZSIsIm1ldGEiLCJkb2NzIiwiY2F0ZWdvcnkiLCJkZXNjcmlwdGlvbiIsInVybCIsInNjaGVtYSIsInByb3BlcnRpZXMiLCJ1bmlxdWVJdGVtcyIsIml0ZW1zIiwibWluTGVuZ3RoIiwibWlzc2luZ0V4cG9ydHMiLCJ1bnVzZWRFeHBvcnRzIiwiYW55T2YiLCJtaW5JdGVtcyIsInJlcXVpcmVkIiwiY3JlYXRlIiwib3B0aW9ucyIsImdldFBoeXNpY2FsRmlsZW5hbWUiLCJnZXRGaWxlbmFtZSIsImNoZWNrRXhwb3J0UHJlc2VuY2UiLCJub2RlIiwiZXhwb3J0Q291bnQiLCJuYW1lc3BhY2VJbXBvcnRzIiwic2l6ZSIsInJlcG9ydCIsImJvZHkiLCJjaGVja1VzYWdlIiwiZXhwb3J0ZWRWYWx1ZSIsImV4cG9ydHNLZXkiLCJ1cGRhdGVFeHBvcnRVc2FnZSIsIm5ld0V4cG9ydHMiLCJuZXdFeHBvcnRJZGVudGlmaWVycyIsImxlbmd0aCIsImV4cG9ydGVkIiwidXBkYXRlSW1wb3J0VXNhZ2UiLCJvbGRJbXBvcnRQYXRocyIsIm9sZE5hbWVzcGFjZUltcG9ydHMiLCJuZXdOYW1lc3BhY2VJbXBvcnRzIiwib2xkRXhwb3J0QWxsIiwibmV3RXhwb3J0QWxsIiwib2xkRGVmYXVsdEltcG9ydHMiLCJuZXdEZWZhdWx0SW1wb3J0cyIsIm9sZEltcG9ydHMiLCJuZXdJbXBvcnRzIiwicHJvY2Vzc0R5bmFtaWNJbXBvcnQiLCJzb3VyY2UiLCJwIiwiSW1wb3J0RXhwcmVzc2lvbiIsImNoaWxkIiwiQ2FsbEV4cHJlc3Npb24iLCJjYWxsZWUiLCJhcmd1bWVudHMiLCJhc3ROb2RlIiwicmVzb2x2ZWRQYXRoIiwicmF3IiwicmVwbGFjZSIsImZpbHRlciIsImltcG9ydGVkIiwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uIiwiRXhwb3J0TmFtZWREZWNsYXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUE7QUFDQSxzRDtBQUNBLGtEO0FBQ0E7QUFDQSwyRDtBQUNBLHVDO0FBQ0EsK0M7QUFDQSx5RDs7QUFFQSx5QztBQUNBLHFDLDJVQWhCQTs7OzttWEFrQkEsSUFBSUEsdUJBQUosQ0FDQSxJQUFJQywyQkFBSjtBQUVBLElBQUk7QUFD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QmpFLE9BQWhCLENBQXdCLFVBQUM2QyxTQUFELEVBQWU7QUFDckM2RCx5QkFBVzdELFNBQVgsRUFBc0JBLFVBQVVvRSxRQUFWLENBQW1CbkgsSUFBbkIsSUFBMkIrQyxVQUFVb0UsUUFBVixDQUFtQjdFLEtBQXBFO0FBQ0QsYUFGRDtBQUdBM0MseUNBQTZCMkcsS0FBSzFHLFdBQWxDLEVBQStDLFVBQUNJLElBQUQsRUFBVTtBQUN2RDRHLHlCQUFXTixJQUFYLEVBQWlCdEcsSUFBakI7QUFDRCxhQUZEO0FBR0QsV0FoQkksbUNBQVA7O0FBa0JELEtBdmhCYyxtQkFBakIiLCJmaWxlIjoibm8tdW51c2VkLW1vZHVsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlT3ZlcnZpZXcgRW5zdXJlcyB0aGF0IG1vZHVsZXMgY29udGFpbiBleHBvcnRzIGFuZC9vciBhbGxcbiAqIG1vZHVsZXMgYXJlIGNvbnN1bWVkIHdpdGhpbiBvdGhlciBtb2R1bGVzLlxuICogQGF1dGhvciBSZW7DqSBGZXJtYW5uXG4gKi9cblxuaW1wb3J0IHsgZ2V0RmlsZUV4dGVuc2lvbnMgfSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL2lnbm9yZSc7XG5pbXBvcnQgcmVzb2x2ZSBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3Jlc29sdmUnO1xuaW1wb3J0IHZpc2l0IGZyb20gJ2VzbGludC1tb2R1bGUtdXRpbHMvdmlzaXQnO1xuaW1wb3J0IHsgZGlybmFtZSwgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHJlYWRQa2dVcCBmcm9tICdlc2xpbnQtbW9kdWxlLXV0aWxzL3JlYWRQa2dVcCc7XG5pbXBvcnQgdmFsdWVzIGZyb20gJ29iamVjdC52YWx1ZXMnO1xuaW1wb3J0IGluY2x1ZGVzIGZyb20gJ2FycmF5LWluY2x1ZGVzJztcbmltcG9ydCBmbGF0TWFwIGZyb20gJ2FycmF5LnByb3RvdHlwZS5mbGF0bWFwJztcblxuaW1wb3J0IEV4cG9ydHMsIHsgcmVjdXJzaXZlUGF0dGVybkNhcHR1cmUgfSBmcm9tICcuLi9FeHBvcnRNYXAnO1xuaW1wb3J0IGRvY3NVcmwgZnJvbSAnLi4vZG9jc1VybCc7XG5cbmxldCBGaWxlRW51bWVyYXRvcjtcbmxldCBsaXN0RmlsZXNUb1Byb2Nlc3M7XG5cbnRyeSB7XG4gICh7IEZpbGVFbnVtZXJhdG9yIH0gPSByZXF1aXJlKCdlc2xpbnQvdXNlLWF0LXlvdXItb3duLXJpc2snKSk7XG59IGNhdGNoIChlKSB7XG4gIHRyeSB7XG4gICAgLy8gaGFzIGJlZW4gbW92ZWQgdG8gZXNsaW50L2xpYi9jbGktZW5naW5lL2ZpbGUtZW51bWVyYXRvciBpbiB2ZXJzaW9uIDZcbiAgICAoeyBGaWxlRW51bWVyYXRvciB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi9jbGktZW5naW5lL2ZpbGUtZW51bWVyYXRvcicpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRyeSB7XG4gICAgICAvLyBlc2xpbnQvbGliL3V0aWwvZ2xvYi11dGlsIGhhcyBiZWVuIG1vdmVkIHRvIGVzbGludC9saWIvdXRpbC9nbG9iLXV0aWxzIHdpdGggdmVyc2lvbiA1LjNcbiAgICAgIGNvbnN0IHsgbGlzdEZpbGVzVG9Qcm9jZXNzOiBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi91dGlsL2dsb2ItdXRpbHMnKTtcblxuICAgICAgLy8gUHJldmVudCBwYXNzaW5nIGludmFsaWQgb3B0aW9ucyAoZXh0ZW5zaW9ucyBhcnJheSkgdG8gb2xkIHZlcnNpb25zIG9mIHRoZSBmdW5jdGlvbi5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9lc2xpbnQvZXNsaW50L2Jsb2IvdjUuMTYuMC9saWIvdXRpbC9nbG9iLXV0aWxzLmpzI0wxNzgtTDI4MFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzbGludC9lc2xpbnQvYmxvYi92NS4yLjAvbGliL3V0aWwvZ2xvYi11dGlsLmpzI0wxNzQtTDI2OVxuICAgICAgbGlzdEZpbGVzVG9Qcm9jZXNzID0gZnVuY3Rpb24gKHNyYywgZXh0ZW5zaW9ucykge1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxMaXN0RmlsZXNUb1Byb2Nlc3Moc3JjLCB7XG4gICAgICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnN0IHsgbGlzdEZpbGVzVG9Qcm9jZXNzOiBvcmlnaW5hbExpc3RGaWxlc1RvUHJvY2VzcyB9ID0gcmVxdWlyZSgnZXNsaW50L2xpYi91dGlsL2dsb2ItdXRpbCcpO1xuXG4gICAgICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgICAgIGNvbnN0IHBhdHRlcm5zID0gc3JjLmNvbmNhdChmbGF0TWFwKHNyYywgKHBhdHRlcm4pID0+IGV4dGVuc2lvbnMubWFwKChleHRlbnNpb24pID0+ICgvXFwqXFwqfFxcKlxcLi8pLnRlc3QocGF0dGVybikgPyBwYXR0ZXJuIDogYCR7cGF0dGVybn0vKiovKiR7ZXh0ZW5zaW9ufWApKSk7XG5cbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsTGlzdEZpbGVzVG9Qcm9jZXNzKHBhdHRlcm5zKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmlmIChGaWxlRW51bWVyYXRvcikge1xuICBsaXN0RmlsZXNUb1Byb2Nlc3MgPSBmdW5jdGlvbiAoc3JjLCBleHRlbnNpb25zKSB7XG4gICAgY29uc3QgZSA9IG5ldyBGaWxlRW51bWVyYXRvcih7XG4gICAgICBleHRlbnNpb25zLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20oZS5pdGVyYXRlRmlsZXMoc3JjKSwgKHsgZmlsZVBhdGgsIGlnbm9yZWQgfSkgPT4gKHtcbiAgICAgIGlnbm9yZWQsXG4gICAgICBmaWxlbmFtZTogZmlsZVBhdGgsXG4gICAgfSkpO1xuICB9O1xufVxuXG5jb25zdCBFWFBPUlRfREVGQVVMVF9ERUNMQVJBVElPTiA9ICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nO1xuY29uc3QgRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OID0gJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nO1xuY29uc3QgRVhQT1JUX0FMTF9ERUNMQVJBVElPTiA9ICdFeHBvcnRBbGxEZWNsYXJhdGlvbic7XG5jb25zdCBJTVBPUlRfREVDTEFSQVRJT04gPSAnSW1wb3J0RGVjbGFyYXRpb24nO1xuY29uc3QgSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIgPSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJztcbmNvbnN0IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiA9ICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJztcbmNvbnN0IFZBUklBQkxFX0RFQ0xBUkFUSU9OID0gJ1ZhcmlhYmxlRGVjbGFyYXRpb24nO1xuY29uc3QgRlVOQ1RJT05fREVDTEFSQVRJT04gPSAnRnVuY3Rpb25EZWNsYXJhdGlvbic7XG5jb25zdCBDTEFTU19ERUNMQVJBVElPTiA9ICdDbGFzc0RlY2xhcmF0aW9uJztcbmNvbnN0IElERU5USUZJRVIgPSAnSWRlbnRpZmllcic7XG5jb25zdCBPQkpFQ1RfUEFUVEVSTiA9ICdPYmplY3RQYXR0ZXJuJztcbmNvbnN0IEFSUkFZX1BBVFRFUk4gPSAnQXJyYXlQYXR0ZXJuJztcbmNvbnN0IFRTX0lOVEVSRkFDRV9ERUNMQVJBVElPTiA9ICdUU0ludGVyZmFjZURlY2xhcmF0aW9uJztcbmNvbnN0IFRTX1RZUEVfQUxJQVNfREVDTEFSQVRJT04gPSAnVFNUeXBlQWxpYXNEZWNsYXJhdGlvbic7XG5jb25zdCBUU19FTlVNX0RFQ0xBUkFUSU9OID0gJ1RTRW51bURlY2xhcmF0aW9uJztcbmNvbnN0IERFRkFVTFQgPSAnZGVmYXVsdCc7XG5cbmZ1bmN0aW9uIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIGNiKSB7XG4gIGlmIChkZWNsYXJhdGlvbikge1xuICAgIGlmIChcbiAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IEZVTkNUSU9OX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBDTEFTU19ERUNMQVJBVElPTlxuICAgICAgfHwgZGVjbGFyYXRpb24udHlwZSA9PT0gVFNfSU5URVJGQUNFX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBUU19UWVBFX0FMSUFTX0RFQ0xBUkFUSU9OXG4gICAgICB8fCBkZWNsYXJhdGlvbi50eXBlID09PSBUU19FTlVNX0RFQ0xBUkFUSU9OXG4gICAgKSB7XG4gICAgICBjYihkZWNsYXJhdGlvbi5pZC5uYW1lKTtcbiAgICB9IGVsc2UgaWYgKGRlY2xhcmF0aW9uLnR5cGUgPT09IFZBUklBQkxFX0RFQ0xBUkFUSU9OKSB7XG4gICAgICBkZWNsYXJhdGlvbi5kZWNsYXJhdGlvbnMuZm9yRWFjaCgoeyBpZCB9KSA9PiB7XG4gICAgICAgIGlmIChpZC50eXBlID09PSBPQkpFQ1RfUEFUVEVSTikge1xuICAgICAgICAgIHJlY3Vyc2l2ZVBhdHRlcm5DYXB0dXJlKGlkLCAocGF0dGVybikgPT4ge1xuICAgICAgICAgICAgaWYgKHBhdHRlcm4udHlwZSA9PT0gSURFTlRJRklFUikge1xuICAgICAgICAgICAgICBjYihwYXR0ZXJuLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGlkLnR5cGUgPT09IEFSUkFZX1BBVFRFUk4pIHtcbiAgICAgICAgICBpZC5lbGVtZW50cy5mb3JFYWNoKCh7IG5hbWUgfSkgPT4ge1xuICAgICAgICAgICAgY2IobmFtZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2IoaWQubmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIExpc3Qgb2YgaW1wb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYSBTZXQgb2YgaWRlbnRpZmllcnMuIFRoZSB1cHBlci1sZXZlbCBNYXBcbiAqIGtleXMgYXJlIHRoZSBwYXRocyB0byB0aGUgbW9kdWxlcyBjb250YWluaW5nIHRoZSBpbXBvcnRzLCB3aGlsZSB0aGVcbiAqIGxvd2VyLWxldmVsIE1hcCBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIGZpbGVzIHdoaWNoIGFyZSBiZWluZyBpbXBvcnRlZFxuICogZnJvbS4gTGFzdGx5LCB0aGUgU2V0IG9mIGlkZW50aWZpZXJzIGNvbnRhaW5zIGVpdGhlciBuYW1lcyBiZWluZyBpbXBvcnRlZFxuICogb3IgYSBzcGVjaWFsIEFTVCBub2RlIG5hbWUgbGlzdGVkIGFib3ZlIChlLmcgSW1wb3J0RGVmYXVsdFNwZWNpZmllcikuXG4gKlxuICogRm9yIGV4YW1wbGUsIGlmIHdlIGhhdmUgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nOlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Zvby5qcycgPT4gTWFwIHsgJ2Jhci5qcycgPT4gU2V0IHsgJ28yJyB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj4+fVxuICovXG5jb25zdCBpbXBvcnRMaXN0ID0gbmV3IE1hcCgpO1xuXG4vKipcbiAqIExpc3Qgb2YgZXhwb3J0cyBwZXIgZmlsZS5cbiAqXG4gKiBSZXByZXNlbnRlZCBieSBhIHR3by1sZXZlbCBNYXAgdG8gYW4gb2JqZWN0IG9mIG1ldGFkYXRhLiBUaGUgdXBwZXItbGV2ZWwgTWFwXG4gKiBrZXlzIGFyZSB0aGUgcGF0aHMgdG8gdGhlIG1vZHVsZXMgY29udGFpbmluZyB0aGUgZXhwb3J0cywgd2hpbGUgdGhlXG4gKiBsb3dlci1sZXZlbCBNYXAga2V5cyBhcmUgdGhlIHNwZWNpZmljIGlkZW50aWZpZXJzIG9yIHNwZWNpYWwgQVNUIG5vZGUgbmFtZXNcbiAqIGJlaW5nIGV4cG9ydGVkLiBUaGUgbGVhZi1sZXZlbCBtZXRhZGF0YSBvYmplY3QgYXQgdGhlIG1vbWVudCBvbmx5IGNvbnRhaW5zIGFcbiAqIGB3aGVyZVVzZWRgIHByb3BlcnR5LCB3aGljaCBjb250YWlucyBhIFNldCBvZiBwYXRocyB0byBtb2R1bGVzIHRoYXQgaW1wb3J0XG4gKiB0aGUgbmFtZS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgaWYgd2UgaGF2ZSBhIGZpbGUgbmFtZWQgYmFyLmpzIGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBleHBvcnRzOlxuICpcbiAqICAgY29uc3QgbzIgPSAnYmFyJztcbiAqICAgZXhwb3J0IHsgbzIgfTtcbiAqXG4gKiBBbmQgYSBmaWxlIG5hbWVkIGZvby5qcyBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgaW1wb3J0OlxuICpcbiAqICAgaW1wb3J0IHsgbzIgfSBmcm9tICcuL2Jhci5qcyc7XG4gKlxuICogVGhlbiB3ZSB3aWxsIGhhdmUgYSBzdHJ1Y3R1cmUgdGhhdCBsb29rcyBsaWtlOlxuICpcbiAqICAgTWFwIHsgJ2Jhci5qcycgPT4gTWFwIHsgJ28yJyA9PiB7IHdoZXJlVXNlZDogU2V0IHsgJ2Zvby5qcycgfSB9IH0gfVxuICpcbiAqIEB0eXBlIHtNYXA8c3RyaW5nLCBNYXA8c3RyaW5nLCBvYmplY3Q+Pn1cbiAqL1xuY29uc3QgZXhwb3J0TGlzdCA9IG5ldyBNYXAoKTtcblxuY29uc3QgdmlzaXRvcktleU1hcCA9IG5ldyBNYXAoKTtcblxuY29uc3QgaWdub3JlZEZpbGVzID0gbmV3IFNldCgpO1xuY29uc3QgZmlsZXNPdXRzaWRlU3JjID0gbmV3IFNldCgpO1xuXG5jb25zdCBpc05vZGVNb2R1bGUgPSAocGF0aCkgPT4gKC9cXC8obm9kZV9tb2R1bGVzKVxcLy8pLnRlc3QocGF0aCk7XG5cbi8qKlxuICogcmVhZCBhbGwgZmlsZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm5zIGluIHNyYyBhbmQgaWdub3JlRXhwb3J0c1xuICpcbiAqIHJldHVybiBhbGwgZmlsZXMgbWF0Y2hpbmcgc3JjIHBhdHRlcm4sIHdoaWNoIGFyZSBub3QgbWF0Y2hpbmcgdGhlIGlnbm9yZUV4cG9ydHMgcGF0dGVyblxuICovXG5jb25zdCByZXNvbHZlRmlsZXMgPSAoc3JjLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KSA9PiB7XG4gIGNvbnN0IGV4dGVuc2lvbnMgPSBBcnJheS5mcm9tKGdldEZpbGVFeHRlbnNpb25zKGNvbnRleHQuc2V0dGluZ3MpKTtcblxuICBjb25zdCBzcmNGaWxlTGlzdCA9IGxpc3RGaWxlc1RvUHJvY2VzcyhzcmMsIGV4dGVuc2lvbnMpO1xuXG4gIC8vIHByZXBhcmUgbGlzdCBvZiBpZ25vcmVkIGZpbGVzXG4gIGNvbnN0IGlnbm9yZWRGaWxlc0xpc3QgPSBsaXN0RmlsZXNUb1Byb2Nlc3MoaWdub3JlRXhwb3J0cywgZXh0ZW5zaW9ucyk7XG4gIGlnbm9yZWRGaWxlc0xpc3QuZm9yRWFjaCgoeyBmaWxlbmFtZSB9KSA9PiBpZ25vcmVkRmlsZXMuYWRkKGZpbGVuYW1lKSk7XG5cbiAgLy8gcHJlcGFyZSBsaXN0IG9mIHNvdXJjZSBmaWxlcywgZG9uJ3QgY29uc2lkZXIgZmlsZXMgZnJvbSBub2RlX21vZHVsZXNcblxuICByZXR1cm4gbmV3IFNldChcbiAgICBmbGF0TWFwKHNyY0ZpbGVMaXN0LCAoeyBmaWxlbmFtZSB9KSA9PiBpc05vZGVNb2R1bGUoZmlsZW5hbWUpID8gW10gOiBmaWxlbmFtZSksXG4gICk7XG59O1xuXG4vKipcbiAqIHBhcnNlIGFsbCBzb3VyY2UgZmlsZXMgYW5kIGJ1aWxkIHVwIDIgbWFwcyBjb250YWluaW5nIHRoZSBleGlzdGluZyBpbXBvcnRzIGFuZCBleHBvcnRzXG4gKi9cbmNvbnN0IHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyA9IChzcmNGaWxlcywgY29udGV4dCkgPT4ge1xuICBjb25zdCBleHBvcnRBbGwgPSBuZXcgTWFwKCk7XG4gIHNyY0ZpbGVzLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICBjb25zdCBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IGltcG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgY3VycmVudEV4cG9ydHMgPSBFeHBvcnRzLmdldChmaWxlLCBjb250ZXh0KTtcbiAgICBpZiAoY3VycmVudEV4cG9ydHMpIHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICByZWV4cG9ydHMsXG4gICAgICAgIGltcG9ydHM6IGxvY2FsSW1wb3J0TGlzdCxcbiAgICAgICAgbmFtZXNwYWNlLFxuICAgICAgICB2aXNpdG9yS2V5cyxcbiAgICAgIH0gPSBjdXJyZW50RXhwb3J0cztcblxuICAgICAgdmlzaXRvcktleU1hcC5zZXQoZmlsZSwgdmlzaXRvcktleXMpO1xuICAgICAgLy8gZGVwZW5kZW5jaWVzID09PSBleHBvcnQgKiBmcm9tXG4gICAgICBjb25zdCBjdXJyZW50RXhwb3J0QWxsID0gbmV3IFNldCgpO1xuICAgICAgZGVwZW5kZW5jaWVzLmZvckVhY2goKGdldERlcGVuZGVuY3kpID0+IHtcbiAgICAgICAgY29uc3QgZGVwZW5kZW5jeSA9IGdldERlcGVuZGVuY3koKTtcbiAgICAgICAgaWYgKGRlcGVuZGVuY3kgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RXhwb3J0QWxsLmFkZChkZXBlbmRlbmN5LnBhdGgpO1xuICAgICAgfSk7XG4gICAgICBleHBvcnRBbGwuc2V0KGZpbGUsIGN1cnJlbnRFeHBvcnRBbGwpO1xuXG4gICAgICByZWV4cG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSLCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGV4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZWV4cG9ydCA9ICB2YWx1ZS5nZXRJbXBvcnQoKTtcbiAgICAgICAgaWYgKCFyZWV4cG9ydCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgbG9jYWxJbXBvcnQgPSBpbXBvcnRzLmdldChyZWV4cG9ydC5wYXRoKTtcbiAgICAgICAgbGV0IGN1cnJlbnRWYWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlLmxvY2FsID09PSBERUZBVUxUKSB7XG4gICAgICAgICAgY3VycmVudFZhbHVlID0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGN1cnJlbnRWYWx1ZSA9IHZhbHVlLmxvY2FsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgbG9jYWxJbXBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFsuLi5sb2NhbEltcG9ydCwgY3VycmVudFZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxJbXBvcnQgPSBuZXcgU2V0KFtjdXJyZW50VmFsdWVdKTtcbiAgICAgICAgfVxuICAgICAgICBpbXBvcnRzLnNldChyZWV4cG9ydC5wYXRoLCBsb2NhbEltcG9ydCk7XG4gICAgICB9KTtcblxuICAgICAgbG9jYWxJbXBvcnRMaXN0LmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGlzTm9kZU1vZHVsZShrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvY2FsSW1wb3J0ID0gaW1wb3J0cy5nZXQoa2V5KSB8fCBuZXcgU2V0KCk7XG4gICAgICAgIHZhbHVlLmRlY2xhcmF0aW9ucy5mb3JFYWNoKCh7IGltcG9ydGVkU3BlY2lmaWVycyB9KSA9PiB7XG4gICAgICAgICAgaW1wb3J0ZWRTcGVjaWZpZXJzLmZvckVhY2goKHNwZWNpZmllcikgPT4ge1xuICAgICAgICAgICAgbG9jYWxJbXBvcnQuYWRkKHNwZWNpZmllcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpbXBvcnRzLnNldChrZXksIGxvY2FsSW1wb3J0KTtcbiAgICAgIH0pO1xuICAgICAgaW1wb3J0TGlzdC5zZXQoZmlsZSwgaW1wb3J0cyk7XG5cbiAgICAgIC8vIGJ1aWxkIHVwIGV4cG9ydCBsaXN0IG9ubHksIGlmIGZpbGUgaXMgbm90IGlnbm9yZWRcbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG5hbWVzcGFjZS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09IERFRkFVTFQpIHtcbiAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIsIHsgd2hlcmVVc2VkOiBuZXcgU2V0KCkgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICBleHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICBleHBvcnRMaXN0LnNldChmaWxlLCBleHBvcnRzKTtcbiAgfSk7XG4gIGV4cG9ydEFsbC5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgdmFsdWUuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbCk7XG4gICAgICBpZiAoY3VycmVudEV4cG9ydHMpIHtcbiAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGN1cnJlbnRFeHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiB0cmF2ZXJzZSB0aHJvdWdoIGFsbCBpbXBvcnRzIGFuZCBhZGQgdGhlIHJlc3BlY3RpdmUgcGF0aCB0byB0aGUgd2hlcmVVc2VkLWxpc3RcbiAqIG9mIHRoZSBjb3JyZXNwb25kaW5nIGV4cG9ydFxuICovXG5jb25zdCBkZXRlcm1pbmVVc2FnZSA9ICgpID0+IHtcbiAgaW1wb3J0TGlzdC5mb3JFYWNoKChsaXN0VmFsdWUsIGxpc3RLZXkpID0+IHtcbiAgICBsaXN0VmFsdWUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgY29uc3QgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KGtleSk7XG4gICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goKGN1cnJlbnRJbXBvcnQpID0+IHtcbiAgICAgICAgICBsZXQgc3BlY2lmaWVyO1xuICAgICAgICAgIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUikge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVI7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW1wb3J0ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpIHtcbiAgICAgICAgICAgIHNwZWNpZmllciA9IElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3BlY2lmaWVyID0gY3VycmVudEltcG9ydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHR5cGVvZiBzcGVjaWZpZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChzcGVjaWZpZXIpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgd2hlcmVVc2VkIH0gPSBleHBvcnRTdGF0ZW1lbnQ7XG4gICAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQobGlzdEtleSk7XG4gICAgICAgICAgICAgIGV4cG9ydHMuc2V0KHNwZWNpZmllciwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRTcmMgPSAoc3JjKSA9PiB7XG4gIGlmIChzcmMpIHtcbiAgICByZXR1cm4gc3JjO1xuICB9XG4gIHJldHVybiBbcHJvY2Vzcy5jd2QoKV07XG59O1xuXG4vKipcbiAqIHByZXBhcmUgdGhlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgYW5kIGV4cG9ydHMgLSBzaG91bGQgb25seSBiZSBleGVjdXRlZCBvbmNlIGF0XG4gKiB0aGUgc3RhcnQgb2YgYSBuZXcgZXNsaW50IHJ1blxuICovXG5sZXQgc3JjRmlsZXM7XG5sZXQgbGFzdFByZXBhcmVLZXk7XG5jb25zdCBkb1ByZXBhcmF0aW9uID0gKHNyYywgaWdub3JlRXhwb3J0cywgY29udGV4dCkgPT4ge1xuICBjb25zdCBwcmVwYXJlS2V5ID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgIHNyYzogKHNyYyB8fCBbXSkuc29ydCgpLFxuICAgIGlnbm9yZUV4cG9ydHM6IChpZ25vcmVFeHBvcnRzIHx8IFtdKS5zb3J0KCksXG4gICAgZXh0ZW5zaW9uczogQXJyYXkuZnJvbShnZXRGaWxlRXh0ZW5zaW9ucyhjb250ZXh0LnNldHRpbmdzKSkuc29ydCgpLFxuICB9KTtcbiAgaWYgKHByZXBhcmVLZXkgPT09IGxhc3RQcmVwYXJlS2V5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaW1wb3J0TGlzdC5jbGVhcigpO1xuICBleHBvcnRMaXN0LmNsZWFyKCk7XG4gIGlnbm9yZWRGaWxlcy5jbGVhcigpO1xuICBmaWxlc091dHNpZGVTcmMuY2xlYXIoKTtcblxuICBzcmNGaWxlcyA9IHJlc29sdmVGaWxlcyhnZXRTcmMoc3JjKSwgaWdub3JlRXhwb3J0cywgY29udGV4dCk7XG4gIHByZXBhcmVJbXBvcnRzQW5kRXhwb3J0cyhzcmNGaWxlcywgY29udGV4dCk7XG4gIGRldGVybWluZVVzYWdlKCk7XG4gIGxhc3RQcmVwYXJlS2V5ID0gcHJlcGFyZUtleTtcbn07XG5cbmNvbnN0IG5ld05hbWVzcGFjZUltcG9ydEV4aXN0cyA9IChzcGVjaWZpZXJzKSA9PiBzcGVjaWZpZXJzLnNvbWUoKHsgdHlwZSB9KSA9PiB0eXBlID09PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUik7XG5cbmNvbnN0IG5ld0RlZmF1bHRJbXBvcnRFeGlzdHMgPSAoc3BlY2lmaWVycykgPT4gc3BlY2lmaWVycy5zb21lKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcblxuY29uc3QgZmlsZUlzSW5Qa2cgPSAoZmlsZSkgPT4ge1xuICBjb25zdCB7IHBhdGgsIHBrZyB9ID0gcmVhZFBrZ1VwKHsgY3dkOiBmaWxlIH0pO1xuICBjb25zdCBiYXNlUGF0aCA9IGRpcm5hbWUocGF0aCk7XG5cbiAgY29uc3QgY2hlY2tQa2dGaWVsZFN0cmluZyA9IChwa2dGaWVsZCkgPT4ge1xuICAgIGlmIChqb2luKGJhc2VQYXRoLCBwa2dGaWVsZCkgPT09IGZpbGUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjaGVja1BrZ0ZpZWxkT2JqZWN0ID0gKHBrZ0ZpZWxkKSA9PiB7XG4gICAgY29uc3QgcGtnRmllbGRGaWxlcyA9IGZsYXRNYXAodmFsdWVzKHBrZ0ZpZWxkKSwgKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyA/IFtdIDogam9pbihiYXNlUGF0aCwgdmFsdWUpKTtcblxuICAgIGlmIChpbmNsdWRlcyhwa2dGaWVsZEZpbGVzLCBmaWxlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGNoZWNrUGtnRmllbGQgPSAocGtnRmllbGQpID0+IHtcbiAgICBpZiAodHlwZW9mIHBrZ0ZpZWxkID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNoZWNrUGtnRmllbGRTdHJpbmcocGtnRmllbGQpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcGtnRmllbGQgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gY2hlY2tQa2dGaWVsZE9iamVjdChwa2dGaWVsZCk7XG4gICAgfVxuICB9O1xuXG4gIGlmIChwa2cucHJpdmF0ZSA9PT0gdHJ1ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChwa2cuYmluKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGQocGtnLmJpbikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwa2cuYnJvd3Nlcikge1xuICAgIGlmIChjaGVja1BrZ0ZpZWxkKHBrZy5icm93c2VyKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBrZy5tYWluKSB7XG4gICAgaWYgKGNoZWNrUGtnRmllbGRTdHJpbmcocGtnLm1haW4pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgbWV0YToge1xuICAgIHR5cGU6ICdzdWdnZXN0aW9uJyxcbiAgICBkb2NzOiB7XG4gICAgICBjYXRlZ29yeTogJ0hlbHBmdWwgd2FybmluZ3MnLFxuICAgICAgZGVzY3JpcHRpb246ICdGb3JiaWQgbW9kdWxlcyB3aXRob3V0IGV4cG9ydHMsIG9yIGV4cG9ydHMgd2l0aG91dCBtYXRjaGluZyBpbXBvcnQgaW4gYW5vdGhlciBtb2R1bGUuJyxcbiAgICAgIHVybDogZG9jc1VybCgnbm8tdW51c2VkLW1vZHVsZXMnKSxcbiAgICB9LFxuICAgIHNjaGVtYTogW3tcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgc3JjOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdmaWxlcy9wYXRocyB0byBiZSBhbmFseXplZCAob25seSBmb3IgdW51c2VkIGV4cG9ydHMpJyxcbiAgICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICAgIHVuaXF1ZUl0ZW1zOiB0cnVlLFxuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIG1pbkxlbmd0aDogMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBpZ25vcmVFeHBvcnRzOiB7XG4gICAgICAgICAgZGVzY3JpcHRpb246ICdmaWxlcy9wYXRocyBmb3Igd2hpY2ggdW51c2VkIGV4cG9ydHMgd2lsbCBub3QgYmUgcmVwb3J0ZWQgKGUuZyBtb2R1bGUgZW50cnkgcG9pbnRzKScsXG4gICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICB1bmlxdWVJdGVtczogdHJ1ZSxcbiAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBtaW5MZW5ndGg6IDEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbWlzc2luZ0V4cG9ydHM6IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ3JlcG9ydCBtb2R1bGVzIHdpdGhvdXQgYW55IGV4cG9ydHMnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgICAgdW51c2VkRXhwb3J0czoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiAncmVwb3J0IGV4cG9ydHMgd2l0aG91dCBhbnkgdXNhZ2UnLFxuICAgICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBhbnlPZjogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgdW51c2VkRXhwb3J0czogeyBlbnVtOiBbdHJ1ZV0gfSxcbiAgICAgICAgICAgIHNyYzoge1xuICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXF1aXJlZDogWyd1bnVzZWRFeHBvcnRzJ10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICBtaXNzaW5nRXhwb3J0czogeyBlbnVtOiBbdHJ1ZV0gfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcXVpcmVkOiBbJ21pc3NpbmdFeHBvcnRzJ10sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1dLFxuICB9LFxuXG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qge1xuICAgICAgc3JjLFxuICAgICAgaWdub3JlRXhwb3J0cyA9IFtdLFxuICAgICAgbWlzc2luZ0V4cG9ydHMsXG4gICAgICB1bnVzZWRFeHBvcnRzLFxuICAgIH0gPSBjb250ZXh0Lm9wdGlvbnNbMF0gfHwge307XG5cbiAgICBpZiAodW51c2VkRXhwb3J0cykge1xuICAgICAgZG9QcmVwYXJhdGlvbihzcmMsIGlnbm9yZUV4cG9ydHMsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBjb250ZXh0LmdldFBoeXNpY2FsRmlsZW5hbWUgPyBjb250ZXh0LmdldFBoeXNpY2FsRmlsZW5hbWUoKSA6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcblxuICAgIGNvbnN0IGNoZWNrRXhwb3J0UHJlc2VuY2UgPSAobm9kZSkgPT4ge1xuICAgICAgaWYgKCFtaXNzaW5nRXhwb3J0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZXhwb3J0Q291bnQgPSBleHBvcnRMaXN0LmdldChmaWxlKTtcbiAgICAgIGNvbnN0IGV4cG9ydEFsbCA9IGV4cG9ydENvdW50LmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgIGNvbnN0IG5hbWVzcGFjZUltcG9ydHMgPSBleHBvcnRDb3VudC5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuXG4gICAgICBleHBvcnRDb3VudC5kZWxldGUoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBleHBvcnRDb3VudC5kZWxldGUoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuICAgICAgaWYgKGV4cG9ydENvdW50LnNpemUgPCAxKSB7XG4gICAgICAgIC8vIG5vZGUuYm9keVswXSA9PT0gJ3VuZGVmaW5lZCcgb25seSBoYXBwZW5zLCBpZiBldmVyeXRoaW5nIGlzIGNvbW1lbnRlZCBvdXQgaW4gdGhlIGZpbGVcbiAgICAgICAgLy8gYmVpbmcgbGludGVkXG4gICAgICAgIGNvbnRleHQucmVwb3J0KG5vZGUuYm9keVswXSA/IG5vZGUuYm9keVswXSA6IG5vZGUsICdObyBleHBvcnRzIGZvdW5kJyk7XG4gICAgICB9XG4gICAgICBleHBvcnRDb3VudC5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgZXhwb3J0QWxsKTtcbiAgICAgIGV4cG9ydENvdW50LnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cyk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNoZWNrVXNhZ2UgPSAobm9kZSwgZXhwb3J0ZWRWYWx1ZSkgPT4ge1xuICAgICAgaWYgKCF1bnVzZWRFeHBvcnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGlnbm9yZWRGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZUlzSW5Qa2coZmlsZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZXNPdXRzaWRlU3JjLmhhcyhmaWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIG1ha2Ugc3VyZSBmaWxlIHRvIGJlIGxpbnRlZCBpcyBpbmNsdWRlZCBpbiBzb3VyY2UgZmlsZXNcbiAgICAgIGlmICghc3JjRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHNyY0ZpbGVzID0gcmVzb2x2ZUZpbGVzKGdldFNyYyhzcmMpLCBpZ25vcmVFeHBvcnRzLCBjb250ZXh0KTtcbiAgICAgICAgaWYgKCFzcmNGaWxlcy5oYXMoZmlsZSkpIHtcbiAgICAgICAgICBmaWxlc091dHNpZGVTcmMuYWRkKGZpbGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQoZmlsZSk7XG5cbiAgICAgIC8vIHNwZWNpYWwgY2FzZTogZXhwb3J0ICogZnJvbVxuICAgICAgY29uc3QgZXhwb3J0QWxsID0gZXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICBpZiAodHlwZW9mIGV4cG9ydEFsbCAhPT0gJ3VuZGVmaW5lZCcgJiYgZXhwb3J0ZWRWYWx1ZSAhPT0gSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKSB7XG4gICAgICAgIGlmIChleHBvcnRBbGwud2hlcmVVc2VkLnNpemUgPiAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIHNwZWNpYWwgY2FzZTogbmFtZXNwYWNlIGltcG9ydFxuICAgICAgY29uc3QgbmFtZXNwYWNlSW1wb3J0cyA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgIGlmICh0eXBlb2YgbmFtZXNwYWNlSW1wb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaWYgKG5hbWVzcGFjZUltcG9ydHMud2hlcmVVc2VkLnNpemUgPiAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIGV4cG9ydHNMaXN0IHdpbGwgYWx3YXlzIG1hcCBhbnkgaW1wb3J0ZWQgdmFsdWUgb2YgJ2RlZmF1bHQnIHRvICdJbXBvcnREZWZhdWx0U3BlY2lmaWVyJ1xuICAgICAgY29uc3QgZXhwb3J0c0tleSA9IGV4cG9ydGVkVmFsdWUgPT09IERFRkFVTFQgPyBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgOiBleHBvcnRlZFZhbHVlO1xuXG4gICAgICBjb25zdCBleHBvcnRTdGF0ZW1lbnQgPSBleHBvcnRzLmdldChleHBvcnRzS2V5KTtcblxuICAgICAgY29uc3QgdmFsdWUgPSBleHBvcnRzS2V5ID09PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgPyBERUZBVUxUIDogZXhwb3J0c0tleTtcblxuICAgICAgaWYgKHR5cGVvZiBleHBvcnRTdGF0ZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlmIChleHBvcnRTdGF0ZW1lbnQud2hlcmVVc2VkLnNpemUgPCAxKSB7XG4gICAgICAgICAgY29udGV4dC5yZXBvcnQoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgYGV4cG9ydGVkIGRlY2xhcmF0aW9uICcke3ZhbHVlfScgbm90IHVzZWQgd2l0aGluIG90aGVyIG1vZHVsZXNgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBvbmx5IHVzZWZ1bCBmb3IgdG9vbHMgbGlrZSB2c2NvZGUtZXNsaW50XG4gICAgICpcbiAgICAgKiB1cGRhdGUgbGlzdHMgb2YgZXhpc3RpbmcgZXhwb3J0cyBkdXJpbmcgcnVudGltZVxuICAgICAqL1xuICAgIGNvbnN0IHVwZGF0ZUV4cG9ydFVzYWdlID0gKG5vZGUpID0+IHtcbiAgICAgIGlmIChpZ25vcmVkRmlsZXMuaGFzKGZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldChmaWxlKTtcblxuICAgICAgLy8gbmV3IG1vZHVsZSBoYXMgYmVlbiBjcmVhdGVkIGR1cmluZyBydW50aW1lXG4gICAgICAvLyBpbmNsdWRlIGl0IGluIGZ1cnRoZXIgcHJvY2Vzc2luZ1xuICAgICAgaWYgKHR5cGVvZiBleHBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdFeHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgY29uc3QgbmV3RXhwb3J0SWRlbnRpZmllcnMgPSBuZXcgU2V0KCk7XG5cbiAgICAgIG5vZGUuYm9keS5mb3JFYWNoKCh7IHR5cGUsIGRlY2xhcmF0aW9uLCBzcGVjaWZpZXJzIH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGUgPT09IEVYUE9SVF9ERUZBVUxUX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgbmV3RXhwb3J0SWRlbnRpZmllcnMuYWRkKElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGUgPT09IEVYUE9SVF9OQU1FRF9ERUNMQVJBVElPTikge1xuICAgICAgICAgIGlmIChzcGVjaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHNwZWNpZmllcnMuZm9yRWFjaCgoc3BlY2lmaWVyKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXIuZXhwb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQoc3BlY2lmaWVyLmV4cG9ydGVkLm5hbWUgfHwgc3BlY2lmaWVyLmV4cG9ydGVkLnZhbHVlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZvckVhY2hEZWNsYXJhdGlvbklkZW50aWZpZXIoZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgICBuZXdFeHBvcnRJZGVudGlmaWVycy5hZGQobmFtZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBvbGQgZXhwb3J0cyBleGlzdCB3aXRoaW4gbGlzdCBvZiBuZXcgZXhwb3J0cyBpZGVudGlmaWVyczogYWRkIHRvIG1hcCBvZiBuZXcgZXhwb3J0c1xuICAgICAgZXhwb3J0cy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgIGlmIChuZXdFeHBvcnRJZGVudGlmaWVycy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gbmV3IGV4cG9ydCBpZGVudGlmaWVycyBhZGRlZDogYWRkIHRvIG1hcCBvZiBuZXcgZXhwb3J0c1xuICAgICAgbmV3RXhwb3J0SWRlbnRpZmllcnMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmICghZXhwb3J0cy5oYXMoa2V5KSkge1xuICAgICAgICAgIG5ld0V4cG9ydHMuc2V0KGtleSwgeyB3aGVyZVVzZWQ6IG5ldyBTZXQoKSB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIHByZXNlcnZlIGluZm9ybWF0aW9uIGFib3V0IG5hbWVzcGFjZSBpbXBvcnRzXG4gICAgICBjb25zdCBleHBvcnRBbGwgPSBleHBvcnRzLmdldChFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcbiAgICAgIGxldCBuYW1lc3BhY2VJbXBvcnRzID0gZXhwb3J0cy5nZXQoSU1QT1JUX05BTUVTUEFDRV9TUEVDSUZJRVIpO1xuXG4gICAgICBpZiAodHlwZW9mIG5hbWVzcGFjZUltcG9ydHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG5hbWVzcGFjZUltcG9ydHMgPSB7IHdoZXJlVXNlZDogbmV3IFNldCgpIH07XG4gICAgICB9XG5cbiAgICAgIG5ld0V4cG9ydHMuc2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04sIGV4cG9ydEFsbCk7XG4gICAgICBuZXdFeHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgbmFtZXNwYWNlSW1wb3J0cyk7XG4gICAgICBleHBvcnRMaXN0LnNldChmaWxlLCBuZXdFeHBvcnRzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogb25seSB1c2VmdWwgZm9yIHRvb2xzIGxpa2UgdnNjb2RlLWVzbGludFxuICAgICAqXG4gICAgICogdXBkYXRlIGxpc3RzIG9mIGV4aXN0aW5nIGltcG9ydHMgZHVyaW5nIHJ1bnRpbWVcbiAgICAgKi9cbiAgICBjb25zdCB1cGRhdGVJbXBvcnRVc2FnZSA9IChub2RlKSA9PiB7XG4gICAgICBpZiAoIXVudXNlZEV4cG9ydHMpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgb2xkSW1wb3J0UGF0aHMgPSBpbXBvcnRMaXN0LmdldChmaWxlKTtcbiAgICAgIGlmICh0eXBlb2Ygb2xkSW1wb3J0UGF0aHMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIG9sZEltcG9ydFBhdGhzID0gbmV3IE1hcCgpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvbGROYW1lc3BhY2VJbXBvcnRzID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbmV3TmFtZXNwYWNlSW1wb3J0cyA9IG5ldyBTZXQoKTtcblxuICAgICAgY29uc3Qgb2xkRXhwb3J0QWxsID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbmV3RXhwb3J0QWxsID0gbmV3IFNldCgpO1xuXG4gICAgICBjb25zdCBvbGREZWZhdWx0SW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IG5ld0RlZmF1bHRJbXBvcnRzID0gbmV3IFNldCgpO1xuXG4gICAgICBjb25zdCBvbGRJbXBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgY29uc3QgbmV3SW1wb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgIG9sZEltcG9ydFBhdGhzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmhhcyhFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKSkge1xuICAgICAgICAgIG9sZEV4cG9ydEFsbC5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUuaGFzKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKSkge1xuICAgICAgICAgIG9sZE5hbWVzcGFjZUltcG9ydHMuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmhhcyhJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpKSB7XG4gICAgICAgICAgb2xkRGVmYXVsdEltcG9ydHMuYWRkKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWUuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdmFsICE9PSBJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUlxuICAgICAgICAgICAgJiYgdmFsICE9PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG9sZEltcG9ydHMuc2V0KHZhbCwga2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICAgIGZ1bmN0aW9uIHByb2Nlc3NEeW5hbWljSW1wb3J0KHNvdXJjZSkge1xuICAgICAgICBpZiAoc291cmNlLnR5cGUgIT09ICdMaXRlcmFsJykge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHAgPSByZXNvbHZlKHNvdXJjZS52YWx1ZSwgY29udGV4dCk7XG4gICAgICAgIGlmIChwID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmFkZChwKTtcbiAgICAgIH1cblxuICAgICAgdmlzaXQobm9kZSwgdmlzaXRvcktleU1hcC5nZXQoZmlsZSksIHtcbiAgICAgICAgSW1wb3J0RXhwcmVzc2lvbihjaGlsZCkge1xuICAgICAgICAgIHByb2Nlc3NEeW5hbWljSW1wb3J0KGNoaWxkLnNvdXJjZSk7XG4gICAgICAgIH0sXG4gICAgICAgIENhbGxFeHByZXNzaW9uKGNoaWxkKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLmNhbGxlZS50eXBlID09PSAnSW1wb3J0Jykge1xuICAgICAgICAgICAgcHJvY2Vzc0R5bmFtaWNJbXBvcnQoY2hpbGQuYXJndW1lbnRzWzBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgbm9kZS5ib2R5LmZvckVhY2goKGFzdE5vZGUpID0+IHtcbiAgICAgICAgbGV0IHJlc29sdmVkUGF0aDtcblxuICAgICAgICAvLyBzdXBwb3J0IGZvciBleHBvcnQgeyB2YWx1ZSB9IGZyb20gJ21vZHVsZSdcbiAgICAgICAgaWYgKGFzdE5vZGUudHlwZSA9PT0gRVhQT1JUX05BTUVEX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgaWYgKGFzdE5vZGUuc291cmNlKSB7XG4gICAgICAgICAgICByZXNvbHZlZFBhdGggPSByZXNvbHZlKGFzdE5vZGUuc291cmNlLnJhdy5yZXBsYWNlKC8oJ3xcIikvZywgJycpLCBjb250ZXh0KTtcbiAgICAgICAgICAgIGFzdE5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKChzcGVjaWZpZXIpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHNwZWNpZmllci5sb2NhbC5uYW1lIHx8IHNwZWNpZmllci5sb2NhbC52YWx1ZTtcbiAgICAgICAgICAgICAgaWYgKG5hbWUgPT09IERFRkFVTFQpIHtcbiAgICAgICAgICAgICAgICBuZXdEZWZhdWx0SW1wb3J0cy5hZGQocmVzb2x2ZWRQYXRoKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdJbXBvcnRzLnNldChuYW1lLCByZXNvbHZlZFBhdGgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXN0Tm9kZS50eXBlID09PSBFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dCk7XG4gICAgICAgICAgbmV3RXhwb3J0QWxsLmFkZChyZXNvbHZlZFBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFzdE5vZGUudHlwZSA9PT0gSU1QT1JUX0RFQ0xBUkFUSU9OKSB7XG4gICAgICAgICAgcmVzb2x2ZWRQYXRoID0gcmVzb2x2ZShhc3ROb2RlLnNvdXJjZS5yYXcucmVwbGFjZSgvKCd8XCIpL2csICcnKSwgY29udGV4dCk7XG4gICAgICAgICAgaWYgKCFyZXNvbHZlZFBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNOb2RlTW9kdWxlKHJlc29sdmVkUGF0aCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobmV3TmFtZXNwYWNlSW1wb3J0RXhpc3RzKGFzdE5vZGUuc3BlY2lmaWVycykpIHtcbiAgICAgICAgICAgIG5ld05hbWVzcGFjZUltcG9ydHMuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5ld0RlZmF1bHRJbXBvcnRFeGlzdHMoYXN0Tm9kZS5zcGVjaWZpZXJzKSkge1xuICAgICAgICAgICAgbmV3RGVmYXVsdEltcG9ydHMuYWRkKHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYXN0Tm9kZS5zcGVjaWZpZXJzXG4gICAgICAgICAgICAuZmlsdGVyKChzcGVjaWZpZXIpID0+IHNwZWNpZmllci50eXBlICE9PSBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIgJiYgc3BlY2lmaWVyLnR5cGUgIT09IElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKVxuICAgICAgICAgICAgLmZvckVhY2goKHNwZWNpZmllcikgPT4ge1xuICAgICAgICAgICAgICBuZXdJbXBvcnRzLnNldChzcGVjaWZpZXIuaW1wb3J0ZWQubmFtZSB8fCBzcGVjaWZpZXIuaW1wb3J0ZWQudmFsdWUsIHJlc29sdmVkUGF0aCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld0V4cG9ydEFsbC5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW9sZEV4cG9ydEFsbC5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgICAgIG9sZEltcG9ydFBhdGhzLnNldCh2YWx1ZSwgaW1wb3J0cyk7XG5cbiAgICAgICAgICBsZXQgZXhwb3J0cyA9IGV4cG9ydExpc3QuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBsZXQgY3VycmVudEV4cG9ydDtcbiAgICAgICAgICBpZiAodHlwZW9mIGV4cG9ydHMgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0ID0gZXhwb3J0cy5nZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBleHBvcnRMaXN0LnNldCh2YWx1ZSwgZXhwb3J0cyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB3aGVyZVVzZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB3aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgICAgZXhwb3J0cy5zZXQoRVhQT1JUX0FMTF9ERUNMQVJBVElPTiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkRXhwb3J0QWxsLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbmV3RXhwb3J0QWxsLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBpbXBvcnRzID0gb2xkSW1wb3J0UGF0aHMuZ2V0KHZhbHVlKTtcbiAgICAgICAgICBpbXBvcnRzLmRlbGV0ZShFWFBPUlRfQUxMX0RFQ0xBUkFUSU9OKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KEVYUE9SVF9BTExfREVDTEFSQVRJT04pO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5kZWxldGUoZmlsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgbmV3RGVmYXVsdEltcG9ydHMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFvbGREZWZhdWx0SW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgICAgb2xkSW1wb3J0UGF0aHMuc2V0KHZhbHVlLCBpbXBvcnRzKTtcblxuICAgICAgICAgIGxldCBleHBvcnRzID0gZXhwb3J0TGlzdC5nZXQodmFsdWUpO1xuICAgICAgICAgIGxldCBjdXJyZW50RXhwb3J0O1xuICAgICAgICAgIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQgPSBleHBvcnRzLmdldChJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBvcnRzID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgZXhwb3J0TGlzdC5zZXQodmFsdWUsIGV4cG9ydHMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgd2hlcmVVc2VkID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgd2hlcmVVc2VkLmFkZChmaWxlKTtcbiAgICAgICAgICAgIGV4cG9ydHMuc2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkRGVmYXVsdEltcG9ydHMuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKCFuZXdEZWZhdWx0SW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoSU1QT1JUX0RFRkFVTFRfU1BFQ0lGSUVSKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9ERUZBVUxUX1NQRUNJRklFUik7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBuZXdOYW1lc3BhY2VJbXBvcnRzLmZvckVhY2goKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghb2xkTmFtZXNwYWNlSW1wb3J0cy5oYXModmFsdWUpKSB7XG4gICAgICAgICAgbGV0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGlmICh0eXBlb2YgaW1wb3J0cyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGltcG9ydHMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcG9ydHMuYWRkKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpO1xuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwb3J0cyA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIGV4cG9ydExpc3Quc2V0KHZhbHVlLCBleHBvcnRzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjdXJyZW50RXhwb3J0LndoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZXJlVXNlZCA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIHdoZXJlVXNlZC5hZGQoZmlsZSk7XG4gICAgICAgICAgICBleHBvcnRzLnNldChJTVBPUlRfTkFNRVNQQUNFX1NQRUNJRklFUiwgeyB3aGVyZVVzZWQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgb2xkTmFtZXNwYWNlSW1wb3J0cy5mb3JFYWNoKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAoIW5ld05hbWVzcGFjZUltcG9ydHMuaGFzKHZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGltcG9ydHMgPSBvbGRJbXBvcnRQYXRocy5nZXQodmFsdWUpO1xuICAgICAgICAgIGltcG9ydHMuZGVsZXRlKElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KElNUE9SVF9OQU1FU1BBQ0VfU1BFQ0lGSUVSKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3VycmVudEV4cG9ydCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuZGVsZXRlKGZpbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5ld0ltcG9ydHMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIW9sZEltcG9ydHMuaGFzKGtleSkpIHtcbiAgICAgICAgICBsZXQgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBpbXBvcnRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaW1wb3J0cyA9IG5ldyBTZXQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1wb3J0cy5hZGQoa2V5KTtcbiAgICAgICAgICBvbGRJbXBvcnRQYXRocy5zZXQodmFsdWUsIGltcG9ydHMpO1xuXG4gICAgICAgICAgbGV0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgbGV0IGN1cnJlbnRFeHBvcnQ7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KGtleSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cG9ydHMgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICBleHBvcnRMaXN0LnNldCh2YWx1ZSwgZXhwb3J0cyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50RXhwb3J0ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY3VycmVudEV4cG9ydC53aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB3aGVyZVVzZWQgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICB3aGVyZVVzZWQuYWRkKGZpbGUpO1xuICAgICAgICAgICAgZXhwb3J0cy5zZXQoa2V5LCB7IHdoZXJlVXNlZCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBvbGRJbXBvcnRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKCFuZXdJbXBvcnRzLmhhcyhrZXkpKSB7XG4gICAgICAgICAgY29uc3QgaW1wb3J0cyA9IG9sZEltcG9ydFBhdGhzLmdldCh2YWx1ZSk7XG4gICAgICAgICAgaW1wb3J0cy5kZWxldGUoa2V5KTtcblxuICAgICAgICAgIGNvbnN0IGV4cG9ydHMgPSBleHBvcnRMaXN0LmdldCh2YWx1ZSk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBleHBvcnRzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudEV4cG9ydCA9IGV4cG9ydHMuZ2V0KGtleSk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRFeHBvcnQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgIGN1cnJlbnRFeHBvcnQud2hlcmVVc2VkLmRlbGV0ZShmaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgJ1Byb2dyYW06ZXhpdCcobm9kZSkge1xuICAgICAgICB1cGRhdGVFeHBvcnRVc2FnZShub2RlKTtcbiAgICAgICAgdXBkYXRlSW1wb3J0VXNhZ2Uobm9kZSk7XG4gICAgICAgIGNoZWNrRXhwb3J0UHJlc2VuY2Uobm9kZSk7XG4gICAgICB9LFxuICAgICAgRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICAgICAgY2hlY2tVc2FnZShub2RlLCBJTVBPUlRfREVGQVVMVF9TUEVDSUZJRVIpO1xuICAgICAgfSxcbiAgICAgIEV4cG9ydE5hbWVkRGVjbGFyYXRpb24obm9kZSkge1xuICAgICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaCgoc3BlY2lmaWVyKSA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShzcGVjaWZpZXIsIHNwZWNpZmllci5leHBvcnRlZC5uYW1lIHx8IHNwZWNpZmllci5leHBvcnRlZC52YWx1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICBmb3JFYWNoRGVjbGFyYXRpb25JZGVudGlmaWVyKG5vZGUuZGVjbGFyYXRpb24sIChuYW1lKSA9PiB7XG4gICAgICAgICAgY2hlY2tVc2FnZShub2RlLCBuYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59O1xuIl19